Skip to content

Installation

Deploy Cased CD Enterprise to your Kubernetes cluster

Cased CD Enterprise deploys alongside your existing ArgoCD installation, providing a modern UI with enterprise features.

  • Existing ArgoCD installation (v2.0+)
  • Kubernetes cluster with kubectl access
  • Default StorageClass for audit log PVC (or disable persistent audit logging)
  • Enterprise registry credentials from app.cased.com

The interactive installer handles prerequisites, authentication, and deployment:

Terminal window
curl -fsSL https://cased.github.io/cased-cd-enterprise/install.sh | bash
  1. Create registry credentials

    The enterprise image requires authentication. Sign up at app.cased.com to receive your registry token.

    Terminal window
    kubectl create secret docker-registry cased-cd-registry \
    --docker-server=registry.cased.com \
    --docker-username=token \
    --docker-password="YOUR_REGISTRY_TOKEN" \
    --namespace=argocd
  2. Deploy with Helm (recommended)

    Terminal window
    # Add the Cased Helm repository
    helm repo add cased https://cased.github.io/cased-cd-enterprise
    helm repo update
    # Install Cased CD Enterprise
    helm install cased-cd cased/cased-cd-enterprise \
    --namespace argocd \
    --set 'imagePullSecrets[0].name=cased-cd-registry'

    Or deploy with kubectl:

    Terminal window
    kubectl apply -f https://cased.github.io/cased-cd-enterprise/install-enterprise.yaml
  3. Access the UI

    Terminal window
    kubectl port-forward -n argocd svc/cased-cd-enterprise 8080:80

    Open http://localhost:8080 and log in with your ArgoCD credentials.

Includes persistent audit trail storage (requires StorageClass):

Terminal window
helm install cased-cd cased/cased-cd-enterprise \
--namespace argocd \
--set 'imagePullSecrets[0].name=cased-cd-registry'

Or with kubectl:

Terminal window
kubectl apply -f https://cased.github.io/cased-cd-enterprise/install-enterprise.yaml

The audit trail uses a PersistentVolumeClaim. Common storage classes by platform:

PlatformStorage classes
AWS EKSgp2, gp3
Google GKEstandard, standard-rwo
Azure AKSdefault, managed-premium
k3d/k3slocal-path

Specify a storage class explicitly:

Terminal window
helm install cased-cd cased/cased-cd-enterprise \
--namespace argocd \
--set 'imagePullSecrets[0].name=cased-cd-registry' \
--set enterprise.persistence.storageClass=gp3

Expose Cased CD externally:

Terminal window
helm upgrade cased-cd cased/cased-cd-enterprise \
--namespace argocd \
--set 'imagePullSecrets[0].name=cased-cd-registry' \
--set ingress.enabled=true \
--set ingress.className=nginx \
--set 'ingress.hosts[0].host=cased-cd.example.com' \
--set 'ingress.hosts[0].paths[0].path=/' \
--set 'ingress.hosts[0].paths[0].pathType=Prefix'
Terminal window
# Check pods are running
kubectl get pods -n argocd -l app.kubernetes.io/name=cased-cd-enterprise
# Check audit PVC was created (full install only)
kubectl get pvc -n argocd -l app.kubernetes.io/component=enterprise
# View enterprise backend logs
kubectl logs -n argocd deployment/cased-cd-enterprise -f
  • Cased CD frontend — Static React app served by nginx
  • Enterprise backend — Go service for RBAC, audit, notifications, user management
  • PersistentVolumeClaim — 10GB storage for audit logs (full install)
  • RBAC roles — Kubernetes permissions for ConfigMap/Secret access