Skip to content

Commit d57f522

Browse files
Pramod Belalgitbook-bot
authored andcommitted
GITBOOK-1585: Pramod's Oct 15 changes
1 parent 05b902d commit d57f522

File tree

7 files changed

+83
-56
lines changed

7 files changed

+83
-56
lines changed

.gitbook/assets/image (82).png

26.5 KB
Loading

.gitbook/assets/image (83).png

9.68 KB
Loading

.gitbook/assets/image (84).png

9.07 KB
Loading
Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,50 @@
11
# OpenG2P Commons Helm Chart
22

3-
## Overview
4-
5-
### **Purpose**
3+
## Context
64

75
* This guide explains the **design rationale** behind the OpenG2P Commons Helm chart.
8-
* It also provides **references for Helm chart development** and links to:
6+
* It also provides references for Helm chart development and links to:
97
* The [**source code**](https://github.com/OpenG2P/openg2p-deployment-commons) of the chart.
108
* The [**new architecture**](openg2p-deployment-model.md) documentation.
119

12-
**Design update (from v2.x.x onward)**
10+
### **Design update (from v2.x.x onward)**
11+
12+
* In OpenG2P **version 2.x.x**, many dependency modules were installed separately for each application.
13+
* In the new design, these have been centralized under the `openg2p-commons` chart.
14+
* Only the common dependency modules shared across all applications are included in this chart.
1315

14-
* In OpenG2P **version 2.x.x**, many dependency modules were installed **separately** for each application.
15-
* In the new design, these have been **centralized under the `openg2p-commons` chart**.
16-
* Only the **common dependency modules** shared across all applications are included in this chart.
16+
### **Commons dependencies**
1717

18-
**Commons dependencies**\
19-
The `openg2p-commons` Helm chart bundles the following core components:
18+
The `openg2p-commons` Helm chart bundles the following core components.
2019

21-
* **PostgreSQL**  
22-
* **Mail SMTP Server**
23-
* **MinIO**
24-
* **ODK Central**
25-
* **Keymanager** (includes keygen job to generate the keys for all modules)
26-
* **OpenSearch**
27-
* **Reporting** (includes _Reporting Framework_ + _Reporting Init_)
28-
* **Superset**
29-
* **eSignet** (includes _eSignet_ + _Mock Identity System_)
20+
1. **PostgreSQL**  
21+
2. **Mail SMTP Server**
22+
3. **MinIO**
23+
4. **ODK Central**
24+
5. **Keymanager** (includes keygen job to generate the keys for all modules)
25+
6. **OpenSearch**
26+
7. **Reporting** (includes _Reporting Framework_ + _Reporting Init_)
27+
8. **Superset**
28+
9. **eSignet** (includes _eSignet_ + _Mock Identity System_)
3029

31-
#### Bitnami Secure Images Transition
30+
### Bitnami secure images transition
3231

3332
**From August 28th, 2025**, Bitnami is evolving its public catalog under the **Bitnami Secure Images** initiative.
3433

3534
**Key points:**
3635

3736
* Community users now get access to **security-hardened container images** of popular software.
3837
* **Non-hardened Debian-based images** will be deprecated and gradually removed from the free public catalog.
39-
* Only **latest tags** of hardened images will remain available — meant for **development use only**.
38+
* Only latest tags of hardened images will remain available — meant for **development use only**.
4039
* Older versioned images (e.g., `10.6`, `2.50.0`) will move to the **Bitnami Legacy** repo (`docker.io/bitnamilegacy`) and will no longer receive updates.
41-
* For **production workloads**, users are encouraged to adopt **Bitnami Secure Images** — featuring hardened containers, SBOMs, CVE transparency, and enterprise support.
40+
* For production workloads, users are encouraged to adopt **Bitnami Secure Images** — featuring hardened containers, SBOMs, CVE transparency, and enterprise support.
4241

43-
**Our Action:**
42+
**Our action:**
4443

4544
* Since Bitnami removed free access to their Helm charts and Docker images,\
46-
we extracted the **existing charts and versions** we depend on and uploaded them to **our own private Helm repository**.
47-
* All our Helm charts are now updated to reference these **internal chart paths** instead of Bitnami’s public sources.
45+
we extracted the existing charts and versions we depend on and uploaded them to our own private Helm repository.
46+
* All our Helm charts are now updated to reference these internal chart paths instead of Bitnami’s public sources.
4847

49-
#### How to deploy OpenG2P Commons
48+
#### How to deploy openg2p commons
5049

5150
Refer the instructions [here](../deployment-instructions/environment-installation.md#common-resources).

deployment/deployment-instructions/environment-installation.md

Lines changed: 50 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,60 @@
11
# Environment Installation
22

3-
## Common resources
3+
The instructions here pertain to the deployment of commons on the Kubernetes cluster using OpenG2P-Commons. All the components are installed in the same namespace.
44

5-
Install common components as below:
5+
## Prerequisites
66

7-
* Create namespace for your environment using Rancher UI or command line 
8-
* For **production environment** install PostgreSQL server separately on the same virtual machine using command line
9-
* Install openg2p-commons Helm Chart. For **production environment** do not install Docker based Postgres (see step above)
10-
* The **latest `openg2p-commons` Helm chart** is available directly in the **Rancher UI**.
11-
* To deploy it:
12-
1. Open the **Rancher UI** and go to the **Apps & Marketplace** section.
13-
2. In the search bar, type **`openg2p-commons`**.
14-
3. Select the chart, **configure the required values** (e.g., domains, Keycloak Clients).
15-
4. Click **Install** to deploy the Commons Helmchart.
7+
Before you deploy, make sure the following are in place:
8+
9+
*[Infrastruction setup](infrastructure-setup.md) is completed 
10+
*[Environment](environment-installation.md) has been setup with common resources installed.
11+
* ✅ Domain name `esignet.<your environment>.<your domain name>` (e.g. `esignet.qa.openg2p.org`) is available along with SSL certificate for the domain (_the wild certificate should have already been loaded during Infrastructure setup_)
12+
***Project Owner access** on the OpenG2P namespace
13+
14+
## Installation using Rancher UI
15+
16+
1. Log in to Rancher admin console.
17+
2. Select your cluster.
18+
3. Under **Apps -> Repositories** click on Create to add a repository.
19+
4. Provide Name as `openg2p` and target HTTPS Index URL as [https://openg2p.github.io/openg2p-helm/rancher](https://openg2p.github.io/openg2p-helm/rancher) and click Create.\
20+
21+
22+
<figure><img src="../../.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
23+
5. To display prerelease versions of OpenG2P apps, click on your user avatar in the upper right corner of the Rancher dashboard. Then click on `Include Prerelease Versions` under Preferences under Helm Charts.\
24+
25+
26+
<figure><img src="../../.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
27+
6. Select the namespace in which you would like to install Registry, from the namespace filter on the top-right.
28+
7. Navigate to **Apps->Charts** page on Rancher. You should see `OpenG2P commons` Helm charts listed.
29+
30+
<figure><img src="../../.gitbook/assets/image (84).png" alt=""><figcaption></figcaption></figure>
31+
8. Proceed to Install `OpenG2P Commons` chart select the latest version to be installed, and click Install.
32+
9. On the next screen, choose a name for installation, like `Commons`. Select the checkbox `Customise Helm options` before install, and click Next.
33+
10. Go through each app's configuration page, and configure the following:
34+
1. Configure a hostname for each app in the following way. `<appname>.<base-hostname>` , where base hostname is the wildcard hostname chosen during [Istio namespace setup](../scaling/base-infrastructure/openg2p-cluster/cluster-setup/istio.md#namespace-setup). Example: `esignet.dev.openg2p.org` and `odk.dev.openg2p.org` , etc. `<appname>` is arbitrary - default names have been provided.
35+
2. **Keycloak Base Url** is your organization-wide Keycloak URL. (Ex: keycloak.\<your domain>.org)
36+
3. OIDC Client details are asked. **Create Keycloak Client**, refer to [Keycloak Client Creation](../deployment-guide/keycloak-client-creation.md) guide.
37+
11. Click Next to reach Helm Options page. Disable `wait` flag. Click on Install.
38+
12. Wait for all the pods to get into **Running state**. This may take several minutes.
39+
40+
<div align="left"><figure><img src="../../.gitbook/assets/image (5).png" alt=""><figcaption></figcaption></figure></div>
1641

1742
Once deployed, the OpenG2P Commons services such as PostgreSQL, MinIO, Keymanager, OpenSearch, and others will be automatically set up and available for dependent applications.
1843

44+
## Post Installation
45+
46+
### Keycloak
47+
48+
#### Assigning roles to users
49+
50+
Create[ Keycloak client roles](https://www.keycloak.org/docs/latest/server_admin/#con-client-roles_server_administration_guide) for the following components and assign them to users:
51+
52+
<table><thead><tr><th width="336">Component</th><th>Role name</th></tr></thead><tbody><tr><td>OpenSearch Dashboards for logging</td><td><code>admin</code></td></tr><tr><td>OpenSearch Dashboards for <a href="../../monitoring-and-reporting/reporting-framework/">Reporting</a> </td><td><code>admin</code></td></tr><tr><td>Kafka UI for <a href="../../monitoring-and-reporting/reporting-framework/">Reporting</a></td><td><code>Admin</code></td></tr><tr><td>Apache Superset</td><td><code>Admin</code></td></tr><tr><td>Minio Console</td><td><code>consoleAdmin</code></td></tr></tbody></table>
53+
54+
#### Assigning roles to clients
55+
56+
* For Social Registry to be able to access Keymanager APIs, create a realm role in Keycloak with the name "KEYMANAGER\_ADMIN" and assign this as a service account role to the Social Registry Keycloak client.
57+
1958
## Modules
2059

2160
Install the modules and other utility apps individually using their respective instructions:

deployment/deployment-instructions/infrastructure-setup.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -323,12 +323,14 @@ In Rancher, create a project and namespace, on which the OpenG2P modules will be
323323
&#x20;The rest of this guide assumes the namespace to be `dev`, as the TLS certificates were created for the domain `dev.example.com` during the certificate setup.
324324
{% endhint %}
325325
326-
In rancher -> namespaces menu, enable `Istio Auto Injection` for `dev` namespace.
326+
{% hint style="warning" %}
327+
In Rancher, make sure that `Istio auto-injection` for the dev namespace is disabled.
328+
{% endhint %}
327329
328330
🔍 <mark style="color:red;">Verification Checkpoint:</mark>\
329-
&#x20;<mark style="color:green;">Verify Istio injection is enabled for the dev namespace in the DEV project.</mark>
331+
&#x20;<mark style="color:green;">Verify your project name and namespace appear under project/namespace section.</mark>
330332
331-
<div align="left"><figure><img src="../../.gitbook/assets/image (26).png" alt=""><figcaption></figcaption></figure></div>
333+
<figure><img src="../../.gitbook/assets/image (82).png" alt=""><figcaption></figcaption></figure>
332334
333335
#### **13. Istio** gateway setup
334336

social-registry/deployment/registry-installation.md

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,13 @@ Before you deploy, make sure the following are in place:
2525

2626
<figure><img src="../../.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
2727
6. Select the namespace in which you would like to install Registry, from the namespace filter on the top-right.
28-
7. Navigate to **Apps->Charts** page on Rancher. You should see `OpenG2P Registry` Helm charts listed.
29-
30-
<figure><img src="../../.gitbook/assets/registry-app-on-rancher.png" alt="" width="323"><figcaption></figcaption></figure>
28+
7. Navigate to **Apps->Charts** page on Rancher. You should see `OpenG2P Registry` Helm charts listed.
3129

30+
<div align="center"><figure><img src="../../.gitbook/assets/image (83).png" alt=""><figcaption></figcaption></figure></div>
3231
8. Proceed to Install `OpenG2P Registry` chart select the latest version to be installed, and click Install.
3332
9. On the next screen, choose a name for installation, like `registry`. Select the checkbox `Customise Helm options` before install, and click Next.
3433
10. Go through each app's configuration page, and configure the following:
35-
1. Configure a hostname for each app in the following way. `<appname>.<base-hostname>` , where base hostname is the wildcard hostname chosen during [Istio namespace setup](../../deployment/scaling/base-infrastructure/openg2p-cluster/cluster-setup/istio.md#namespace-setup). Example: `socialregistry.dev.openg2p.org` and `odk-sr.dev.openg2p.org` , etc. `<appname>` is arbitrary - default names have been provided.
34+
1. Configure a hostname for each app in the following way. `<appname>.<base-hostname>` , where base hostname is the wildcard hostname chosen during [Istio namespace setup](../../deployment/scaling/base-infrastructure/openg2p-cluster/cluster-setup/istio.md#namespace-setup). Example: `socialregistry.dev.openg2p.org`, etc. `<appname>` is arbitrary - default names have been provided.
3635
2. For production deployments, if the PostgreSQL server is run directly (natively) on the VM. for _PostgreSQL Hostname_ specifiy `host.docker.internal` which is proxy for `localhost` as from within Docker of Odoo `localhost` will not be recognized. If you are running PostgreSQL on a separate machine, specify the Host domain or IP.
3736
3. **Keycloak Base Url** is your organization-wide Keycloak URL. (Ex: keycloak.\<your domain>.org)
3837
4. OIDC Client details are asked. **Create Keycloak Client**, refer to [Keycloak Client Creation](../../deployment/deployment-guide/keycloak-client-creation.md) guide.
@@ -54,18 +53,6 @@ Before you deploy, make sure the following are in place:
5453

5554
## Post Installation
5655

57-
### Keycloak
58-
59-
#### Assigning roles to users
60-
61-
Create[ Keycloak client roles](https://www.keycloak.org/docs/latest/server_admin/#con-client-roles_server_administration_guide) for the following components and assign them to users:
62-
63-
<table><thead><tr><th width="336">Component</th><th>Role name</th></tr></thead><tbody><tr><td>OpenSearch Dashboards for logging</td><td><code>admin</code></td></tr><tr><td>OpenSearch Dashboards for <a href="../../monitoring-and-reporting/reporting-framework/">Reporting</a> </td><td><code>admin</code></td></tr><tr><td>Kafka UI for <a href="../../monitoring-and-reporting/reporting-framework/">Reporting</a></td><td><code>Admin</code></td></tr><tr><td>Apache Superset</td><td><code>Admin</code></td></tr><tr><td>Minio Console</td><td><code>consoleAdmin</code></td></tr></tbody></table>
64-
65-
#### Assigning roles to clients
66-
67-
* For Social Registry to be able to access Keymanager APIs, create a realm role in Keycloak with the name "KEYMANAGER\_ADMIN" and assign this as a service account role to the Social Registry Keycloak client.
68-
6956
### Odoo
7057

7158
* Activate the Registry Odoo module after logging into Odoo (TBD).

0 commit comments

Comments
 (0)