In correlation with the end of life (EOL) date for MSR 4.0.x, Mirantis
stopped maintaining this documentation version as of July 17, 2026. The
latest MSR product documentation is available
here.
Install and set up PostgreSQL#
- Add the Bitnami repository:
helm repo add bitnami https://charts.bitnami.com/bitnami
- Create and populate
postgresql-values.yamlfile:
primary:
persistence:
enabled: true
size: 10Gi
storageClass: "<nameofstorageclass>"
postgresql:
password: "support"
replicaCount: 3
initdbScripts:
create_databases.sh: |
#!/bin/bash
export PGPASSWORD=$(cat /opt/bitnami/postgresql/secrets/password)
psql -U postgres -c "CREATE DATABASE harbor_core" && psql -U postgres -c "CREATE DATABASE clair" && psql -U postgres -c "CREATE DATABASE notary_signer" && psql -U postgres -c "CREATE DATABASE notary_server"
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 100m
memory: 256Mi
- Install HA PostgreSQL with a
helm installcommand:
helm install postgresql bitnami/postgresql-ha -f postgresql-values.yaml
- Obtain the PostgreSQL password:
export POSTGRES_PASSWORD=$(kubectl get secret --namespace default postgresql-postgresql-ha-postgresql -o jsonpath="{.data.password}" | base64 -d)
echo $POSTGRES_PASSWORD
- Login to PostgreSQL:
kubectl run postgresql-postgresql-ha-client --rm --tty -i --restart='Never' --namespace default --image docker.io/bitnami/postgresql-repmgr:16.4.0-debian-12-r12 --env="PGPASSWORD=$POSTGRES_PASSWORD" \
--command -- psql -h postgresql-postgresql-ha-pgpool -p 5432 -U postgres -d postgres
- Find the pool service and port:
kubectl get service
Example output:
postgresql-postgresql-ha-pgpool ClusterIP 10.96.40.233 <none> 5432/TCP