Core platform services

Configuration management of core platform services is done using the core_services module. This module acts as an umbrella, managing the following services:

  • Registry:
    • Harbor - Image registry
  • Code Quality:
    • SonarQube - Code quality inspection tool

Configuration is described in /terraform/core_services/main.tf.

The set of parameters for the module includes:

  • code_quality_oidc_client_id: Code Quality service OIDC client id
  • code_quality_oidc_client_secret: Code Quality service OIDC client secret
  • code_quality_admin_password: Code Quality service admin user password, auto-generated and stored in Vault
  • registry_oidc_client_id: Registry services OIDC client id
  • registry_oidc_client_secret: Registry services OIDC client secret
  • registry_main_robot_password: Registry services admin user password, auto-generated and stored in Vault
  • workloads: workloads definitions loaded from the workloads.tfvars.json file

The core services module uses workload definitions to enable a personalized experience for each workload team, isolating workloads using abstraction, for example, a project in each of the services, and limiting access to those abstractions. Definitions are provided 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.

{
  "workloads": {
    "demo-workload": {
      "description": "CG DevX Demo-Workload workload definition"
    }
  }
}