diff --git a/charts/quickstart-openshift/Chart.yaml b/charts/quickstart-openshift/Chart.yaml index 46f41fff0..d37333f29 100644 --- a/charts/quickstart-openshift/Chart.yaml +++ b/charts/quickstart-openshift/Chart.yaml @@ -48,3 +48,8 @@ dependencies: version: 0.2.3 repository: https://bcgov.github.io/helm-service alias: backup +maintainers: + - name: Om Mishra + email: omprakash.2.mishra@gov.bc.ca + - name: Derek Roberts + email: derek.roberts@gov.bc.ca diff --git a/charts/quickstart-openshift/README.md b/charts/quickstart-openshift/README.md new file mode 100644 index 000000000..9e072a052 --- /dev/null +++ b/charts/quickstart-openshift/README.md @@ -0,0 +1,5228 @@ +# quickstart-openshift + +A Helm chart for Kubernetes deployment. + +![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.16.0](https://img.shields.io/badge/AppVersion-1.16.0-informational?style=flat-square) + +## Maintainers + +| Name | Email | Url | +| ---- | ------ | --- | +| Om Mishra | | | +| Derek Roberts | | | + +## Requirements + +| Repository | Name | Version | +|------------|------|---------| +| https://bcgov.github.io/helm-service | backend(component) | 0.2.3 | +| https://bcgov.github.io/helm-service | frontend(component) | 0.2.3 | +| https://bcgov.github.io/helm-service | backup(component) | 0.2.3 | +| https://charts.bitnami.com/bitnami | bitnami-pg(postgresql) | 13.2.23 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
backend.affinityobject
+{}
+
+
backend.autoscaling.behavior.scaleDown.policies[0].periodSecondsint
+60
+
+
backend.autoscaling.behavior.scaleDown.policies[0].typestring
+"Percent"
+
+
backend.autoscaling.behavior.scaleDown.policies[0].valueint
+10
+
+
backend.autoscaling.behavior.scaleDown.policies[1].periodSecondsint
+60
+
+
backend.autoscaling.behavior.scaleDown.policies[1].typestring
+"Pods"
+
+
backend.autoscaling.behavior.scaleDown.policies[1].valueint
+2
+
+
backend.autoscaling.behavior.scaleDown.selectPolicystring
+"Min"
+
+
backend.autoscaling.behavior.scaleDown.stabilizationWindowSecondsint
+300
+
+
backend.autoscaling.behavior.scaleUp.policies[0].periodSecondsint
+30
+
+
backend.autoscaling.behavior.scaleUp.policies[0].typestring
+"Percent"
+
+
backend.autoscaling.behavior.scaleUp.policies[0].valueint
+100
+
+
backend.autoscaling.behavior.scaleUp.policies[1].periodSecondsint
+30
+
+
backend.autoscaling.behavior.scaleUp.policies[1].typestring
+"Pods"
+
+
backend.autoscaling.behavior.scaleUp.policies[1].valueint
+2
+
+
backend.autoscaling.behavior.scaleUp.selectPolicystring
+"Max"
+
+
backend.autoscaling.behavior.scaleUp.stabilizationWindowSecondsint
+0
+
+
backend.autoscaling.enabledbool
+true
+
+
backend.autoscaling.maxReplicasint
+7
+
+
backend.autoscaling.minReplicasint
+3
+
+
backend.autoscaling.targetCPUUtilizationPercentageint
+80
+
+
backend.containers[0].env.fromGlobalSecret[0].keystring
+"password"
+
+
backend.containers[0].env.fromGlobalSecret[0].namestring
+"POSTGRES_PASSWORD"
+
+
backend.containers[0].env.fromGlobalSecret[1].keystring
+"databaseUser"
+
+
backend.containers[0].env.fromGlobalSecret[1].namestring
+"POSTGRES_USER"
+
+
backend.containers[0].env.fromGlobalSecret[2].keystring
+"databaseName"
+
+
backend.containers[0].env.fromGlobalSecret[2].namestring
+"POSTGRES_DATABASE"
+
+
backend.containers[0].env.fromValues[0].namestring
+"POSTGRES_HOST"
+
+
backend.containers[0].env.fromValues[0].valuestring
+"{{ .Release.Name }}-{{.Values.global.databaseAlias}}"
+
+
backend.containers[0].imagestring
+"backend"
+
+
backend.containers[0].livenessProbe.failureThresholdint
+3
+
+
backend.containers[0].livenessProbe.httpGet.pathstring
+"/api"
+
+
backend.containers[0].livenessProbe.httpGet.portint
+3000
+
+
backend.containers[0].livenessProbe.httpGet.schemestring
+"HTTP"
+
+
backend.containers[0].livenessProbe.initialDelaySecondsint
+15
+
+
backend.containers[0].livenessProbe.periodSecondsint
+30
+
+
backend.containers[0].livenessProbe.successThresholdint
+1
+
+
backend.containers[0].livenessProbe.timeoutSecondsint
+5
+
+
backend.containers[0].namestring
+"backend"
+
+
backend.containers[0].ports[0].containerPortint
+3000
+
+
backend.containers[0].ports[0].namestring
+"http"
+
+
backend.containers[0].ports[0].protocolstring
+"TCP"
+
+
backend.containers[0].readinessProbe.failureThresholdint
+30
+
+
backend.containers[0].readinessProbe.httpGet.pathstring
+"/api"
+
+
backend.containers[0].readinessProbe.httpGet.portint
+3000
+
+
backend.containers[0].readinessProbe.httpGet.schemestring
+"HTTP"
+
+
backend.containers[0].readinessProbe.initialDelaySecondsint
+5
+
+
backend.containers[0].readinessProbe.periodSecondsint
+2
+
+
backend.containers[0].readinessProbe.successThresholdint
+1
+
+
backend.containers[0].readinessProbe.timeoutSecondsint
+2
+
+
backend.containers[0].registrystring
+"{{ .Values.global.registry }}"
+
+
backend.containers[0].repositorystring
+"{{ .Values.global.repository }}"
+
+
backend.containers[0].resources.limits.cpustring
+"250m"
+
+
backend.containers[0].resources.limits.memorystring
+"250Mi"
+
+
backend.containers[0].resources.requests.cpustring
+"100m"
+
+
backend.containers[0].resources.requests.memorystring
+"150Mi"
+
+
backend.containers[0].tagstring
+"{{ .Values.global.tag }}"
+
+
backend.deployment.enabledbool
+true
+
+
backend.deploymentStrategy.typestring
+"Recreate"
+
+
backend.enabledbool
+true
+
+
backend.initContainers[0].env.fromGlobalSecret[0].keystring
+"databasePassword"
+
+
backend.initContainers[0].env.fromGlobalSecret[0].namestring
+"FLYWAY_PASSWORD"
+
+
backend.initContainers[0].env.fromGlobalSecret[1].keystring
+"databaseJDBCURLNoCreds"
+
+
backend.initContainers[0].env.fromGlobalSecret[1].namestring
+"FLYWAY_URL"
+
+
backend.initContainers[0].env.fromGlobalSecret[2].keystring
+"databaseUser"
+
+
backend.initContainers[0].env.fromGlobalSecret[2].namestring
+"FLYWAY_USER"
+
+
backend.initContainers[0].env.fromValues[0].namestring
+"FLYWAY_BASELINE_ON_MIGRATE"
+
+
backend.initContainers[0].env.fromValues[0].valuestring
+"true"
+
+
backend.initContainers[0].env.fromValues[1].namestring
+"FLYWAY_DEFAULT_SCHEMA"
+
+
backend.initContainers[0].env.fromValues[1].valuestring
+"USERS"
+
+
backend.initContainers[0].env.fromValues[2].namestring
+"FLYWAY_CONNECT_RETRIES"
+
+
backend.initContainers[0].env.fromValues[2].valuestring
+"30"
+
+
backend.initContainers[0].imagestring
+"migrations"
+
+
backend.initContainers[0].namestring
+"database-migrations"
+
+
backend.initContainers[0].registrystring
+"{{ .Values.global.registry }}"
+
+
backend.initContainers[0].repositorystring
+"{{ .Values.global.repository }}"
+
+
backend.initContainers[0].resources.limits.cpustring
+"500m"
+
+
backend.initContainers[0].resources.limits.memorystring
+"250Mi"
+
+
backend.initContainers[0].resources.requests.cpustring
+"200m"
+
+
backend.initContainers[0].resources.requests.memorystring
+"150Mi"
+
+
backend.initContainers[0].tagstring
+"{{ .Values.global.tag }}"
+
+
backend.nodeSelectorobject
+{}
+
+
backend.service.enabledbool
+true
+
+
backend.service.ports[0].namestring
+"http"
+
+
backend.service.ports[0].portint
+80
+
+
backend.service.ports[0].protocolstring
+"TCP"
+
+
backend.service.ports[0].targetPortint
+3000
+
+
backend.service.typestring
+"ClusterIP"
+
+
backend.tolerationslist
+[]
+
+
backend.vault.enabledbool
+false
+
+
backend.vault.resources.limits.cpustring
+"50m"
+
+
backend.vault.resources.limits.memorystring
+"50Mi"
+
+
backend.vault.resources.requests.cpustring
+"50m"
+
+
backend.vault.resources.requests.memorystring
+"25Mi"
+
+
backend.vault.rolestring
+null
+
+
backend.vault.secretPaths[0]string
+"dev/api-1"
+
+
backend.vault.secretPaths[1]string
+"dev/api-2"
+
+
backend.vault.secretPaths[2]string
+"test/api-1"
+
+
backend.vault.secretPaths[3]string
+"test/api-2"
+
+
backend.vault.secretPaths[4]string
+"prod/api-1"
+
+
backend.vault.secretPaths[5]string
+"prod/api-2"
+
+
backup.containers[0].command[0]string
+"/bin/bash"
+
+
backup.containers[0].command[1]string
+"-c"
+
+
backup.containers[0].command[2]string
+"/backup.sh -1"
+
+
backup.containers[0].env.fromGlobalSecret[0].keystring
+"password"
+
+
backup.containers[0].env.fromGlobalSecret[0].namestring
+"DATABASE_PASSWORD"
+
+
backup.containers[0].env.fromGlobalSecret[1].keystring
+"databaseName"
+
+
backup.containers[0].env.fromGlobalSecret[1].namestring
+"POSTGRESQL_DATABASE"
+
+
backup.containers[0].env.fromGlobalSecret[2].keystring
+"databaseUser"
+
+
backup.containers[0].env.fromGlobalSecret[2].namestring
+"DATABASE_USER"
+
+
backup.containers[0].env.fromValues[0].namestring
+"BACKUP_DIR"
+
+
backup.containers[0].env.fromValues[0].valuestring
+"/backups/"
+
+
backup.containers[0].env.fromValues[1].namestring
+"BACKUP_STRATEGY"
+
+
backup.containers[0].env.fromValues[1].valuestring
+"rolling"
+
+
backup.containers[0].env.fromValues[2].namestring
+"NUM_BACKUPS"
+
+
backup.containers[0].env.fromValues[2].valuestring
+"5"
+
+
backup.containers[0].env.fromValues[3].namestring
+"DAILY_BACKUPS"
+
+
backup.containers[0].env.fromValues[3].valuestring
+"7"
+
+
backup.containers[0].env.fromValues[4].namestring
+"WEEKLY_BACKUPS"
+
+
backup.containers[0].env.fromValues[4].valuestring
+"4"
+
+
backup.containers[0].env.fromValues[5].namestring
+"MONTHLY_BACKUPS"
+
+
backup.containers[0].env.fromValues[5].valuestring
+"1"
+
+
backup.containers[0].env.fromValues[6].namestring
+"DATABASE_SERVICE_NAME"
+
+
backup.containers[0].env.fromValues[6].valuestring
+"{{.Release.Name}}-{{.Values.global.databaseAlias}}"
+
+
backup.containers[0].env.fromValues[7].namestring
+"DEFAULT_PORT"
+
+
backup.containers[0].env.fromValues[7].valuestring
+"5432"
+
+
backup.containers[0].imagestring
+"backup-container"
+
+
backup.containers[0].namestring
+"backup"
+
+
backup.containers[0].registrystring
+"docker.io"
+
+
backup.containers[0].repositorystring
+"bcgovimages"
+
+
backup.containers[0].resources.limits.cpustring
+"50m"
+
+
backup.containers[0].resources.limits.memorystring
+"256Mi"
+
+
backup.containers[0].resources.requests.cpustring
+"20m"
+
+
backup.containers[0].resources.requests.memorystring
+"128Mi"
+
+
backup.containers[0].tagstring
+"latest"
+
+
backup.containers[0].volumeMounts[0].mountPathstring
+"/backups/"
+
+
backup.containers[0].volumeMounts[0].namestring
+"{{.Release.Name}}-backup"
+
+
backup.cronjob.concurrencyPolicystring
+"Replace"
+
+
backup.cronjob.enabledbool
+true
+
+
backup.cronjob.failedJobsHistoryLimitint
+7
+
+
backup.cronjob.restartPolicystring
+"Never"
+
+
backup.cronjob.schedulestring
+"0 0 * * *"
+
+
backup.cronjob.startingDeadlineSecondsint
+3600
+
+
backup.cronjob.successfulJobsHistoryLimitint
+30
+
+
backup.cronjob.volumes[0].namestring
+"{{.Release.Name}}-backup"
+
+
backup.cronjob.volumes[0].persistentVolumeClaim.claimNamestring
+"{{.Release.Name}}-backup"
+
+
backup.enabledbool
+true
+
+
backup.pvc.accessModesstring
+"ReadWriteOnce"
+
+
backup.pvc.enabledbool
+true
+
+
backup.pvc.sizestring
+"256Mi"
+
+
backup.pvc.storageClassNamestring
+"netapp-file-standard"
+
+
bitnami-pg.auth.databasestring
+"quickstart"
+
+
bitnami-pg.auth.existingSecretstring
+"{{ .Release.Name }}"
+
+
bitnami-pg.auth.usernamestring
+"quickstart"
+
+
bitnami-pg.backup.cronjob.containerSecurityContextobject
+{}
+
+
bitnami-pg.backup.cronjob.podSecurityContext.enabledbool
+false
+
+
bitnami-pg.backup.cronjob.storage.sizestring
+"200Mi"
+
+
bitnami-pg.backup.enabledbool
+false
+
+
bitnami-pg.enabledbool
+true
+
+
bitnami-pg.image.registrystring
+"ghcr.io"
+
+
bitnami-pg.image.repositorystring
+"bcgov/nr-containers/bitnami/postgresql"
+
+
bitnami-pg.image.tagstring
+"15.5.0"
+
+
bitnami-pg.primary.containerSecurityContext.enabledbool
+false
+
+
bitnami-pg.primary.initdb.scripts."postgis.sh"string
+"#!/bin/sh\nPGPASSWORD=$POSTGRES_PASSWORD psql -U postgres -d postgres -c \"CREATE EXTENSION postgis;\"\n"
+
+
bitnami-pg.primary.persistence.accessModes[0]string
+"ReadWriteOnce"
+
+
bitnami-pg.primary.persistence.enabledbool
+true
+
+
bitnami-pg.primary.persistence.sizestring
+"100Mi"
+
+
bitnami-pg.primary.persistence.storageClassstring
+"netapp-file-standard"
+
+
bitnami-pg.primary.podSecurityContext.enabledbool
+false
+
+
bitnami-pg.primary.resources.limits.cpustring
+"150m"
+
+
bitnami-pg.primary.resources.limits.memorystring
+"250Mi"
+
+
bitnami-pg.primary.resources.requests.cpustring
+"50m"
+
+
bitnami-pg.primary.resources.requests.memorystring
+"150Mi"
+
+
bitnami-pg.shmVolume.enabledbool
+false
+
+
crunchy.crunchyImagestring
+"artifacts.developer.gov.bc.ca/bcgov-docker-local/crunchy-postgres-gis:ubi8-15.2-3.3-0"
+
+
crunchy.enabledbool
+false
+
+
crunchy.imagePullPolicystring
+"Always"
+
+
crunchy.instances.dataVolumeClaimSpec.storagestring
+"120Mi"
+
+
crunchy.instances.dataVolumeClaimSpec.storageClassNamestring
+"netapp-block-standard"
+
+
crunchy.instances.limits.cpustring
+"100m"
+
+
crunchy.instances.limits.memorystring
+"512Mi"
+
+
crunchy.instances.metadata.annotations."prometheus.io/port"string
+"9187"
+
+
crunchy.instances.metadata.annotations."prometheus.io/scrape"string
+"true"
+
+
crunchy.instances.namestring
+"ha"
+
+
crunchy.instances.replicaCertCopy.limits.cpustring
+"50m"
+
+
crunchy.instances.replicaCertCopy.limits.memorystring
+"64Mi"
+
+
crunchy.instances.replicaCertCopy.requests.cpustring
+"1m"
+
+
crunchy.instances.replicaCertCopy.requests.memorystring
+"32Mi"
+
+
crunchy.instances.replicasint
+1
+
+
crunchy.instances.requests.cpustring
+"25m"
+
+
crunchy.instances.requests.memorystring
+"256Mi"
+
+
crunchy.patroni.postgresql.parameters.max_slot_wal_keep_sizestring
+"128MB"
+
+
crunchy.patroni.postgresql.parameters.max_wal_sizestring
+"64MB"
+
+
crunchy.patroni.postgresql.parameters.min_wal_sizestring
+"32MB"
+
+
crunchy.patroni.postgresql.parameters.shared_buffersstring
+"16MB"
+
+
crunchy.patroni.postgresql.parameters.wal_buffersstring
+"64kB"
+
+
crunchy.patroni.postgresql.pg_hbastring
+"host all all 0.0.0.0/0 md5"
+
+
crunchy.pgBackRest.enabledbool
+false
+
+
crunchy.pgBackRest.imagestring
+null
+
+
crunchy.pgBackRest.repoHost.limits.cpustring
+"50m"
+
+
crunchy.pgBackRest.repoHost.limits.memorystring
+"128Mi"
+
+
crunchy.pgBackRest.repoHost.requests.cpustring
+"1m"
+
+
crunchy.pgBackRest.repoHost.requests.memorystring
+"64Mi"
+
+
crunchy.pgBackRest.repos.schedules.fullstring
+"0 8 * * *"
+
+
crunchy.pgBackRest.repos.schedules.incrementalstring
+"0 0,4,12,16,20 * * *"
+
+
crunchy.pgBackRest.repos.volume.accessModesstring
+"ReadWriteOnce"
+
+
crunchy.pgBackRest.repos.volume.storagestring
+"64Mi"
+
+
crunchy.pgBackRest.repos.volume.storageClassNamestring
+"netapp-file-backup"
+
+
crunchy.pgBackRest.retentionstring
+"1"
+
+
crunchy.pgBackRest.retentionFullTypestring
+"count"
+
+
crunchy.pgBackRest.sidecars.limits.cpustring
+"50m"
+
+
crunchy.pgBackRest.sidecars.limits.memorystring
+"128Mi"
+
+
crunchy.pgBackRest.sidecars.requests.cpustring
+"1m"
+
+
crunchy.pgBackRest.sidecars.requests.memorystring
+"64Mi"
+
+
crunchy.pgmonitor.enabledbool
+false
+
+
crunchy.pgmonitor.exporter.imagestring
+null
+
+
crunchy.pgmonitor.exporter.limits.cpustring
+"50m"
+
+
crunchy.pgmonitor.exporter.limits.memorystring
+"128Mi"
+
+
crunchy.pgmonitor.exporter.requests.cpustring
+"1m"
+
+
crunchy.pgmonitor.exporter.requests.memorystring
+"64Mi"
+
+
crunchy.postGISVersionstring
+"3.3"
+
+
crunchy.postgresVersionint
+15
+
+
crunchy.proxy.pgBouncer.imagestring
+null
+
+
crunchy.proxy.pgBouncer.limits.cpustring
+"50m"
+
+
crunchy.proxy.pgBouncer.limits.memorystring
+"128Mi"
+
+
crunchy.proxy.pgBouncer.replicasint
+1
+
+
crunchy.proxy.pgBouncer.requests.cpustring
+"1m"
+
+
crunchy.proxy.pgBouncer.requests.memorystring
+"64Mi"
+
+
frontend.autoscaling.behavior.scaleDown.policies[0].periodSecondsint
+60
+
+
frontend.autoscaling.behavior.scaleDown.policies[0].typestring
+"Percent"
+
+
frontend.autoscaling.behavior.scaleDown.policies[0].valueint
+10
+
+
frontend.autoscaling.behavior.scaleDown.policies[1].periodSecondsint
+60
+
+
frontend.autoscaling.behavior.scaleDown.policies[1].typestring
+"Pods"
+
+
frontend.autoscaling.behavior.scaleDown.policies[1].valueint
+2
+
+
frontend.autoscaling.behavior.scaleDown.selectPolicystring
+"Min"
+
+
frontend.autoscaling.behavior.scaleDown.stabilizationWindowSecondsint
+300
+
+
frontend.autoscaling.behavior.scaleUp.policies[0].periodSecondsint
+30
+
+
frontend.autoscaling.behavior.scaleUp.policies[0].typestring
+"Percent"
+
+
frontend.autoscaling.behavior.scaleUp.policies[0].valueint
+100
+
+
frontend.autoscaling.behavior.scaleUp.policies[1].periodSecondsint
+30
+
+
frontend.autoscaling.behavior.scaleUp.policies[1].typestring
+"Pods"
+
+
frontend.autoscaling.behavior.scaleUp.policies[1].valueint
+2
+
+
frontend.autoscaling.behavior.scaleUp.selectPolicystring
+"Max"
+
+
frontend.autoscaling.behavior.scaleUp.stabilizationWindowSecondsint
+0
+
+
frontend.autoscaling.enabledbool
+true
+
+
frontend.autoscaling.maxReplicasint
+7
+
+
frontend.autoscaling.minReplicasint
+3
+
+
frontend.autoscaling.targetCPUUtilizationPercentageint
+80
+
+
frontend.configmapobject
+{
+  "data": {
+    "config.js": "const envConfig = (() =\u003e {\n  return {\n    \"VITE_DEPLOY_ENVIRONMENT\":\"{{ .Release.Name }}-{{ .Release.Namespace }}\"\n  };\n})();",
+    "config.prod.js": "const envConfig = (() =\u003e {\n  return {\n    \"VITE_DEPLOY_ENVIRONMENT\":\"static\"\n  };\n})();"
+  },
+  "enabled": true
+}
+
+
the configmap specific to the component.
frontend.configmap.dataobject
+{
+  "config.js": "const envConfig = (() =\u003e {\n  return {\n    \"VITE_DEPLOY_ENVIRONMENT\":\"{{ .Release.Name }}-{{ .Release.Namespace }}\"\n  };\n})();",
+  "config.prod.js": "const envConfig = (() =\u003e {\n  return {\n    \"VITE_DEPLOY_ENVIRONMENT\":\"static\"\n  };\n})();"
+}
+
+
dat contains key value pairs for the configmap. can contain multiple files. value can be piped as string.
frontend.configmap.enabledbool
+true
+
+
enable or disable the configmap.
frontend.containerslist
+[
+  {
+    "env": {
+      "fromLocalConfigmap": [
+        {
+          "key": "config.js",
+          "name": "frontend-configmap"
+        },
+        {
+          "key": "config.prod.js",
+          "name": "frontend-prod-configmap"
+        }
+      ],
+      "fromValues": [
+        {
+          "name": "BACKEND_URL",
+          "value": "http://{{ .Release.Name }}-backend"
+        },
+        {
+          "name": "LOG_LEVEL",
+          "value": "info"
+        }
+      ]
+    },
+    "image": "frontend",
+    "livenessProbe": {
+      "failureThreshold": 3,
+      "httpGet": {
+        "path": "/health",
+        "port": 3001,
+        "scheme": "HTTP"
+      },
+      "initialDelaySeconds": 15,
+      "periodSeconds": 30,
+      "successThreshold": 1,
+      "timeoutSeconds": 5
+    },
+    "name": "frontend",
+    "ports": [
+      {
+        "containerPort": 3000,
+        "name": "http",
+        "protocol": "TCP"
+      },
+      {
+        "containerPort": 3001,
+        "name": "http2",
+        "protocol": "TCP"
+      }
+    ],
+    "readinessProbe": {
+      "failureThreshold": 30,
+      "httpGet": {
+        "path": "/health",
+        "port": 3001,
+        "scheme": "HTTP"
+      },
+      "initialDelaySeconds": 5,
+      "periodSeconds": 2,
+      "successThreshold": 1,
+      "timeoutSeconds": 2
+    },
+    "registry": "{{ .Values.global.registry }}",
+    "repository": "{{ .Values.global.repository }}",
+    "resources": {
+      "limits": {
+        "cpu": "100m",
+        "memory": "150Mi"
+      },
+      "requests": {
+        "cpu": "30m",
+        "memory": "50Mi"
+      }
+    },
+    "securityContext": {
+      "capabilities": {
+        "add": [
+          "NET_BIND_SERVICE"
+        ]
+      }
+    },
+    "tag": "{{ .Values.global.tag }}"
+  }
+]
+
+
the containers specific to the component. one or many containers can be defined.
frontend.deploymentobject
+{
+  "enabled": true
+}
+
+
can be either a statefulSet or a deployment not both. TBD (StatefulSet)
frontend.deploymentStrategyobject
+{
+  "type": "Recreate"
+}
+
+
the deployment strategy, can be "Recreate" or "RollingUpdate"
frontend.enabledbool
+true
+
+
enable or disable a component deployment.
frontend.route.enabledbool
+true
+
+
frontend.route.hoststring
+"{{ .Release.Name }}-frontend.{{ .Values.global.domain }}"
+
+
frontend.route.targetPortstring
+"http"
+
+
frontend.service.enabledbool
+true
+
+
frontend.service.ports[0].namestring
+"http"
+
+
frontend.service.ports[0].portint
+80
+
+
frontend.service.ports[0].protocolstring
+"TCP"
+
+
frontend.service.ports[0].targetPortint
+3000
+
+
frontend.service.typestring
+"ClusterIP"
+
+
global.autoscalingbool
+true
+
+
global.databaseAliasstring
+"bitnami-pg"
+
+
global.domainstring
+"apps.silver.devops.gov.bc.ca"
+
+
global.openshiftImageRegistrystring
+"image-registry.openshift-image-registry.svc:5000"
+
+
global.podAnnotationsstring
+"app.kubernetes.io/timestamp: {{now | toString }}\n"
+
+
global.registrystring
+"ghcr.io"
+
+
global.repositorystring
+null
+
+
global.secrets.annotation."helm.sh/policy"string
+"keep"
+
+
global.secrets.databaseNamestring
+null
+
+
global.secrets.databasePasswordstring
+null
+
+
global.secrets.databaseUserstring
+null
+
+
global.secrets.enabledbool
+true
+
+
global.tagstring
+null
+
+
+ + +## Values + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
backend.affinityobject
+{}
+
+
backend.autoscaling.behavior.scaleDown.policies[0].periodSecondsint
+60
+
+
backend.autoscaling.behavior.scaleDown.policies[0].typestring
+"Percent"
+
+
backend.autoscaling.behavior.scaleDown.policies[0].valueint
+10
+
+
backend.autoscaling.behavior.scaleDown.policies[1].periodSecondsint
+60
+
+
backend.autoscaling.behavior.scaleDown.policies[1].typestring
+"Pods"
+
+
backend.autoscaling.behavior.scaleDown.policies[1].valueint
+2
+
+
backend.autoscaling.behavior.scaleDown.selectPolicystring
+"Min"
+
+
backend.autoscaling.behavior.scaleDown.stabilizationWindowSecondsint
+300
+
+
backend.autoscaling.behavior.scaleUp.policies[0].periodSecondsint
+30
+
+
backend.autoscaling.behavior.scaleUp.policies[0].typestring
+"Percent"
+
+
backend.autoscaling.behavior.scaleUp.policies[0].valueint
+100
+
+
backend.autoscaling.behavior.scaleUp.policies[1].periodSecondsint
+30
+
+
backend.autoscaling.behavior.scaleUp.policies[1].typestring
+"Pods"
+
+
backend.autoscaling.behavior.scaleUp.policies[1].valueint
+2
+
+
backend.autoscaling.behavior.scaleUp.selectPolicystring
+"Max"
+
+
backend.autoscaling.behavior.scaleUp.stabilizationWindowSecondsint
+0
+
+
backend.autoscaling.enabledbool
+true
+
+
backend.autoscaling.maxReplicasint
+7
+
+
backend.autoscaling.minReplicasint
+3
+
+
backend.autoscaling.targetCPUUtilizationPercentageint
+80
+
+
backend.containers[0].env.fromGlobalSecret[0].keystring
+"password"
+
+
backend.containers[0].env.fromGlobalSecret[0].namestring
+"POSTGRES_PASSWORD"
+
+
backend.containers[0].env.fromGlobalSecret[1].keystring
+"databaseUser"
+
+
backend.containers[0].env.fromGlobalSecret[1].namestring
+"POSTGRES_USER"
+
+
backend.containers[0].env.fromGlobalSecret[2].keystring
+"databaseName"
+
+
backend.containers[0].env.fromGlobalSecret[2].namestring
+"POSTGRES_DATABASE"
+
+
backend.containers[0].env.fromValues[0].namestring
+"POSTGRES_HOST"
+
+
backend.containers[0].env.fromValues[0].valuestring
+"{{ .Release.Name }}-{{.Values.global.databaseAlias}}"
+
+
backend.containers[0].imagestring
+"backend"
+
+
backend.containers[0].livenessProbe.failureThresholdint
+3
+
+
backend.containers[0].livenessProbe.httpGet.pathstring
+"/api"
+
+
backend.containers[0].livenessProbe.httpGet.portint
+3000
+
+
backend.containers[0].livenessProbe.httpGet.schemestring
+"HTTP"
+
+
backend.containers[0].livenessProbe.initialDelaySecondsint
+15
+
+
backend.containers[0].livenessProbe.periodSecondsint
+30
+
+
backend.containers[0].livenessProbe.successThresholdint
+1
+
+
backend.containers[0].livenessProbe.timeoutSecondsint
+5
+
+
backend.containers[0].namestring
+"backend"
+
+
backend.containers[0].ports[0].containerPortint
+3000
+
+
backend.containers[0].ports[0].namestring
+"http"
+
+
backend.containers[0].ports[0].protocolstring
+"TCP"
+
+
backend.containers[0].readinessProbe.failureThresholdint
+30
+
+
backend.containers[0].readinessProbe.httpGet.pathstring
+"/api"
+
+
backend.containers[0].readinessProbe.httpGet.portint
+3000
+
+
backend.containers[0].readinessProbe.httpGet.schemestring
+"HTTP"
+
+
backend.containers[0].readinessProbe.initialDelaySecondsint
+5
+
+
backend.containers[0].readinessProbe.periodSecondsint
+2
+
+
backend.containers[0].readinessProbe.successThresholdint
+1
+
+
backend.containers[0].readinessProbe.timeoutSecondsint
+2
+
+
backend.containers[0].registrystring
+"{{ .Values.global.registry }}"
+
+
backend.containers[0].repositorystring
+"{{ .Values.global.repository }}"
+
+
backend.containers[0].resources.limits.cpustring
+"250m"
+
+
backend.containers[0].resources.limits.memorystring
+"250Mi"
+
+
backend.containers[0].resources.requests.cpustring
+"100m"
+
+
backend.containers[0].resources.requests.memorystring
+"150Mi"
+
+
backend.containers[0].tagstring
+"{{ .Values.global.tag }}"
+
+
backend.deployment.enabledbool
+true
+
+
backend.deploymentStrategy.typestring
+"Recreate"
+
+
backend.enabledbool
+true
+
+
backend.initContainers[0].env.fromGlobalSecret[0].keystring
+"databasePassword"
+
+
backend.initContainers[0].env.fromGlobalSecret[0].namestring
+"FLYWAY_PASSWORD"
+
+
backend.initContainers[0].env.fromGlobalSecret[1].keystring
+"databaseJDBCURLNoCreds"
+
+
backend.initContainers[0].env.fromGlobalSecret[1].namestring
+"FLYWAY_URL"
+
+
backend.initContainers[0].env.fromGlobalSecret[2].keystring
+"databaseUser"
+
+
backend.initContainers[0].env.fromGlobalSecret[2].namestring
+"FLYWAY_USER"
+
+
backend.initContainers[0].env.fromValues[0].namestring
+"FLYWAY_BASELINE_ON_MIGRATE"
+
+
backend.initContainers[0].env.fromValues[0].valuestring
+"true"
+
+
backend.initContainers[0].env.fromValues[1].namestring
+"FLYWAY_DEFAULT_SCHEMA"
+
+
backend.initContainers[0].env.fromValues[1].valuestring
+"USERS"
+
+
backend.initContainers[0].env.fromValues[2].namestring
+"FLYWAY_CONNECT_RETRIES"
+
+
backend.initContainers[0].env.fromValues[2].valuestring
+"30"
+
+
backend.initContainers[0].imagestring
+"migrations"
+
+
backend.initContainers[0].namestring
+"database-migrations"
+
+
backend.initContainers[0].registrystring
+"{{ .Values.global.registry }}"
+
+
backend.initContainers[0].repositorystring
+"{{ .Values.global.repository }}"
+
+
backend.initContainers[0].resources.limits.cpustring
+"500m"
+
+
backend.initContainers[0].resources.limits.memorystring
+"250Mi"
+
+
backend.initContainers[0].resources.requests.cpustring
+"200m"
+
+
backend.initContainers[0].resources.requests.memorystring
+"150Mi"
+
+
backend.initContainers[0].tagstring
+"{{ .Values.global.tag }}"
+
+
backend.nodeSelectorobject
+{}
+
+
backend.service.enabledbool
+true
+
+
backend.service.ports[0].namestring
+"http"
+
+
backend.service.ports[0].portint
+80
+
+
backend.service.ports[0].protocolstring
+"TCP"
+
+
backend.service.ports[0].targetPortint
+3000
+
+
backend.service.typestring
+"ClusterIP"
+
+
backend.tolerationslist
+[]
+
+
backend.vault.enabledbool
+false
+
+
backend.vault.resources.limits.cpustring
+"50m"
+
+
backend.vault.resources.limits.memorystring
+"50Mi"
+
+
backend.vault.resources.requests.cpustring
+"50m"
+
+
backend.vault.resources.requests.memorystring
+"25Mi"
+
+
backend.vault.rolestring
+null
+
+
backend.vault.secretPaths[0]string
+"dev/api-1"
+
+
backend.vault.secretPaths[1]string
+"dev/api-2"
+
+
backend.vault.secretPaths[2]string
+"test/api-1"
+
+
backend.vault.secretPaths[3]string
+"test/api-2"
+
+
backend.vault.secretPaths[4]string
+"prod/api-1"
+
+
backend.vault.secretPaths[5]string
+"prod/api-2"
+
+
backup.containers[0].command[0]string
+"/bin/bash"
+
+
backup.containers[0].command[1]string
+"-c"
+
+
backup.containers[0].command[2]string
+"/backup.sh -1"
+
+
backup.containers[0].env.fromGlobalSecret[0].keystring
+"password"
+
+
backup.containers[0].env.fromGlobalSecret[0].namestring
+"DATABASE_PASSWORD"
+
+
backup.containers[0].env.fromGlobalSecret[1].keystring
+"databaseName"
+
+
backup.containers[0].env.fromGlobalSecret[1].namestring
+"POSTGRESQL_DATABASE"
+
+
backup.containers[0].env.fromGlobalSecret[2].keystring
+"databaseUser"
+
+
backup.containers[0].env.fromGlobalSecret[2].namestring
+"DATABASE_USER"
+
+
backup.containers[0].env.fromValues[0].namestring
+"BACKUP_DIR"
+
+
backup.containers[0].env.fromValues[0].valuestring
+"/backups/"
+
+
backup.containers[0].env.fromValues[1].namestring
+"BACKUP_STRATEGY"
+
+
backup.containers[0].env.fromValues[1].valuestring
+"rolling"
+
+
backup.containers[0].env.fromValues[2].namestring
+"NUM_BACKUPS"
+
+
backup.containers[0].env.fromValues[2].valuestring
+"5"
+
+
backup.containers[0].env.fromValues[3].namestring
+"DAILY_BACKUPS"
+
+
backup.containers[0].env.fromValues[3].valuestring
+"7"
+
+
backup.containers[0].env.fromValues[4].namestring
+"WEEKLY_BACKUPS"
+
+
backup.containers[0].env.fromValues[4].valuestring
+"4"
+
+
backup.containers[0].env.fromValues[5].namestring
+"MONTHLY_BACKUPS"
+
+
backup.containers[0].env.fromValues[5].valuestring
+"1"
+
+
backup.containers[0].env.fromValues[6].namestring
+"DATABASE_SERVICE_NAME"
+
+
backup.containers[0].env.fromValues[6].valuestring
+"{{.Release.Name}}-{{.Values.global.databaseAlias}}"
+
+
backup.containers[0].env.fromValues[7].namestring
+"DEFAULT_PORT"
+
+
backup.containers[0].env.fromValues[7].valuestring
+"5432"
+
+
backup.containers[0].imagestring
+"backup-container"
+
+
backup.containers[0].namestring
+"backup"
+
+
backup.containers[0].registrystring
+"docker.io"
+
+
backup.containers[0].repositorystring
+"bcgovimages"
+
+
backup.containers[0].resources.limits.cpustring
+"50m"
+
+
backup.containers[0].resources.limits.memorystring
+"256Mi"
+
+
backup.containers[0].resources.requests.cpustring
+"20m"
+
+
backup.containers[0].resources.requests.memorystring
+"128Mi"
+
+
backup.containers[0].tagstring
+"latest"
+
+
backup.containers[0].volumeMounts[0].mountPathstring
+"/backups/"
+
+
backup.containers[0].volumeMounts[0].namestring
+"{{.Release.Name}}-backup"
+
+
backup.cronjob.concurrencyPolicystring
+"Replace"
+
+
backup.cronjob.enabledbool
+true
+
+
backup.cronjob.failedJobsHistoryLimitint
+7
+
+
backup.cronjob.restartPolicystring
+"Never"
+
+
backup.cronjob.schedulestring
+"0 0 * * *"
+
+
backup.cronjob.startingDeadlineSecondsint
+3600
+
+
backup.cronjob.successfulJobsHistoryLimitint
+30
+
+
backup.cronjob.volumes[0].namestring
+"{{.Release.Name}}-backup"
+
+
backup.cronjob.volumes[0].persistentVolumeClaim.claimNamestring
+"{{.Release.Name}}-backup"
+
+
backup.enabledbool
+true
+
+
backup.pvc.accessModesstring
+"ReadWriteOnce"
+
+
backup.pvc.enabledbool
+true
+
+
backup.pvc.sizestring
+"256Mi"
+
+
backup.pvc.storageClassNamestring
+"netapp-file-standard"
+
+
bitnami-pg.auth.databasestring
+"quickstart"
+
+
bitnami-pg.auth.existingSecretstring
+"{{ .Release.Name }}"
+
+
bitnami-pg.auth.usernamestring
+"quickstart"
+
+
bitnami-pg.backup.cronjob.containerSecurityContextobject
+{}
+
+
bitnami-pg.backup.cronjob.podSecurityContext.enabledbool
+false
+
+
bitnami-pg.backup.cronjob.storage.sizestring
+"200Mi"
+
+
bitnami-pg.backup.enabledbool
+false
+
+
bitnami-pg.enabledbool
+true
+
+
bitnami-pg.image.registrystring
+"ghcr.io"
+
+
bitnami-pg.image.repositorystring
+"bcgov/nr-containers/bitnami/postgresql"
+
+
bitnami-pg.image.tagstring
+"15.5.0"
+
+
bitnami-pg.primary.containerSecurityContext.enabledbool
+false
+
+
bitnami-pg.primary.initdb.scripts."postgis.sh"string
+"#!/bin/sh\nPGPASSWORD=$POSTGRES_PASSWORD psql -U postgres -d postgres -c \"CREATE EXTENSION postgis;\"\n"
+
+
bitnami-pg.primary.persistence.accessModes[0]string
+"ReadWriteOnce"
+
+
bitnami-pg.primary.persistence.enabledbool
+true
+
+
bitnami-pg.primary.persistence.sizestring
+"100Mi"
+
+
bitnami-pg.primary.persistence.storageClassstring
+"netapp-file-standard"
+
+
bitnami-pg.primary.podSecurityContext.enabledbool
+false
+
+
bitnami-pg.primary.resources.limits.cpustring
+"150m"
+
+
bitnami-pg.primary.resources.limits.memorystring
+"250Mi"
+
+
bitnami-pg.primary.resources.requests.cpustring
+"50m"
+
+
bitnami-pg.primary.resources.requests.memorystring
+"150Mi"
+
+
bitnami-pg.shmVolume.enabledbool
+false
+
+
crunchy.crunchyImagestring
+"artifacts.developer.gov.bc.ca/bcgov-docker-local/crunchy-postgres-gis:ubi8-15.2-3.3-0"
+
+
crunchy.enabledbool
+false
+
+
crunchy.imagePullPolicystring
+"Always"
+
+
crunchy.instances.dataVolumeClaimSpec.storagestring
+"120Mi"
+
+
crunchy.instances.dataVolumeClaimSpec.storageClassNamestring
+"netapp-block-standard"
+
+
crunchy.instances.limits.cpustring
+"100m"
+
+
crunchy.instances.limits.memorystring
+"512Mi"
+
+
crunchy.instances.metadata.annotations."prometheus.io/port"string
+"9187"
+
+
crunchy.instances.metadata.annotations."prometheus.io/scrape"string
+"true"
+
+
crunchy.instances.namestring
+"ha"
+
+
crunchy.instances.replicaCertCopy.limits.cpustring
+"50m"
+
+
crunchy.instances.replicaCertCopy.limits.memorystring
+"64Mi"
+
+
crunchy.instances.replicaCertCopy.requests.cpustring
+"1m"
+
+
crunchy.instances.replicaCertCopy.requests.memorystring
+"32Mi"
+
+
crunchy.instances.replicasint
+1
+
+
crunchy.instances.requests.cpustring
+"25m"
+
+
crunchy.instances.requests.memorystring
+"256Mi"
+
+
crunchy.patroni.postgresql.parameters.max_slot_wal_keep_sizestring
+"128MB"
+
+
crunchy.patroni.postgresql.parameters.max_wal_sizestring
+"64MB"
+
+
crunchy.patroni.postgresql.parameters.min_wal_sizestring
+"32MB"
+
+
crunchy.patroni.postgresql.parameters.shared_buffersstring
+"16MB"
+
+
crunchy.patroni.postgresql.parameters.wal_buffersstring
+"64kB"
+
+
crunchy.patroni.postgresql.pg_hbastring
+"host all all 0.0.0.0/0 md5"
+
+
crunchy.pgBackRest.enabledbool
+false
+
+
crunchy.pgBackRest.imagestring
+null
+
+
crunchy.pgBackRest.repoHost.limits.cpustring
+"50m"
+
+
crunchy.pgBackRest.repoHost.limits.memorystring
+"128Mi"
+
+
crunchy.pgBackRest.repoHost.requests.cpustring
+"1m"
+
+
crunchy.pgBackRest.repoHost.requests.memorystring
+"64Mi"
+
+
crunchy.pgBackRest.repos.schedules.fullstring
+"0 8 * * *"
+
+
crunchy.pgBackRest.repos.schedules.incrementalstring
+"0 0,4,12,16,20 * * *"
+
+
crunchy.pgBackRest.repos.volume.accessModesstring
+"ReadWriteOnce"
+
+
crunchy.pgBackRest.repos.volume.storagestring
+"64Mi"
+
+
crunchy.pgBackRest.repos.volume.storageClassNamestring
+"netapp-file-backup"
+
+
crunchy.pgBackRest.retentionstring
+"1"
+
+
crunchy.pgBackRest.retentionFullTypestring
+"count"
+
+
crunchy.pgBackRest.sidecars.limits.cpustring
+"50m"
+
+
crunchy.pgBackRest.sidecars.limits.memorystring
+"128Mi"
+
+
crunchy.pgBackRest.sidecars.requests.cpustring
+"1m"
+
+
crunchy.pgBackRest.sidecars.requests.memorystring
+"64Mi"
+
+
crunchy.pgmonitor.enabledbool
+false
+
+
crunchy.pgmonitor.exporter.imagestring
+null
+
+
crunchy.pgmonitor.exporter.limits.cpustring
+"50m"
+
+
crunchy.pgmonitor.exporter.limits.memorystring
+"128Mi"
+
+
crunchy.pgmonitor.exporter.requests.cpustring
+"1m"
+
+
crunchy.pgmonitor.exporter.requests.memorystring
+"64Mi"
+
+
crunchy.postGISVersionstring
+"3.3"
+
+
crunchy.postgresVersionint
+15
+
+
crunchy.proxy.pgBouncer.imagestring
+null
+
+
crunchy.proxy.pgBouncer.limits.cpustring
+"50m"
+
+
crunchy.proxy.pgBouncer.limits.memorystring
+"128Mi"
+
+
crunchy.proxy.pgBouncer.replicasint
+1
+
+
crunchy.proxy.pgBouncer.requests.cpustring
+"1m"
+
+
crunchy.proxy.pgBouncer.requests.memorystring
+"64Mi"
+
+
frontend.autoscaling.behavior.scaleDown.policies[0].periodSecondsint
+60
+
+
frontend.autoscaling.behavior.scaleDown.policies[0].typestring
+"Percent"
+
+
frontend.autoscaling.behavior.scaleDown.policies[0].valueint
+10
+
+
frontend.autoscaling.behavior.scaleDown.policies[1].periodSecondsint
+60
+
+
frontend.autoscaling.behavior.scaleDown.policies[1].typestring
+"Pods"
+
+
frontend.autoscaling.behavior.scaleDown.policies[1].valueint
+2
+
+
frontend.autoscaling.behavior.scaleDown.selectPolicystring
+"Min"
+
+
frontend.autoscaling.behavior.scaleDown.stabilizationWindowSecondsint
+300
+
+
frontend.autoscaling.behavior.scaleUp.policies[0].periodSecondsint
+30
+
+
frontend.autoscaling.behavior.scaleUp.policies[0].typestring
+"Percent"
+
+
frontend.autoscaling.behavior.scaleUp.policies[0].valueint
+100
+
+
frontend.autoscaling.behavior.scaleUp.policies[1].periodSecondsint
+30
+
+
frontend.autoscaling.behavior.scaleUp.policies[1].typestring
+"Pods"
+
+
frontend.autoscaling.behavior.scaleUp.policies[1].valueint
+2
+
+
frontend.autoscaling.behavior.scaleUp.selectPolicystring
+"Max"
+
+
frontend.autoscaling.behavior.scaleUp.stabilizationWindowSecondsint
+0
+
+
frontend.autoscaling.enabledbool
+true
+
+
frontend.autoscaling.maxReplicasint
+7
+
+
frontend.autoscaling.minReplicasint
+3
+
+
frontend.autoscaling.targetCPUUtilizationPercentageint
+80
+
+
frontend.configmapobject
+{
+  "data": {
+    "config.js": "const envConfig = (() =\u003e {\n  return {\n    \"VITE_DEPLOY_ENVIRONMENT\":\"{{ .Release.Name }}-{{ .Release.Namespace }}\"\n  };\n})();",
+    "config.prod.js": "const envConfig = (() =\u003e {\n  return {\n    \"VITE_DEPLOY_ENVIRONMENT\":\"static\"\n  };\n})();"
+  },
+  "enabled": true
+}
+
+
the configmap specific to the component.
frontend.configmap.dataobject
+{
+  "config.js": "const envConfig = (() =\u003e {\n  return {\n    \"VITE_DEPLOY_ENVIRONMENT\":\"{{ .Release.Name }}-{{ .Release.Namespace }}\"\n  };\n})();",
+  "config.prod.js": "const envConfig = (() =\u003e {\n  return {\n    \"VITE_DEPLOY_ENVIRONMENT\":\"static\"\n  };\n})();"
+}
+
+
dat contains key value pairs for the configmap. can contain multiple files. value can be piped as string.
frontend.configmap.enabledbool
+true
+
+
enable or disable the configmap.
frontend.containerslist
+[
+  {
+    "env": {
+      "fromLocalConfigmap": [
+        {
+          "key": "config.js",
+          "name": "frontend-configmap"
+        },
+        {
+          "key": "config.prod.js",
+          "name": "frontend-prod-configmap"
+        }
+      ],
+      "fromValues": [
+        {
+          "name": "BACKEND_URL",
+          "value": "http://{{ .Release.Name }}-backend"
+        },
+        {
+          "name": "LOG_LEVEL",
+          "value": "info"
+        }
+      ]
+    },
+    "image": "frontend",
+    "livenessProbe": {
+      "failureThreshold": 3,
+      "httpGet": {
+        "path": "/health",
+        "port": 3001,
+        "scheme": "HTTP"
+      },
+      "initialDelaySeconds": 15,
+      "periodSeconds": 30,
+      "successThreshold": 1,
+      "timeoutSeconds": 5
+    },
+    "name": "frontend",
+    "ports": [
+      {
+        "containerPort": 3000,
+        "name": "http",
+        "protocol": "TCP"
+      },
+      {
+        "containerPort": 3001,
+        "name": "http2",
+        "protocol": "TCP"
+      }
+    ],
+    "readinessProbe": {
+      "failureThreshold": 30,
+      "httpGet": {
+        "path": "/health",
+        "port": 3001,
+        "scheme": "HTTP"
+      },
+      "initialDelaySeconds": 5,
+      "periodSeconds": 2,
+      "successThreshold": 1,
+      "timeoutSeconds": 2
+    },
+    "registry": "{{ .Values.global.registry }}",
+    "repository": "{{ .Values.global.repository }}",
+    "resources": {
+      "limits": {
+        "cpu": "100m",
+        "memory": "150Mi"
+      },
+      "requests": {
+        "cpu": "30m",
+        "memory": "50Mi"
+      }
+    },
+    "securityContext": {
+      "capabilities": {
+        "add": [
+          "NET_BIND_SERVICE"
+        ]
+      }
+    },
+    "tag": "{{ .Values.global.tag }}"
+  }
+]
+
+
the containers specific to the component. one or many containers can be defined.
frontend.deploymentobject
+{
+  "enabled": true
+}
+
+
can be either a statefulSet or a deployment not both. TBD (StatefulSet)
frontend.deploymentStrategyobject
+{
+  "type": "Recreate"
+}
+
+
the deployment strategy, can be "Recreate" or "RollingUpdate"
frontend.enabledbool
+true
+
+
enable or disable a component deployment.
frontend.route.enabledbool
+true
+
+
frontend.route.hoststring
+"{{ .Release.Name }}-frontend.{{ .Values.global.domain }}"
+
+
frontend.route.targetPortstring
+"http"
+
+
frontend.service.enabledbool
+true
+
+
frontend.service.ports[0].namestring
+"http"
+
+
frontend.service.ports[0].portint
+80
+
+
frontend.service.ports[0].protocolstring
+"TCP"
+
+
frontend.service.ports[0].targetPortint
+3000
+
+
frontend.service.typestring
+"ClusterIP"
+
+
global.autoscalingbool
+true
+
+
global.databaseAliasstring
+"bitnami-pg"
+
+
global.domainstring
+"apps.silver.devops.gov.bc.ca"
+
+
global.openshiftImageRegistrystring
+"image-registry.openshift-image-registry.svc:5000"
+
+
global.podAnnotationsstring
+"app.kubernetes.io/timestamp: {{now | toString }}\n"
+
+
global.registrystring
+"ghcr.io"
+
+
global.repositorystring
+null
+
+
global.secrets.annotation."helm.sh/policy"string
+"keep"
+
+
global.secrets.databaseNamestring
+null
+
+
global.secrets.databasePasswordstring
+null
+
+
global.secrets.databaseUserstring
+null
+
+
global.secrets.enabledbool
+true
+
+
global.tagstring
+null
+
+
+ + + diff --git a/charts/quickstart-openshift/README.md.gotmpl b/charts/quickstart-openshift/README.md.gotmpl new file mode 100644 index 000000000..f2720d0f5 --- /dev/null +++ b/charts/quickstart-openshift/README.md.gotmpl @@ -0,0 +1,12 @@ +{{ template "chart.header" . }} +{{ template "chart.description" . }} + +{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }} + +{{ template "chart.maintainersSection" . }} + +{{ template "chart.requirementsSection" . }} + +{{ template "chart.valuesTableHtml" . }} +{{ template "chart.valuesSectionHtml" . }} +{{ template "helm-docs.versionFooter" . }} diff --git a/charts/quickstart-openshift/values.yaml b/charts/quickstart-openshift/values.yaml index 58165c4e8..e32e909d1 100644 --- a/charts/quickstart-openshift/values.yaml +++ b/charts/quickstart-openshift/values.yaml @@ -1,10 +1,16 @@ # This is a YAML-formatted file. # Declare variables to be passed into your templates. +#-- global variables, can be accessed by sub-charts. global: - repository: ~ # the repository where the images are stored. - registry: ghcr.io # the registry where the images are stored. override during runtime for other registry at global level or individual level. + #-- the registry where the images are stored. override during runtime for other registry at global level or individual level. + repository: + #-- the registry where the images are stored. override during runtime for other registry at global level or individual level. default is ghcr.io + registry: ghcr.io + #-- the tag of the image, it can be latest, 1.0.0 etc..., or the sha256 hash tag: ~ + #-- turn off autoscaling for the entire suite by setting this to false. default is true. autoscaling: true + #-- global secrets, can be accessed by sub-charts. secrets: enabled: true databasePassword: ~ @@ -12,25 +18,40 @@ global: databaseName: ~ annotation: helm.sh/policy: "keep" - domain: "apps.silver.devops.gov.bc.ca" # it is required, apps.silver.devops.gov.bc.ca for silver cluster + #-- domain of the application, it is required, apps.silver.devops.gov.bc.ca for silver cluster and apps.devops.gov.bc.ca for gold cluster + domain: "apps.silver.devops.gov.bc.ca" + #-- the image registry of OpenShift. It is used in conjunction with ImageStreams which is a OpenShift specific resource. openshiftImageRegistry: "image-registry.openshift-image-registry.svc:5000" + #-- the database Alias gives a nice way to switch to different databases, crunchy, patroni ... etc. databaseAlias: bitnami-pg # this is the alias for bitnami postgres, change it based on db type(crunchy,patroni...) and alias used in the chart. + #-- extra annotations for the pod, it is optional and is an object. podAnnotations: | app.kubernetes.io/timestamp: {{now | toString }} - +#-- the components of the application, backend. backend: + #-- enable or disable a component deployment. enabled: true + #-- can be either a statefulSet or a deployment not both. TBD (StatefulSet) deployment: # can be either a statefulSet or a deployment not both enabled: true + #-- the deployment strategy, can be "Recreate" or "RollingUpdate" deploymentStrategy: type: Recreate + #-- containers specific to the component. one or many containers can be defined. containers: + #-- name of the container. - name: backend + #-- the registry where the image is stored. override during runtime for other registry at global level or individual level. registry: '{{ .Values.global.registry }}' - repository: '{{ .Values.global.repository }}' # example, it includes registry and repository - image: backend # the exact component name, be it backend, api-1 etc... - tag: '{{ .Values.global.tag }}' # the tag of the image, it can be latest, 1.0.0 etc..., or the sha256 hash + #-- the repository where the image is stored. override during runtime for other repository at global level or individual level. + repository: '{{ .Values.global.repository }}' + #-- the exact component name, in this case backend. + image: backend + #-- the tag of the image, it can be latest, 1.0.0 etc..., or the sha256 hash + tag: '{{ .Values.global.tag }}' + #-- environment variables for the container. it is optional and is an object. env: + #-- the environment variables from global secrets, the secret name is auto deciphered from the release name. fromGlobalSecret: - name: POSTGRES_PASSWORD key: password @@ -38,13 +59,16 @@ backend: key: databaseUser - name: POSTGRES_DATABASE key: databaseName + #-- the environment variables from values, these are interpolated during runtime and can contain tpl. fromValues: - name: POSTGRES_HOST value: '{{ .Release.Name }}-{{.Values.global.databaseAlias}}' + #-- the ports for the container. it is optional and is an array of objects. ports: - name: http containerPort: 3000 protocol: TCP + #-- the resources for the container. it is optional and is an object. for default values check this link: https://github.com/bcgov/helm-service/blob/main/charts/component/templates/deployment.yaml#L298-L304 resources: # this is optional limits: cpu: 250m @@ -52,6 +76,7 @@ backend: requests: cpu: 100m memory: 150Mi + #-- the readiness probe for the container. it is optional and is an object. for default values check this link: https://github.com/bcgov/helm-service/blob/main/charts/component/templates/deployment.yaml#L312-L316 readinessProbe: httpGet: path: /api @@ -62,6 +87,7 @@ backend: timeoutSeconds: 2 successThreshold: 1 failureThreshold: 30 + #-- the liveness probe for the container. it is optional and is an object. for default values check this link: https://github.com/bcgov/helm-service/blob/main/charts/component/templates/deployment.yaml#L324-L328 livenessProbe: successThreshold: 1 failureThreshold: 3 @@ -72,13 +98,21 @@ backend: initialDelaySeconds: 15 periodSeconds: 30 timeoutSeconds: 5 + #-- init containers specific to the component. one or many containers can be defined. initContainers: + #-- name of the container. - name: database-migrations + #-- the registry where the image is stored. override during runtime for other registry at global level or individual level. registry: '{{ .Values.global.registry }}' + #-- the repository where the image is stored. override during runtime for other repository at global level or individual level. repository: '{{ .Values.global.repository }}' # example, it includes registry and repository + #-- the exact image name, in this case migrations image: migrations + #-- the tag of the image, it can be latest, 1.0.0 etc..., or the sha256 hash tag: '{{ .Values.global.tag }}' + #-- the security context for the container. it is optional and is an object. env: + #-- the environment variables from global secrets, the secret name is auto deciphered from the release name. fromGlobalSecret: - name: FLYWAY_PASSWORD key: databasePassword @@ -86,6 +120,7 @@ backend: key: databaseJDBCURLNoCreds - name: FLYWAY_USER key: databaseUser + #-- the environment variables from values, these are interpolated during runtime and can contain tpl. fromValues: - name: FLYWAY_BASELINE_ON_MIGRATE value: "true" @@ -93,6 +128,7 @@ backend: value: "USERS" - name: FLYWAY_CONNECT_RETRIES value: "30" + #-- the resources for the container. it is optional and is an object. for default values check this link: resources: limits: cpu: 500m @@ -100,11 +136,17 @@ backend: requests: cpu: 200m memory: 150Mi + #-- autoscaling for the component. it is optional and is an object. autoscaling: + #-- enable or disable autoscaling. enabled: true + #-- the minimum number of replicas. minReplicas: 3 + #-- the maximum number of replicas. maxReplicas: 7 - targetCPUUtilizationPercentage: 80 # this percentage from request cpu + #-- the target cpu utilization percentage, is from request cpu and NOT LIMIT CPU. + targetCPUUtilizationPercentage: 80 + #-- the behavior for the autoscaling. it is optional and is an object. behavior: scaleDown: stabilizationWindowSeconds: 300 @@ -126,17 +168,21 @@ backend: value: 2 periodSeconds: 30 selectPolicy: Max + #-- vault, for injecting secrets from vault. it is optional and is an object. it creates an initContainer which reads from vault and app container can source those secrets. for referring to a working example with vault follow this link: https://github.com/bcgov/onroutebc/blob/main/charts/onroutebc/values.yaml#L171-L186 vault: + #-- enable or disable vault. enabled: false - entrypoint: ~ # the entrypoint for vault, this is the override of container command. - role: ~ #licenseplate-prod or licenseplate-nonprod - secretPaths: # the paths where secrets live. dev/api-1, dev/api-2, test/api-1 etc... + #-- the role of the vault. it is required, #licenseplate-prod or licenseplate-nonprod, license plate is the namespace without env + role: ~ + #-- the vault path where the secrets live. it is required, dev/api-1, dev/api-2, test/api-1 etc... + secretPaths: - dev/api-1 - dev/api-2 - test/api-1 - test/api-2 - prod/api-1 - prod/api-2 + #-- resources specific to vault initContainer. it is optional and is an object. resources: limits: cpu: 50m @@ -144,59 +190,85 @@ backend: requests: cpu: 50m memory: 25Mi + #-- the service for the component. for inter namespace communication, use the service name as the hostname. service: + #-- enable or disable the service. enabled: true + #-- the type of the service. it can be ClusterIP, NodePort, LoadBalancer, ExternalName. ClusterIP is the default and is recommended. type: ClusterIP + #-- the ports for the service. ports: + #-- the name for the port. - name: http + #-- the port for the service. the service will be accessible on this port within the namespace. port: 80 - targetPort: 3000 # the container port where the application is listening on + #-- the container port where the application is listening on. + targetPort: 3000 protocol: TCP nodeSelector: { } tolerations: [ ] affinity: { } frontend: + # -- enable or disable a component deployment. enabled: true + # -- can be either a statefulSet or a deployment not both. TBD (StatefulSet) deployment: # can be either a statefulSet or a deployment not both enabled: true + # -- the deployment strategy, can be "Recreate" or "RollingUpdate" deploymentStrategy: type: Recreate + # -- the configmap specific to the component. configmap: + # -- enable or disable the configmap. enabled: true - data: # below is just for example. + # -- dat contains key value pairs for the configmap. can contain multiple files. value can be piped as string. + data: + #-- sample to create a config.js object. config.js: |- const envConfig = (() => { return { "VITE_DEPLOY_ENVIRONMENT":"{{ .Release.Name }}-{{ .Release.Namespace }}" }; })(); + #-- sample to create a config.prod.js object. config.prod.js: |- const envConfig = (() => { return { "VITE_DEPLOY_ENVIRONMENT":"static" }; })(); + # -- the containers specific to the component. one or many containers can be defined. containers: + #-- name of the container. - name: frontend + #-- the registry where the image is stored. override during runtime for other registry at global level or individual level. registry: '{{ .Values.global.registry }}' + #-- the repository where the image is stored. override during runtime for other repository at global level or individual level. repository: '{{ .Values.global.repository }}' # example, it includes registry and repository - image: frontend # the exact component name, be it backend, api-1 etc... - tag: '{{ .Values.global.tag }}' # the tag of the image, it can be latest, 1.0.0 etc..., or the sha256 hash + #-- the exact component name, in this case frontend. + image: frontend + #-- the tag of the image, it can be latest, 1.0.0 etc..., or the sha256 hash + tag: '{{ .Values.global.tag }}' + #-- the security context for the container. it is optional and is an object. securityContext: capabilities: add: [ "NET_BIND_SERVICE" ] + #-- the environment variables for the container. it is optional and is an object. env: + #-- the environment variables from values, these are interpolated during runtime and can contain tpl. fromValues: - name: BACKEND_URL value: "http://{{ .Release.Name }}-backend" - name: LOG_LEVEL value: "info" - fromLocalConfigmap: # just for example purpose. + #-- the environment variables from local configmap(configmap associated to the component), these are interpolated during runtime and can contain tpl. + fromLocalConfigmap: - name: frontend-configmap key: config.js - name: frontend-prod-configmap key: config.prod.js + #-- the ports for the container. it is optional and is an array of objects. ports: - name: http containerPort: 3000 @@ -204,13 +276,15 @@ frontend: - name: http2 containerPort: 3001 protocol: TCP - resources: # this is optional + #-- the resources for the container. it is optional and is an object. for default values check this link: https://github.com/bcgov/helm-service/blob/main/charts/component/templates/deployment.yaml#L298-L304 + resources: limits: cpu: 100m memory: 150Mi requests: cpu: 30m memory: 50Mi + #-- the readiness probe for the container. it is optional and is an object. for default values check this link: https://github.com/bcgov/helm-service/blob/main/charts/component/templates/deployment.yaml#L312-L316 readinessProbe: httpGet: path: /health @@ -221,6 +295,7 @@ frontend: timeoutSeconds: 2 successThreshold: 1 failureThreshold: 30 + #-- the liveness probe for the container. it is optional and is an object. for default values check this link: https://github.com/bcgov/helm-service/blob/main/charts/component/templates/deployment.yaml#L324-L328 livenessProbe: successThreshold: 1 failureThreshold: 3 @@ -231,11 +306,17 @@ frontend: initialDelaySeconds: 15 periodSeconds: 30 timeoutSeconds: 5 + #-- autoscaling for the component. it is optional and is an object. autoscaling: + #-- enable or disable autoscaling. enabled: true + #-- the minimum number of replicas. minReplicas: 3 + #-- the maximum number of replicas. maxReplicas: 7 - targetCPUUtilizationPercentage: 80 # this percentage from request cpu + #-- the target cpu utilization percentage, is from request cpu and NOT LIMIT CPU. + targetCPUUtilizationPercentage: 80 + #-- the behavior for the autoscaling. it is optional and is an object. behavior: scaleDown: stabilizationWindowSeconds: 300 @@ -257,18 +338,29 @@ frontend: value: 2 periodSeconds: 30 selectPolicy: Max + #-- the service for the component. for inter namespace communication, use the service name as the hostname. service: + #-- enable or disable the service. enabled: true + #-- the type of the service. it can be ClusterIP, NodePort, LoadBalancer, ExternalName. ClusterIP is the default and is recommended. type: ClusterIP + #-- the ports for the service. ports: - name: http + #-- the port for the service. the service will be accessible on this port within the namespace. port: 80 - targetPort: 3000 # the container port where the application is listening on + #-- the container port where the application is listening on + targetPort: 3000 + #-- the protocol for the port. it can be TCP or UDP. TCP is the default and is recommended. protocol: TCP + #-- the route for the component. it is optional and is an object. To make the application accessible from internet, use the route. route: + #-- enable or disable the route. enabled: true + #-- the hostname for the route. this will be the URL for the application, you can access by https://{{ .Release.Name }}-frontend.{{ .Values.global.domain }} host: "{{ .Release.Name }}-frontend.{{ .Values.global.domain }}" - targetPort: http # look at line#164 refer to the name. + #-- the target port of the service. this is the port where the service is listening on. The name is mapped to the port name in the service. + targetPort: http crunchy: # enable it for TEST and PROD, for PR based pipelines simply use single postgres enabled: false