jenkinsci / configuration-as-code-plugin

Jenkins Configuration as Code Plugin
https://plugins.jenkins.io/configuration-as-code
MIT License
2.7k stars 722 forks source link

Make JCasC configuration source extensible #1365

Open oleg-nenashev opened 4 years ago

oleg-nenashev commented 4 years ago

Currently the JCasC plugin supports loading configurations only from the filesystem. At the same time, there are use-cases when it is more convenient to use alternate source. It would be great to make the configuration sources extensible and somehow configurable in Jenkins.

Examples of external sources:

This story is somewhat related to the Configuration Pluggable Storage. I would argue that implementation of that on the JCasC side is enough for immutable images, and that it might close the use-case for "cloud Native Jenkins".

timja commented 4 years ago

Isn't this: https://github.com/jenkinsci/configuration-as-code-plugin/issues/34

oleg-nenashev commented 4 years ago

Yes, it is #34. Missed it (likely due to the non-obvious name)

jetersen commented 4 years ago

I think we would be best served with having the Configuration source be extensible and that configuration-as-code exposes an extension and we would also provide said extension in a separate plugin. That could depend on the varies sources, depending on git plugin for instance.

jetersen commented 4 years ago

We could even move the existing configuration sources to an internal extension to keep compatibility