ArgoCD

Definition

ArgoCD is a declarative, GitOps continuous delivery tool for Kubernetes. It automates the deployment of desired application states defined in Git repositories, ensuring that the live state of applications in Kubernetes clusters matches the desired state. ArgoCD provides features such as automated syncing, health status monitoring, and rollback capabilities, enhancing the management of Kubernetes applications through version control.

Secure Settings Example

apiVersion: v1
kind: ConfigMap
metadata:
  name: argocd-cm
  namespace: argocd
data:
  # Enable RBAC for access control
  policy.default: role:readonly
  # Use TLS for secure communication
  url: https://argocd.example.com
  # Enable SSO for authentication
  dex.config: |
    connectors:
    - type: github
      id: github
      name: GitHub
      config:
        clientID: $GITHUB_CLIENT_ID
        clientSecret: $GITHUB_CLIENT_SECRET
        redirectURI: https://argocd.example.com/api/dex/callback

Insecure Settings Example

apiVersion: v1
kind: ConfigMap
metadata:
  name: argocd-cm
  namespace: argocd
data:
  # Disable RBAC, allowing unrestricted access
  policy.default: role:admin
  # Use HTTP instead of HTTPS, exposing data to interception
  url: http://argocd.example.com
  # No authentication configured, allowing anonymous access
  dex.config: |
    connectors: []