Skip to content

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: Application or ApplicationSet objects must have the ServerSideApply=true option added to the syncOptions
  • Server-Side Diff: Application or ApplicationSet objects must have the ServerSideDiff=true annotation, 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:

global:
  argocd:
    enabled: true

This toggle can be applied to the following Helm Charts:

  • powerdns
  • controlplane
  • monitoring

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:

  1. Upgrade your Cloud Control 3.1 (or earlier) deployment to Cloud Control 3.2 before switching to Argo CD
  2. Switch to Argo CD by creating Application or ApplicationSet objects matching your existing Cloud Control 3.2 deployment (with the above global.argocd.enabled: true toggle 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).