Skip to content
Community

logo

ArgoCD#

Chart Name Version App version
argo-cd 9.4.1 v3.3.0

Argo CD is an open-source tool for implementing GitOps in Kubernetes. It automates the deployment and lifecycle management of applications by continuously synchronizing the desired state declared in a Git repository with the live state in the cluster. k0rdent integration:

  • Centralized Management: Manage Argo CD instances and application deployments across multiple clusters from the K0rdent control plane.
  • Simplified Deployment: k0rdent can automate the deployment and configuration of Argo CD in your clusters, reducing manual effort.
  • Policy-Driven Deployments: Leverage k0rdent's policy engine to enforce security and compliance policies for your Argo CD deployments and application configurations.


Looking for Commercial Support? LEARN MORE

Prerequisites#

Deploy k0rdent v1.8.0: QuickStart

Install template to k0rdent#

helm upgrade --install argo-cd oci://ghcr.io/k0rdent/catalog/charts/kgst --set "chart=argo-cd:9.4.1" -n kcm-system

Verify service template#

kubectl get servicetemplates -A
# NAMESPACE    NAME                            VALID
# kcm-system   argo-cd-9-4-1                   true

Deploy service template#

apiVersion: k0rdent.mirantis.com/v1beta1
kind: MultiClusterService
metadata:
  name: argo-cd
spec:
  clusterSelector:
    matchLabels:
      group: demo
  serviceSpec:
    services:
    - template: argo-cd-9-4-1
      name: argo-cd
      namespace: argo-cd

Install template to k0rdent#

helm upgrade --install traefik oci://ghcr.io/k0rdent/catalog/charts/kgst --set "chart=traefik:39.0.5" -n kcm-system
helm upgrade --install argo-cd oci://ghcr.io/k0rdent/catalog/charts/kgst --set "chart=argo-cd:9.4.1" -n kcm-system

Verify service template#

kubectl get servicetemplates -A
# NAMESPACE    NAME                            VALID
# kcm-system   traefik-39-0-5                  true
# kcm-system   argo-cd-9-4-1                   true

Deploy service template#

apiVersion: k0rdent.mirantis.com/v1beta1
kind: MultiClusterService
metadata:
  name: argo-cd
spec:
  clusterSelector:
    matchLabels:
      group: demo
  serviceSpec:
    services:
    - template: traefik-39-0-5
      name: traefik
      namespace: argo-cd
      values: |
        traefik:
          deployment:
            kind: DaemonSet
          ports:
            web:
              port: 8000
              hostPort: 80
            websecure:
              port: 8443
              hostPort: 443
    - template: argo-cd-9-4-1
      name: argo-cd
      namespace: argo-cd
      values: |
        argo-cd:
          global:
            domain: ''
          configs:
            params:
              server.insecure: true
          server:
            ingress:
              enabled: true

Testing in child cluster#

Get admin user password:

kubectl get secret argocd-initial-admin-secret -n argo-cd -o jsonpath="{.data.password}" | base64 -d; echo

You can now access your ArgoCD web UI at https://argocd.example.com.