ArgoCD declarative configuration¶
ArgoCD declarative configuration refers to the practice of defining ArgoCD projects and applications statically using YAML manifests, rather than creating them manually through the UI or CLI.^[400-devops-04-ci-cd-pipelines-devops-ci-github-action-argocd-app-config-readme.md]
Overview¶
In a declarative setup, the desired state of the ArgoCD resources (such as Applications and Projects) is version-controlled and applied to the cluster.^[400-devops-04-ci-cd-pipelines-devops-ci-github-action-argocd-app-config-readme.md] This approach treats ArgoCD configuration as code, enabling GitOps practices for the CD platform itself.
Key Components¶
The configuration involves creating specific Kubernetes resources within the ArgoCD namespace or target clusters:
- Applications: Define the desired state of an application, including the source repository, revision (branch, tag, or commit), and destination cluster and namespace.
- Projects: Function as logical boundaries to group applications, restricting deployment targets and source repositories.
Benefits¶
- Version Control: Configuration history is tracked in Git, allowing for easy rollbacks and audit trails.
- Automation: Infrastructure can be automatically provisioned via CI/CD pipelines or scripts.
- Reproducibility: Environments can be recreated consistently by re-applying the manifests.
Sources¶
^[400-devops-04-ci-cd-pipelines-devops-ci-github-action-argocd-app-config-readme.md]
Related¶
- ArgoCD
- GitOps
- Kubernetes
- [[Continuous Delivery]]