Argo CD

Definition

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. It automates the deployment of applications to Kubernetes clusters by tracking changes in a Git repository, ensuring that the live state of the application matches the desired state defined in the repository. Argo CD supports multi-cluster environments and provides features such as application rollback, health checks, and automated sync.

Secure Settings Example

apiVersion: v1
kind: ConfigMap
metadata:
  name: argocd-cm
  namespace: argocd
data:
  repositories: |
    - url: https://github.com/example/repo.git
      usernameSecret:
        name: repo-credentials
        key: username
      passwordSecret:
        name: repo-credentials
        key: password
  resource.customizations.health: |
    apps/v1/Deployment:
      health.lua: |
        hs = {}
        if obj.status.replicas == obj.status.readyReplicas then
          hs.status = "Healthy"
        else
          hs.status = "Progressing"
        end
        return hs

Insecure Settings Example

apiVersion: v1
kind: ConfigMap
metadata:
  name: argocd-cm
  namespace: argocd
data:
  repositories: |
    - url: https://github.com/example/repo.git
      username: admin
      password: admin123
  resource.customizations.health: |
    apps/v1/Deployment:
      health.lua: |
        hs = {}
        hs.status = "Healthy"
        return hs