-
Notifications
You must be signed in to change notification settings - Fork 43
[feature] Folders support #262
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
So far I've tried adapting the |
|
Does it need a jelly config for the folder level? |
|
Yep - nice catch, it did indeed need a jelly.config for the FolderPluginConfiguration. It shows up in the folder config screen now |
|
Next step is to get a configuration test in. Testing the CasC pathway is usually easier than testing the Web config UI pathway. Might you happen to know how to do folders configuration via CasC? (I didn't see an example in the Vault plugin) |
|
maybe something like this ? |
|
Yep that worked. The There's a few questions to work out in the code for that as you can see in the diffs. |
|
There is also the consideration that this ends up embedding the Cloudbees Folders Plugin at a fairly fundamental level; I hope it could be made an optional dependency, but I'm not sure it can be. This might be a problem because there is also an enterprise version of the folders plugin (the code is proprietary), and the current approach wouldn't work with that. |
|
Okay, some ideas for working around the above problems... The idea is to create a new plugin which inherits from this one, which will offer a folder-scoped version of the Secrets Manager credentials provider (using the OSS cloudbees-folders-plugin). The dependency hierarchy would look like This ensures that:
Initially, this approach supports 2 use cases:
Additionally, with a little alteration, this approach would support what I'll call a strict multi-tenant mode, where there are no global credentials loaded from Secrets Manager. Instead, only folder-scoped credentials would be loaded. In this case, the dependency hierarchy would look like: If a Jenkins admin wanted only global credentials, they would install just the current plugin. I'll upload the plugin I've been working on to a separate repo soon. It's very experimental for the moment, but hopefully a starting point. |
|
Here it is... https://github.com/chriskilding/aws-secrets-manager-credentials-provider-folders-plugin Note that you'll need to use the |
Add support for folders.
This enables a couple of use cases including:
Implements #261
To do