Use when configuring ArgoCD in KubeSphere DevOps, including GitOps deployments, application management, SSO setup, or troubleshooting ArgoCD issues
KubeSphere DevOps includes ArgoCD v2.11.7 as a bundled subchart for GitOps continuous deployment. ArgoCD follows the declarative GitOps pattern, automatically syncing application state with Git repositories.
1. Direct ArgoCD Application (Admin Only)
argocd namespace2. KubeSphere GitOps Application (Tenant-Friendly)
/kapis/gitops.kubesphere.io/v1alpha1/┌─────────────────────────────────────────────────────────────┐
│ Tenant Namespace │
│ ┌──────────────────────────────────────────────┐ │
│ │ Application (gitops.kubesphere.io/v1alpha1) │ │
│ │ - Created by tenant via KubeSphere API │ │
│ │ - Label: gitops.kubesphere.io/argocd-location: argocd │ │
│ └──────────────────┬───────────────────────────┘ │
└──────────────────────┼──────────────────────────────────────┘
│
│ KubeSphere Controller watches
│ and creates corresponding
▼
┌─────────────────────────────────────────────────────────────┐
│ argocd Namespace │
│ ┌──────────────────────────────────────────────┐ │
│ │ Application (argoproj.io/v1alpha1) │ │
│ │ - Created automatically by KubeSphere │ │
│ │ - References tenant namespace as target │ │
│ └──────────────────┬───────────────────────────┘ │
└──────────────────────┼──────────────────────────────────────┘
│
│ ArgoCD Controller reconciles
▼
┌─────────────────────────────────────────────────────────────┐
│ Tenant Namespace │
│ ┌──────────────────────────────────────────────┐ │
│ │ Deployed Resources (Pods, Services, etc.) │ │
│ │ - Created by ArgoCD │ │
│ │ - Managed via GitOps │ │
│ └──────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
| Aspect | Direct ArgoCD | KubeSphere GitOps |
|---|---|---|
| Namespace | argocd | Tenant's namespace |
| Access Required | ArgoCD namespace | Tenant namespace only |
| API Endpoint | N/A (kubectl) | /kapis/gitops.kubesphere.io/v1alpha1/ |
| Tenant Can Create | ❌ No | ✅ Yes |
| ArgoCD UI Access | ✅ Yes | ❌ No (transparent) |
| Multi-tenancy | Shared | Isolated per tenant |
| Component | Pod Name Pattern | Purpose |
|---|---|---|
| Application Controller | devops-agent-argocd-application-controller-* | Reconciles Application state |
| ApplicationSet Controller | devops-agent-argocd-applicationset-controller-* | Manages ApplicationSet CRDs |
| Dex Server | devops-agent-argocd-dex-server-* | SSO authentication proxy |
| Notifications Controller | devops-agent-argocd-notifications-controller-* | Event notifications |
| Redis | devops-agent-argocd-redis-* | Cache and state storage |
| Repo Server | devops-agent-argocd-repo-server-* | Git repository operations |
| ArgoCD Server | devops-agent-argocd-server-* | API and UI |
Namespace: argocd (configurable via argocd.namespace)
# Verify ArgoCD namespace exists
kubectl get ns argocd
# Check all ArgoCD pods
kubectl get pods -n argocd
# Check ArgoCD services
kubectl get svc -n argocd
# Get ArgoCD server service
kubectl get svc devops-agent-argocd-server -n argocd
# Port-forward for local access
kubectl port-forward svc/devops-agent-argocd-server -n argocd 8080:443
# Get initial admin password
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath='{.data.password}' | base64 -d
# Access via: https://localhost:8080
# Username: admin
# Password: (from command above)
In DevOps InstallPlan:
apiVersion: kubesphere.io/v1alpha1