argocd-vault-plugin
argocd-vault-plugin copied to clipboard
Restructure manifests into Components for composability
Description
I am replacing PR #370 with this one because on further testing I realized that while Kustomize successfully built the resources, the patches were not actually applied. This strategy of using Kustomize Components actually works and produces the intended effect.
The changes included are described in the commit messages:
-
feat[manifests]: Allow BYO argocd
Restructuring the manifests to allow consumers of AVP to bring their own argocd base by using the kustomize components manifests under
manifests/components
.This allows consumers to integrate more easily with other CMPs or alternate versions of argo that the AVP maintainers haven't patched the manifests to include.
NB this requires use of kustomize > v3.7.0 when Components were introduced. For more information about components see the docs: https://kubectl.docs.kubernetes.io/guides/config_management/components/
-
feat[manifests]: Restore root manifest
PR #352 introduced the sidecar pattern, but also renamed the prior default manifest, which was available through a reference to https://github.com/argoproj-labs/argocd-vault-plugin//manifests
To get the same app, consumers would need to change any exsting references to https://github.com/argoproj-labs/argocd-vault-plugin//manifests/cmp-configmap
This commit introduces a simple proxy manifest that makes that change backwards compatible, meaning that now older references to https://github.com/argoproj-labs/argocd-vault-plugin//manifests will still resolve to the same app state as https://github.com/argoproj-labs/argocd-vault-plugin//manifests/cmp-configmap rather than just breaking.
-
docs: Add instructions for plugin components
Describe how to use the plugin-only component manifests for use with alternate versions of ArgoCD (e.g. HA, newer releases, etc.)
Fixes: #369
Checklist
Please make sure that your PR fulfills the following requirements:
- [x] Reviewed the guidelines for contributing to this repository
- [x] The commit message follows the Conventional Commits Guidelines.
- [ ] Tests for the changes have been updated
- [ ] Are you adding dependencies? If so, please run
go mod tidy -compat=1.17
to ensure only the minimum is pulled in. - [x] Docs have been added / updated
- [ ] Optional. My organization is added to USERS.md.
Type of Change
- [ ] Bugfix
- [x] Feature
- [ ] Code style update (formatting, local variables)
- [ ] Refactoring (no functional changes, no api changes)
- [ ] New tests
- [ ] Build/CI related changes
- [ ] Documentation content changes
- [ ] Other (please describe)
Other information
Closing #370 in favor of this PR
@jskrzypek Can you rebase your PR with main? Thanks!
@werne2j done