jenkinsci / aws-secrets-manager-credentials-provider-plugin

AWS Secrets Manager Credentials Provider for Jenkins
https://plugins.jenkins.io/aws-secrets-manager-credentials-provider/
MIT License
64 stars 42 forks source link

Adds support for AWS Credentials #303

Open chris-h-phillips opened 7 months ago

chris-h-phillips commented 7 months ago

As suggested here: https://github.com/jenkinsci/aws-secrets-manager-credentials-provider-plugin/issues/237

Adds AwsAccessKeysCredentials which will allow other plugins that need to interact with AmazonWebServicesCredentials instances from the aws-credentials plugin e.g. the amazon-ecr plugin.

Testing done

Added AWSAccessKeysCredentialsIT which follows the testing patterns of the other credential types.

### Submitter checklist
- [x] Make sure you are opening from a **topic/feature/bugfix branch** (right side) and not your main branch!
- [x] Ensure that the pull request title represents the desired changelog entry
- [x] Please describe what you did
- [x] Link to relevant issues in GitHub or Jira
- [x] Link to relevant pull requests, esp. upstream and downstream changes
- [x] Ensure you have provided tests - that demonstrates feature works or fixes the issue
asaf-the-ancient commented 4 months ago

Guys, any update on this?

pavriet-boxtal commented 2 months ago

Would be nice to have that

chriskilding commented 2 months ago

Hi @chris-h-phillips, sorry for not getting round to this sooner.

I have (slowly) been trying to solve the problem of how to support vendor-proprietary credential types in the plugin, but without bringing them into the plugin core (where, effectively, they would have to be kept around forever - even if a vendor were to go out of business, or deprecate their proprietary credential type in favour of another - since there is no way to remove things without breaking changes).

To that end I have created #298, which allows the factory for each credential type to be queried and loaded dynamically with the Java ServiceLoader.

If you (or someone else interested in this PR) would be able to rework this PR using #298 as a base, that would be great!

chriskilding commented 2 months ago

(And once that's done, the next step would be to merge https://github.com/jenkinsci/aws-secrets-manager-credentials-provider-plugin/pull/298, and then create separate add-on plugins for each vendor-proprietary credential type - starting with this one.)

With this architecture people can add the respective vendor-proprietary add-on plugins that they need to their installations.