Argo CD
Overview
Cloud Control Helm Charts are compatible with Argo CD to ensure they can be seamlessly included in GitOps-based continuous delivery pipelines.
Requirements
To ensure Cloud Control Helm Charts are synchronized & analysed properly by Argo CD, there are a few requirements that must be satisfied to ensure Argo CD never incorrectly detects drift and can handle cluster-enforced mutations to the resources generated by Cloud Control Helm Charts. These requirements are as follows:
- Server-Side Apply:
ApplicationorApplicationSetobjects must have theServerSideApply=trueoption added to thesyncOptions - Server-Side Diff:
ApplicationorApplicationSetobjects must have theServerSideDiff=trueannotation, or have this feature enabled globally on the Argo CD instance
Enabling Argo CD compatibility mode
To facilitate the transition of Cloud Control to Argo CD-compatible Helm Charts, Cloud Control includes a toggle which can be used to enable compatibility:
This toggle can be applied to the following Helm Charts:
powerdnscontrolplanemonitoring
Switching to ArgoCD from a pre-3.2 Cloud Control deployment
If you have a Cloud Control 3.1 (or earlier) deployment which you would like to start managing using Argo CD, you need to follow the below steps to ensure a smooth transition:
- Upgrade your Cloud Control 3.1 (or earlier) deployment to Cloud Control 3.2 before switching to Argo CD
- Switch to Argo CD by creating
ApplicationorApplicationSetobjects matching your existing Cloud Control 3.2 deployment (with the aboveglobal.argocd.enabled: truetoggle included in the values)
If you upgrade a Cloud Control 3.1 (or earlier) deployment directly to Cloud Control 3.2 with Argo CD without this intermediary step, Cloud Control will be unable to migrate certain passwords & API keys which were randomly generated if no pre-provisioned Secrets were supplied for them (the Authoritative Server's API key for example).