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.
Prerequisites
Section titled “Prerequisites”- 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
Quick install
Section titled “Quick install”The interactive installer handles prerequisites, authentication, and deployment:
curl -fsSL https://cased.github.io/cased-cd-enterprise/install.sh | bashManual installation
Section titled “Manual installation”-
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 -
Deploy with Helm (recommended)
Terminal window # Add the Cased Helm repositoryhelm repo add cased https://cased.github.io/cased-cd-enterprisehelm repo update# Install Cased CD Enterprisehelm 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 -
Access the UI
Terminal window kubectl port-forward -n argocd svc/cased-cd-enterprise 8080:80Open
http://localhost:8080and log in with your ArgoCD credentials.
Installation options
Section titled “Installation options”Includes persistent audit trail storage (requires StorageClass):
helm install cased-cd cased/cased-cd-enterprise \ --namespace argocd \ --set 'imagePullSecrets[0].name=cased-cd-registry'Or with kubectl:
kubectl apply -f https://cased.github.io/cased-cd-enterprise/install-enterprise.yamlFor clusters without a default StorageClass (Talos, bare-metal):
helm install cased-cd cased/cased-cd-enterprise \ --namespace argocd \ --set 'imagePullSecrets[0].name=cased-cd-registry' \ --set enterprise.auditTrail.enabled=falseOr with kubectl:
kubectl apply -f https://cased.github.io/cased-cd-enterprise/install-enterprise-minimal.yamlStorage configuration
Section titled “Storage configuration”The audit trail uses a PersistentVolumeClaim. Common storage classes by platform:
| Platform | Storage classes |
|---|---|
| AWS EKS | gp2, gp3 |
| Google GKE | standard, standard-rwo |
| Azure AKS | default, managed-premium |
| k3d/k3s | local-path |
Specify a storage class explicitly:
helm install cased-cd cased/cased-cd-enterprise \ --namespace argocd \ --set 'imagePullSecrets[0].name=cased-cd-registry' \ --set enterprise.persistence.storageClass=gp3Ingress configuration
Section titled “Ingress configuration”Expose Cased CD externally:
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'Verify deployment
Section titled “Verify deployment”# Check pods are runningkubectl 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 logskubectl logs -n argocd deployment/cased-cd-enterprise -fWhat gets deployed
Section titled “What gets deployed”- 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