---
apiVersion: v1
kind: ConfigMap
metadata:
  name: central-conf
  namespace: {{ .Values.namespace }}
data:
  config.yaml: |-
    server:
      logLevel: {{ .Values.central.logLevel }}
      enablePublicCloudCrd: {{ .Values.central.enablePublicCloudCrd }}
      enableDBQueryLog: {{ .Values.central.enableDBQueryLog }}
      frontendDNS: {{ .Values.central.frontendDNS }}
      backendDNS: {{ .Values.cloud.aws.region }}.{{ .Values.namespace }}.{{ .Values.cloud.aws.dnsZone }}
      manifestDirPrefix: ""
      stage: {{ .Values.namespace }}
      centralCIDR: {{ .Values.central.centralCIDR }}
      grpcPort: 10000
      metricsPort: 9090
      pocManualBackupReservedDays: {{ .Values.central.pocManualBackupReservedDays }}
      pocAutoBackupReservedDays: {{ .Values.central.pocAutoBackupReservedDays }}
      onDemandAutoBackupReservedDays: {{ .Values.central.onDemandAutoBackupReservedDays }}
      snowflakeID: {{ .Values.central.snowflakeNodeId }}
      autoBackupReservedDays: {{ .Values.central.autoBackupReservedDays }}
      manualBackupReservedDays: {{ .Values.central.manualBackupReservedDays }}
      managementPortalInitUserEmail: {{ .Values.central.managementPortalInitUserEmail }}
      enableGracefulShutdownWebhookOnAWS: {{ .Values.central.enableGracefulShutdownWebhookOnAWS }}
      centralRoleARN: {{ .Values.central.centralRoleARN }}
      adminListenAddr: "0.0.0.0:8080"
      metricsListenAddr: "0.0.0.0:8080"
      secret:
        secretKey: {{ .Values.central.centralAwsSecretId }}
        region: {{ .Values.cloud.aws.region }}
    mysql:
      host: {{ .Values.mysql.host }}
      user: {{ .Values.mysql.centralDbUser }}
      port: 4000
      password: {{ .Values.mysql.centralDbPassword }}
      database: {{ .Values.mysql.centralDB }}
    grafana:
      server: {{ .Values.url.grafanaServer }}
    gardener:
      gcpMasterType: {{ .Values.gardener.gcpMasterType }}
      gcpMasterCount: {{ .Values.gardener.gcpMasterCount }}
      awsMasterType: {{ .Values.gardener.awsMasterType }}
      awsMasterCount: {{ .Values.gardener.awsMasterCount }}
      gardenerProjectName: {{ .Values.namespace }}
      gardenBaseDomain: {{ .Values.gardener.env }}.{{ .Values.cloud.aws.dnsZone }}
      kubeConfigPath: ""
      nodeImage: {{ .Values.gardener.nodeImage }}
      storageNodeImage: {{ .Values.gardener.storageNodeImage }}
      awsShootVpcCidr: {{ .Values.gardener.awsShootVpcCidr }}
      awsWorkerCidr: {{ .Values.gardener.awsWorkerCidr }}
      awsPublicLBCidr: {{ .Values.gardener.awsPublicLBCidr }}
      awsInternalLBCidr: {{ .Values.gardener.awsInternalLBCidr }}
      gcpShootVpcCidr: {{ .Values.gardener.gcpShootVpcCidr }}
      gcpInternalLBCidr: {{ .Values.gardener.gcpInternalLBCidr }}
    aws:
      region: ""
      accountID: {{ .Values.cloud.aws.account | quote }}
      projectID: ""
      pcaArn: {{ .Values.cloud.aws.pcaArn }}
      pcaRegion: {{ .Values.cloud.aws.pcaRegion }}
    billing:
      auth0Domain: {{ .Values.cloud.Auth0.auth0Domain }}
      auth0ClientID: {{ .Values.cloud.BillingM2M.billingM2MClientId }}
      auth0Audience: {{ .Values.cloud.BillingM2M.billingM2MAudience }}
      billingBaseURL: http://billing:18888
    proxy:
      auth0Domain: {{ .Values.cloud.Auth0.auth0Domain }}
      auth0ClientID: {{ .Values.cloud.ProxyM2M.proxyM2MClientId }}
      auth0Audience: {{ .Values.cloud.ProxyM2M.proxyM2MAudience }}
    infra:
      proxyImage: {{ .Values.image.proxyImage }}
      reporterImage: {{ .Values.image.reporterImage }}
      identityImage: {{ .Values.image.identityImage }}
      sqsEndpoint: {{ .Values.cloud.aws.billingSqsID }}
      region: {{ .Values.cloud.aws.region }}
      cmkArn: {{ .Values.cloud.aws.encryptionCmkArn }}
      awsPublicHZDomain: {{ .Values.cloud.aws.dnsZone }}
      gcpPublicHZDomain: {{ .Values.cloud.gcp.dnsZoneGCP }}
      awsPublicHZID: {{ .Values.cloud.aws.phzId }}
      gcpPublicHZID: {{ .Values.cloud.gcp.phzIdGCP }}
      gcpProject: {{ .Values.cloud.gcp.gcpProject }}
      gcpCertManagerRole: {{ .Values.cloud.gcp.gcpCertManagerRole }}
      certManagerRepository: {{ .Values.image.certManagerRepository }}
      configServiceURL: http://config-service.gitops:8090
    auth0:
      auth0ManagementClientID: {{ .Values.cloud.Auth0Management.auth0ManagementClientID }}
      auth0DatabaseConnectionName: custom-email
      auth0Domain:
      auth0Audience: {{ .Values.cloud.Auth0.auth0Audience }}
      managementPortalAuth0ClientAudience: {{ .Values.cloud.ManagementPortal.managementPortalAuth0ClientAudience }}
      managementPortalAuth0Domain: {{ .Values.cloud.ManagementPortal.managementPortalAuth0Domain }}
      managementPortalAuth0Audience: {{ .Values.cloud.ManagementPortal.managementPortalAuth0Audience }}
    salesforce:
      enableSalesforce: {{ .Values.salesforce.enableSalesforce }}
      salesforceDomain: {{ .Values.salesforce.salesforceDomain }}
      salesforceUsername: {{ .Values.salesforce.salesforceUsername }}
    zendesk:
      enableZendesk: false
      zendeskDomain:
      zendeskEmail:
    import:
      lightningImage: {{ .Values.image.lightningImage }}
      skipBanMyBuckets: {{ .Values.central.skipBanMyBuckets }}

---
apiVersion: v1
kind: ConfigMap
metadata:
  name: billing
  namespace: {{ .Values.namespace }}
data:
  config.properties: |-
    node-usage-metrics-sqs-url={{ .Values.cloud.aws.billingSqsID }}
    node-usage-metrics-sqs-region={{ .Values.cloud.aws.region }}
    dbaas-central-host=central-http:11000
    billing-server-port=18888
    mysql-host={{ .Values.mysql.host }}
    mysql-user={{ .Values.mysql.billingDbUser }}
    database={{ .Values.mysql.billingDB }}
    billing-database={{ .Values.mysql.billingDB }}
    project={{ .Values.namespace }}
    mysql-password-file=/etc/db/password
