VCS management

CG DevX manages all the repositories (platform and workloads) and associated user groups, and repository settings using the Git provider-specific module defined in /terraform/vcs/main.tf.

The minimal set of parameters for the module is the following:

  • gitops_repo_name: Platform GitOps repository name;
  • atlantis_url: IaC PR automation webhook URL;
  • atlantis_repo_webhook_secret: IaC PR automation (Atlantis) webhook secret, generated by CLI;
  • vcs_bot_ssh_public_key: Git machine user SSH public key, generated by CLI;
  • workloads: workloads definitions loaded from workloads.tfvars.json file
  • cluster_name: K8s cluster name;
  • vcs_owner: Git organization owner, provider specific;
  • vcs_subscription_plan: Git subscription plan type, automatically determined by CLI.

Workload repositories are defined as part of workload using the workloads variable passed via the terraform.tfvars.json file.

Below is an example of a terraform.tfvars.json file containing one workload called demo-workload. Additional repositories can be added by updating the repos object. For more details, please see workload management

{
  "workloads": {
    "demo-workload": {
      "description": "CG DevX Demo-Workload workload definition",
      "repos": {
        "demo-workload": {},
        "demo-workload-gitops": {
          "atlantis_enabled": true
        }
      }
    }
  }
}