ArgoCD

ArgoCD 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.

Tip

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.

Tip

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.yaml

Validation

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 validation.yaml

Role Templates

See the related role templates, listed below.

Tip

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.j2 for details.

Parameters

Helm chart values template used for configuration parameters, see config_params.j2 for details.

RBAC

Helm chart values template used for RBAC configuration, see config_rbac.j2 for details.

Credentials

Kubernetes Secret resource template containing the user credentials, see credentials.j2 for details.

Gateway

Kubernetes Gateway resource template, see gateway.j2 for details.

HTTP Route

Insecure Route

Kubernetes HTTPRoute resource template, see http_route_insecure.j2 for details.

Secure Route

Kubernetes HTTPRoute resource template, see http_route_secure.j2 for details.

Role Variables

Important

A role upgrade is required, in order to apply any changes related to role variables.

See the related role variables, defined into main.yaml defaults file. Review the README.md file, for additional details and refer to ArgoCD tutorial, for advanced configuration settings.

Tip

Use Renovate to automate release pull requests and keep dependencies up-to-date.

Support

If you encounter any role related problems or want to request a new feature, feel free to open an issue. For general questions or feedback, please use the discussions.