PBMS Installation
PBMS deployment instructions
The instructions here pertain to the deployment of PBMS and associated components on the Kubernetes cluster using PBMS Helm chart. All the components are installed in the same namespace.
Prerequisites
Before you deploy, make sure the following are in place:
Installation using Rancher UI
Log in to the Rancher Admin Console and select your target cluster.
Navigate to Apps → Repositories and click Create to add a new repository:
Name:
openg2pTarget HTTPS Index URL:
https://openg2p.github.io/openg2p-helm/rancherClick Create

On the top-right, select the namespace where you want to install PBMS.
To view prerelease charts (if required), click your user avatar → Preferences → Include Prerelease Versions.

Navigate to Apps → Charts and locate the chart:
Name: OpenG2P PBMS (3.0.0)
Description: A Helm chart for OpenG2P PBMS

Click the chart, choose version 3.0.0, and click Install.
On the next screen:
Installation Name:
openg2p-pbms(or any preferred name)Enable Customise Helmbox before installation → click Next
In the General Settings section, configure the following:
Hostname: Set the PBMS URL (e.g.,
pbms.dev.openg2p.org)PostgreSQL Host: Provide the hostname of the PostgreSQL instance (or use the internal one if enabled)
Keycloak Base URL: Enter your Keycloak URL (e.g.,
https://keycloak.openg2p.sandbox.net)Email Service Name: Provide the email service name used in PBMS
In the Registry Settings section:
Registry DB: Provide the PostgreSQL database name for Registry
Registry DB User: Enter the DB username
Registry DB Secret: Specify the Kubernetes secret name containing the DB password
Registry DB Secret Key: Enter the key name within the secret containing the user password
Configure Odoo Settings :
OIDC Client ID: Provide the OIDC client ID for PBMS (Odoo)
OIDC Client Secret: Provide the OIDC client secret for PBMS (Odoo)
Click Next → go to Helm Options.
Disable the Wait flag
Click Install.
Monitor pods in your namespace until they reach the Running state.

Installation using CLI
Clone the OpenG2P PBMS Deployment Repository
Update Helm Dependencies
Review and update
values.yamlas needed:global.hostname: Public hostname for PBMS (e.g.,pbms.dev.openg2p.org)global.keycloakBaseUrl: Base URL for Keycloak authenticationglobal.postgresqlHost: PostgreSQL host (e.g.,openg2p-commons-postgresql)global.registryDB*andglobal.pbmsDB*: Registry and PBMS database credentialsodoo.image.tag: PBMS version or custom image tagistio.virtualservice.host: Hostname when Istio is enabled
Install the Helm chart
Replace
<release-name>with a unique name (e.g.,pbms-dev) and<namespace>with the target Kubernetes namespace.Verify deployment
Upgrade the deployment when changing configuration
You can view current values using:
Post-Installation Configuration
Get the Odoo service URL (usually from ingress or Istio VirtualService):
Log in to Odoo using admin credentials (configured in Keycloak or Odoo setup).
Activate the PBMS modules under Apps:
Ensure “OpenG2P PBMS Core”, “OpenG2P PBMS Background Tasks”, and other required extensions are installed.
Update module list if they aren’t visible:
Validate Redis and Minio connectivity:
Ensure Redis pod is running and reachable by the Celery worker.
Verify Minio access credentials match the Helm values and Odoo configuration.
Confirm database migrations:
Review logs of Odoo pod for any migration errors:
(Optional) Apply PBMS demo or seed data:
Tear down
To completely cleanup PBMS installation, note the following: Helm uninstall will not delete the database and secrets created. Secret for user does not get deleted (and rightly so). If you re-run the Helm while database still exists, it just brings up Odoo without any issues - it does not re-initalize the database.
To tear down completely:
Helm uninstall via command line or Rancher (Apps -> Installed Apps --> Delete)
Delete pbms secret in the namespace
Drop pbms
_dband user from PostgresLogin into Postgres as admin (via port fowarding or directly from Rancher). Use the
postgres-passwordkey inopeng2p-commons-postgresqlsecret to get the passworddrop database pbms_db;drop role pbms_db_user;
Last updated
Was this helpful?

