Git Polling classloader
Related Problem or Business Case
Getting your Frank!Configuration directly from git. No artifact, xml directly from git.
Describe the Feature
Can we create a class loader that listens to a change in a git repo to obtain a new config version.
repo --> webhook or polling
Collaboration with External Companies
No, community resolution only
In what scenario would this be used? It is generally speaking good practice to use immutable artifacts. Even though the configuration is versioned, this would suggest a workflow where F!F + configurations combination is not versioned. This only works when configurations can work completely isolated from other configurations and have no requirements/dependencies on F!F instance level settings/components.
It would also be nice to define revisions in the manage configurations page.
I image a form while adding the URL like this:
Repository: [ https:// | ssh:// ]
Revision: [ commit_sha, branch_name, tag ]
In the details page, it could be possible to switch to a next or previous version.
Filter: [ tag: v2.1.x ]
2.1.1 ( )
2.1.2 (*)
2.1.3 ( )
In production, someone could switch to the next tag as update.
I think this would also be a more secure way to approach this for @MLenterman.
The same could then also be configured with properties, as a declarative alternative, but that would require a restart.
The same could then also be configured with properties, but that would require a restart, which might defeat the purpose a bit.
The ability to change this runtime would be against the immutable principle of a Docker image.
With a proper high availability configuration set on your k8s deployment, there is basically no down-time when switching revisions in a config map, with respect to the immutable principle.