config/config.yaml (509 lines of code) (raw):

$schema: config.schema.json defaults: region: '{{ .ctx.region }}' regionRG: hcp-underlay-{{ .ctx.regionShort }} global: rg: global subscription: ARO Hosted Control Planes (EA Subscription 1) region: westus3 globalMSIName: "global-rollout-identity" safeDnsIntAppObjectId: "" # intentionally left empty secretsToSyncDir: "dev/arohcpdev-global" nsp: name: nsp-global accessMode: 'Learning' keyVault: name: arohcpdev-global private: false softDelete: true # ACR Pull acrPull: image: registry: mcr.microsoft.com repository: aks/msi-acrpull digest: sha256:c802a91b3b0fe4a3875a03904140a14eb54c8b94db1d510946c9c438d28689c0 #v0.1.14 # Hypershift hypershift: namespace: hypershift additionalInstallArg: '' # Log settings logs: mdsd: namespace: logs msiName: logs-mdsd serviceAccountName: genevabit-aggregator cert: name: "" type: "" issuer: "" subscriptions: [] loganalytics: enable: false # Geneva Actions genevaActions: serviceTag: GenevaActionsNonProd # SVC cluster specifics svc: subscription: ARO Hosted Control Planes (EA Subscription 1) rg: hcp-underlay-{{ .ctx.regionShort }}-svc nsp: name: nsp-{{ .ctx.regionShort }}-svc accessMode: 'Learning' rhDevFixSVCKVAsignNSP: false istio: istioctlVersion: "1.23.1" tag: "prod-stable" targetVersion: "asm-1-23" versions: "asm-1-23" ingressGatewayIPAddressName: "aro-hcp-istio-ingress" ingressGatewayIPAddressIPTags: "" aks: name: "{{ .ctx.regionShort }}-svc" vnetAddressPrefix: "10.128.0.0/14" subnetPrefix: "10.128.8.0/21" podSubnetPrefix: "10.128.64.0/18" kubernetesVersion: 1.31.6 networkDataplane: "cilium" networkPolicy: "cilium" etcd: kvName: arohcp-etcd-{{ .ctx.regionShort }} kvSoftDelete: true clusterOutboundIPAddressIPTags: "" prometheus: namespace: prometheus namespaceLabel: "" prometheusOperator: image: registry: mcr.microsoft.com/oss/v2 repository: prometheus/prometheus-operator digest: a5bf4407cb83dc93d4e29ef680e0a4d621256e0f004822f53b2ff1c592bf2a82 version: "" prometheusSpec: image: registry: mcr.microsoft.com/oss/v2 repository: prometheus/prometheus digest: 2dcc22f4a8ea5c198e1c9eb6e7f04d127c55924da72e0f4334e659633185283c version: "" replicas: 2 shards: 1 # MGMT cluster specifics mgmt: subscription: ARO Hosted Control Planes (EA Subscription 1) rg: hcp-underlay-{{ .ctx.regionShort }}-mgmt-{{ .ctx.stamp }} applyKubeletFixes: true nsp: name: nsp-{{ .ctx.regionShort }}-mgmt-{{ .ctx.stamp }} accessMode: 'Learning' aks: name: "{{ .ctx.regionShort }}-mgmt-{{ .ctx.stamp }}" vnetAddressPrefix: "10.128.0.0/14" subnetPrefix: "10.128.8.0/21" podSubnetPrefix: "10.128.64.0/18" kubernetesVersion: 1.31.6 networkDataplane: "azure" networkPolicy: "azure" etcd: kvName: arohcp-etcd-{{ .ctx.regionShort }}-{{ .ctx.stamp }} kvSoftDelete: true clusterOutboundIPAddressIPTags: "" enableSwiftV2: false prometheus: namespace: prometheus namespaceLabel: network.openshift.io/policy-group=monitoring prometheusOperator: image: registry: mcr.microsoft.com/oss/v2 repository: prometheus/prometheus-operator digest: a5bf4407cb83dc93d4e29ef680e0a4d621256e0f004822f53b2ff1c592bf2a82 version: "" prometheusSpec: image: registry: mcr.microsoft.com/oss/v2 repository: prometheus/prometheus digest: 2dcc22f4a8ea5c198e1c9eb6e7f04d127c55924da72e0f4334e659633185283c version: "v2.55.1-3" replicas: 2 shards: 1 # Frontend frontend: tracing: address: "" exporter: "" cosmosDB: deploy: true disableLocalAuth: true name: arohcp-rp-{{ .ctx.regionShort }} private: true zoneRedundantMode: 'Auto' cert: name: frontend-cert-{{ .ctx.regionShort }} issuer: Self # Mise mise: deploy: false azureAdInstance: "" firstPartyAppId: "" armInstance: "" armAppId: "" tenantId: "" image: repository: "" digest: "" # Maestro maestro: server: mqttClientName: maestro-server loglevel: 4 managedIdentityName: maestro-server k8s: namespace: maestro serviceAccountName: maestro agent: consumerName: hcp-underlay-{{ .ctx.regionShort }}-mgmt-{{ .ctx.stamp }} loglevel: 4 sidecar: image: registry: mcr.microsoft.com repository: azurelinux/base/nginx digest: sha256:f203d7e49ce778f8464f403d2558c5d7162b1b9189657c6b32d4f70a99e0fe83 eventGrid: name: arohcp-maestro-{{ .ctx.regionShort }} maxClientSessionsPerAuthName: 6 private: false certDomain: selfsigned.maestro.keyvault.azure.com certIssuer: Self postgres: name: arohcp-maestro-{{ .ctx.regionShort }} serverVersion: '15' serverStorageSizeGB: 32 deploy: true private: false minTLSVersion: 'TLSV1.2' databaseName: maestro zoneRedundantMode: 'Auto' restrictIstioIngress: true image: registry: quay.io repository: redhat-user-workloads/maestro-rhtap-tenant/maestro/maestro pko: image: arohcpsvcdev.azurecr.io/package-operator/package-operator-package imageManager: arohcpsvcdev.azurecr.io/package-operator/package-operator-manager imageTag: v1.15.0 # Cluster Service clustersService: image: registry: quay.io repository: app-sre/uhc-clusters-service tracing: # NOTE: Currently only enabled for personal-dev. address: "" exporter: "" environment: arohcpdev postgres: name: arohcp-cs-{{ .ctx.regionShort }} deploy: true private: false minTLSVersion: 'TLSV1.2' zoneRedundantMode: 'Auto' managedIdentityName: clusters-service k8s: namespace: cluster-service serviceAccountName: clusters-service # Image Sync imageSync: environmentName: aro-hcp-image-sync outboundServiceTags: "" componentSync: enabled: true image: registry: arohcpsvcdev.azurecr.io repository: image-sync/component-sync digest: sha256:d838c4910bc53a5583dd501ed7e3ab08aa7c08b45b5997c90764c65ceef01a8f repositories: quay.io/redhat-user-workloads/maestro-rhtap-tenant/maestro/maestro,quay.io/acm-d/rhtap-hypershift-operator,quay.io/app-sre/uhc-clusters-service,quay.io/package-operator/package-operator-package,quay.io/package-operator/package-operator-manager,quay.io/app-sre/backplane-api secrets: 'quay.io:quay-io-bearer' pullSecretName: component-sync-pull-secret ocMirror: enabled: true image: registry: arohcpsvcdev.azurecr.io repository: image-sync/oc-mirror digest: sha256:92dc2b18de0126caa2212f62c54023f6e8ecf12e2025c37a5f4151d0253ae14e pullSecretName: ocmirror-pull-secret # MCE mce: clcStateMetrics: imageDigest: bf5bb514e4d8af5e38317c3727d4cd9f90c22b293fe3e2367f9f0e179e0ee0c7 serviceKeyVault: name: arohcp-svc-{{ .ctx.regionShort }} rg: hcp-underlay-{{ .ctx.regionShort }} region: '{{ .ctx.region }}' softDelete: true private: true # Management Cluster KV cxKeyVault: name: arohcp-cx-{{ .ctx.regionShort }}-{{ .ctx.stamp }} softDelete: true private: true msiKeyVault: name: arohcp-msi-{{ .ctx.regionShort }}-{{ .ctx.stamp }} softDelete: true private: true mgmtKeyVault: name: arohcp-mgmt-{{ .ctx.regionShort }}-{{ .ctx.stamp }} softDelete: true private: true clouds: public: # this configuration serves as a template for for all RH DEV subscription deployments # the following vars need approprivate overrides: defaults: # DNS dns: baseDnsZoneRG: global cxParentZoneName: hcp.osadev.cloud cxParentZoneDelegation: false svcParentZoneName: hcpsvc.osadev.cloud parentZoneName: osadev.cloud # 1P app firstPartyAppClientId: b3cb2fab-15cb-4583-ad06-f91da9bfe2d1 firstPartyAppCertificate: name: firstPartyCert2 issuer: Self manage: false # Mock Managed Identities Service Princiapl miMockClientId: e8723db7-9b9e-46a4-9f7d-64d75c3534f0 miMockPrincipalId: d6b62dfa-87f5-49b3-bbcb-4a687c4faa96 miMockCertName: msiMockCert2 # ARM Helper armHelperClientId: 3331e670-0804-48e8-a086-6241671ddc93 armHelperFPAPrincipalId: 47f69502-0065-4d9a-b19b-d403e183d2f4 armHelperCertName: armHelperCert2 # Maestro maestro: image: digest: sha256:f64ad21dcbe40ed7d29aff7d2d7320c0a5ee18c6bfabfef9486550a96ff27141 # Cluster Service clustersService: image: digest: sha256:777e6f7be92f113b9c188de36b6925dff2537c23fd2efca115b21d42fa9d29e5 azureOperatorsManagedIdentities: clusterApiAzure: roleName: Azure Red Hat OpenShift Control Plane Operator Role - Dev controlPlane: roleName: Azure Red Hat OpenShift Cluster API Role - Dev cloudControllerManager: roleName: Azure Red Hat OpenShift Cloud Controller Manager - Dev ingress: roleName: Azure Red Hat OpenShift Cluster Ingress Operator - Dev diskCsiDriver: roleName: Azure Red Hat OpenShift Disk Storage Operator - Dev fileCsiDriver: roleName: Azure Red Hat OpenShift File Storage Operator - Dev imageRegistry: roleName: Azure Red Hat OpenShift Image Registry Operator - Dev cloudNetworkConfig: roleName: Azure Red Hat OpenShift Network Operator - Dev kms: roleName: Azure Red Hat OpenShift KMS Plugin - Dev # Hypershift Operator hypershift: image: registry: quay.io repository: acm-d/rhtap-hypershift-operator digest: sha256:0e6706e3bbc058a65f34dad7ccf048e56b1f32ca610c6f39f085ddb8bb1169ef # Backplane API backplaneAPI: image: registry: arohcpsvcdev.azurecr.io repository: app-sre/backplane-api digest: sha256:822477832a73c7eab7fe27200994f10030f708f4a752f33ded3f8f8eaa0470f6 # Frontend frontend: image: registry: arohcpsvcdev.azurecr.io repository: arohcpfrontend digest: '' # if empty uses commit sha of repo # Backend backend: image: registry: arohcpsvcdev.azurecr.io repository: arohcpbackend digest: '' # if empty uses commit sha of repo # Shared SVC KV serviceKeyVault: name: 'aro-hcp-dev-svc-kv' rg: 'global' region: 'westus3' private: false # Management Cluster KVs cxKeyVault: softDelete: false private: false msiKeyVault: softDelete: false private: false mgmtKeyVault: softDelete: false private: false # disable soft delete on etcd KVs in DEV svc: subscription: ARO Hosted Control Planes (EA Subscription 1) aks: etcd: kvSoftDelete: false systemAgentPool: minCount: 1 maxCount: 3 vmSize: 'Standard_D2s_v3' osDiskSizeGB: 32 userAgentPool: minCount: 1 maxCount: 3 vmSize: 'Standard_D2s_v3' osDiskSizeGB: 32 azCount: 3 infraAgentPool: minCount: 1 maxCount: 3 vmSize: 'Standard_D2s_v3' osDiskSizeGB: 32 azCount: 1 mgmt: aks: # MGMTM AKS nodepools - big enough for 2 HCPs systemAgentPool: minCount: 1 maxCount: 4 vmSize: 'Standard_D2s_v3' osDiskSizeGB: 32 userAgentPool: minCount: 1 maxCount: 6 vmSize: 'Standard_D4s_v3' osDiskSizeGB: 100 azCount: 3 infraAgentPool: minCount: 1 maxCount: 3 vmSize: 'Standard_D2s_v3' osDiskSizeGB: 32 azCount: 1 etcd: kvSoftDelete: false subscription: ARO Hosted Control Planes (EA Subscription 1) # Shared ACRs acr: svc: name: arohcpsvcdev zoneRedundantMode: Disabled ocp: name: arohcpocpdev zoneRedundantMode: Disabled # OIDC oidcStorageAccountName: arohcpoidc{{ .ctx.regionShort }} oidcZoneRedundantMode: Auto # Metrics monitoring: workspaceName: 'arohcp-{{ .ctx.regionShort }}' grafanaName: 'arohcp-dev' grafanaMajorVersion: '11' grafanaZoneRedundantMode: Disabled grafanaAdminGroupPrincipalId: 6b6d3adf-8476-4727-9812-20ffdef2b85c # DEVOPS MSI aroDevopsMsiId: '/subscriptions/1d3378d3-5a3f-4712-85a1-2485495dfc4b/resourceGroups/global/providers/Microsoft.ManagedIdentity/userAssignedIdentities/global-rollout-identity' kvCertOfficerPrincipalId: 'c9b1819d-bb29-4ac2-9abe-39e4fe9b59eb' environments: dev: # this is the integrated DEV environment defaults: logs: loganalytics: enable: true svc: nsp: rhDevFixSVCKVAsignNSP: true mgmt: aks: systemAgentPool: minCount: 1 maxCount: 4 vmSize: 'Standard_E8s_v3' osDiskSizeGB: 128 # MC AKS nodepools # big enough for multiple HCPs userAgentPool: minCount: 1 maxCount: 3 vmSize: 'Standard_D16s_v3' osDiskSizeGB: 128 # CNI networkDataplane: "cilium" # should be switch to azure during next rebuild networkPolicy: "cilium" # should be switch to azure during next rebuild # DNS dns: regionalSubdomain: '{{ .ctx.region }}' # Maestro maestro: server: mqttClientName: 'maestro-server-{{ .ctx.regionShort }}-dev' # Frontend frontend: cosmosDB: private: false zoneRedundantMode: 'Disabled' cs-pr: # this is the cluster service PR check and full cycle test environment defaults: logs: loganalytics: enable: true svc: aks: # MC AKS nodepools # big enough for multiple CS instances during PR checks userAgentPool: minCount: 2 maxCount: 12 mgmt: aks: systemAgentPool: minCount: 1 maxCount: 4 vmSize: 'Standard_E8s_v3' osDiskSizeGB: 128 # MC AKS nodepools # big enough for multiple HCPs userAgentPool: minCount: 1 maxCount: 3 vmSize: 'Standard_D16s_v3' osDiskSizeGB: 128 # CNI networkDataplane: "cilium" # should be switch to azure during next rebuild networkPolicy: "cilium" # should be switch to azure during next rebuild # DNS dns: regionalSubdomain: '{{ .ctx.region }}-cs' # Maestro maestro: restrictIstioIngress: false server: mqttClientName: 'maestro-server-{{ .ctx.regionShort }}-cs' # Frontend frontend: cosmosDB: private: false zoneRedundantMode: 'Disabled' nightly: # this is an environment to test the deployability of infra nightly defaults: # Cluster Service clustersService: postgres: deploy: false # DNS dns: regionalSubdomain: '{{ .ctx.regionShort }}' # Maestro maestro: postgres: deploy: false server: mqttClientName: 'maestro-server-{{ .ctx.regionShort }}' # Frontend frontend: cosmosDB: private: false zoneRedundantMode: 'Disabled' # MC mgmt: applyKubeletFixes: false personal-dev: # this is the personal DEV environment defaults: # Cluster Service clustersService: postgres: deploy: false tracing: address: "http://ingest.observability:4318" exporter: "otlp" # DNS dns: regionalSubdomain: '{{ .ctx.regionShort }}' # Maestro maestro: postgres: deploy: false server: mqttClientName: 'maestro-server-{{ .ctx.regionShort }}' # Frontend frontend: cosmosDB: private: false zoneRedundantMode: 'Disabled' tracing: address: "http://ingest.observability:4318" exporter: "otlp" # MC mgmt: jaeger: deploy: false applyKubeletFixes: false # SVC svc: jaeger: deploy: true personal-perfscale: defaults: dns: regionalSubdomain: '{{ .ctx.regionShort }}' mgmt: aks: systemAgentPool: minCount: 1 maxCount: 4 vmSize: 'Standard_E8s_v3' osDiskSizeGB: 128 userAgentPool: minCount: 1 maxCount: 3 vmSize: 'Standard_D16s_v3' osDiskSizeGB: 128