Make argocd-secret in kustomize work with sealed secrets
- Dominant language
- Go
- Stars
- 24.2k
- Forks
- 7.9k
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 239
Description
# Summary
Somehow allow users to use this repo's kustomize manifests as a remote build but also allow for other tools like sealed secrets to work with the secret `argocd-secret`.
# Motivation
We use `github.com/argoproj/argo-cd/manifests/cluster-install` as a remote base in kustomize. This creates https://github.com/argoproj/argo-cd/blob/master/manifests/base/config/argocd-secret.yaml which is blank. We then have this secret also get created by sealed secrets.
Right now we get around this by renaming the secret to something else and then sealed secrets will create it (we use phases and waves for this.) This causes there to always be a window of time where the secret does not exist.
# Proposal
We implemented this a while ago so it's possible there's a better way to solve this and no changes are needed on this end, but perhaps if we instead patch in an annotation or label for sealed secrets that allows it to take over the blank one and whenever the blank one is applied it acts as a merge this would no longer break?
Other alternative would be that `argocd-server` creates the `Secret` if it doesn't exist instead of just updating it if the values don't exist. This would mean the secret is entirely removed from the manifests.
Contributor guide
Research direction
Start by examining manifests/base/config/argocd-secret.yaml and the argocd-server behavior described in the issue. Reproduce the remote kustomize build with a sealed-secret-managed argocd-secret, then compare the proposed manifest and server-side approaches. Done means the blank secret no longer creates a deployment gap while remote kustomize consumers and sealed secrets continue to work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes
- Domain
- devops, infrastructure, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100