Argo CD Supervisor Service reduces manual toil and introduces declarative policies to automatically discover and attach VKS clusters and Supervisor Namespaces to ArgoCD instances, enabling seamless GitOps workload management.
To bring customers up to date with modern GitOps features and security patches, v1.2.0 bundles four upstream ArgoCD versions:
The cluster-scoped ArgoCDVersion resource (argocd-supported-versions) displays the list of supported upstream ArgoCD versions.
EntityManagementPolicy (emp): Introduces declarative policy support to automatically discover and attach VKS clusters to ArgoCD instances based on namespace selectors, cluster names, label selectors, or CEL expressions.ManagedEntity)ManagedEntity (me): Standardizes declarative target registration in ArgoCD:
spec.resourceHealthChecks to inject custom Lua health check scripts for custom CRDs and VKS cluster resources.proxy (httpProxy, httpsProxy, noProxy) settings across server, repo, controller, applicationSet, and notification components.observedGeneration and phase states (Progressing, Ready, Failed) for clear and reliable status tracking.argocd CLI as a vcf CLI plugin, eliminating the previous requirement of downloading a customized standalone ArgoCD CLI binary.GO FIPS 140-3 across controller binaries.spec.server.tlsCert.secretRef to allow referencing Kubernetes TLS Secrets directly for custom certificates, deprecating inline base64 certificates.Issue Description (in v1.0.0 / v1.1.0):
In previous versions, managing workloads across Supervisor Namespaces required routing long-lived CRD watch connections through the external Supervisor LoadBalancer IP / VIP. Under scale, this exhausted NGINX worker connections (512 worker_connections are not enough) on the Supervisor reverse proxy (kubectl-plugin-vsphere), resulting in 500 Internal Server Error watch failures in argocd-application-controller.
Resolution (in v1.2.0):
v1.2.0 enables In-Cluster connectivity via the dedicated ServiceAccount argocd-k8s-sa, routing all API watch and sync traffic internally within the Supervisor cluster and completely bypassing the external LoadBalancer and NGINX reverse proxy.
Two in-cluster topologies are supported:
ManagedEntity (Recommended):
https://kubernetes.default.svc/?context=<target-namespace>).https://kubernetes.default.svc) sharing a single OpenAPI schema cache.Migration Note for Existing Applications:
When adopting ManagedEntity to manage existing Supervisor Namespace workloads (refer to the official documentation for RBAC and ManagedEntity configuration details), update the destination block in your existing ArgoCD Application manifests to align with the new in-cluster target:
spec:
destination:
server: https://kubernetes.default.svc/?context=<target-namespace>
namespace: <target-namespace>
spec:
destination:
name: <target-namespace> # or custom spec.clusterName configured in ManagedEntity
namespace: <target-namespace>
⚠️ Note: Using the legacy destination
https://<Supervisor-LB-VIP>:6443is not recommended for Supervisor Namespace management. Continuing to use the external LoadBalancer endpoint will still encounter NGINX connection limit issues.
ArgoCD Supervisor Service support for a new Kubernetes minor will lag VKS by 2-4 months (with the current upstream schedules: a June VKR gets downstream ArgoCD support in October, an October VKR gets downstream ArgoCD support in January, a February VKR gets downstream ArgoCD support in April).