-
Epic
-
Resolution: Won't Do
-
Normal
-
None
-
None
-
None
-
R&D: Define a Repository CRD and controller which watches Repository CRs and configures the relevant pieces
-
False
-
False
-
To Do
-
0% To Do, 0% In Progress, 100% Done
-
Summary
Upstream Issue: https://github.com/argoproj/argo-cd/issues/5720
Configuring Argo CD can be an arduous process with a growing number of configuration knobs in large configmaps and secrets. Example https://argoproj.github.io/argo-cd/operator-manual/argocd-cm.yaml
This enhancement proposal aims to introduce a set of strongly typed APIs a.k.a CRDs to make configuration of repository credentials.
Proposal
Define a ArgoCDConfig CRD and controller which watches ArgoCDConfig CRs and configures relevant configmaps that captures the equivalent of https://argoproj.github.io/argo-cd/operator-manual/argocd-cm.yaml for areas which aren’t covered by other CRDs.
Goals
- Define an API that lets users create a repository configuration, which later gets translated to appropriate Argo CD configuration (e.g. a Secret)
- The API should support all settings that Argo CD repositories support currently
- The API should perform strict validation on all settings
- Credentials (Username, Password, Private Keys, ...) need to be handled securely, and are not to be embedded in the CR
- Define the reconciliation process
Use case
refer the upstream issue
Acceptance Criteria
Decouple declaration of repositories from the main configuration argocd-cm.yamlCreate an API equivalent to the GitRepositoryConfig CRD for reading `repository` and `repository.credentials`Controller watches for repository configuration in the GitRepositoryConfig CRs
- clones
-
GITOPS-1310 Define a Repository CRD and controller which watches Repository CRs and configures the relevant configmaps.
- Closed
- is related to
-
GITOPS-4768 Argo CD tenants to own repository credentials upstream proposal
- New