Argo CD
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes, following the GitOps pattern of using Git repositories as the source of truth for defining the desired application state.
The argo-cd role performs various tasks related to Helm chart deployment, reset, and validation.
Role deployments are performed at global level, using the Provisioning playbook. Upgrades can be performed at role level — see the instructions detailed below.
Role Tasks
See the related role tasks listed below.
Facts
Ansible facts — see facts.yaml for details.
Main
Main role related tasks — see main.yaml for details.
Post-Install
Post-install related tasks — see postinstall.yaml for details.
Reset
Reset related tasks — see reset.yaml for details.
A reset is performed at global level only — review the Reset playbook instructions.
Upgrade
Upgrade related tasks — see upgrade.yaml for details. Run the following command to perform a role upgrade:
ansible-playbook --ask-vault-pass --tags=argo-cd upgrade.yamlValidation
Validation related tasks — see validation.yaml for details. Run the following command to perform all role related validation tasks:
ansible-playbook --ask-vault-pass --tags=argo-cd validation.yamlRole Templates
See the related role templates listed below.
Perform a role validation to visualize all rendered templates and variables.
Helm Chart
Helm chart values template — see values.j2 for details.
Configuration
- Map — Helm chart values template used for configuration map, see
config_cm.j2for details. - Parameters — Helm chart values template used for configuration parameters, see
config_params.j2for details. - RBAC — Helm chart values template used for RBAC configuration, see
config_rbac.j2for details.
Credentials
Kubernetes Secret resource template containing the user credentials — see credentials.j2 for details.
HTTP Route
- Insecure Route — Kubernetes
HTTPRouteresource template, seehttp_route_insecure.j2for details. - Secure Route — Kubernetes
HTTPRouteresource template, seehttp_route_secure.j2for details.
Role Variables
A role upgrade is required in order to apply any changes related to role variables.
See the related role variables, defined in the main.yaml defaults file. Review the README.md file for additional details, and refer to the Argo CD tutorial for advanced configuration settings.
Use Renovate to automate release pull requests and keep dependencies up-to-date.