Skip to content

Commit 6a2b2ee

Browse files
committed
fix(helm): add database backend docs to README.md.gotmpl and regenerate
The helm-docs CI check failed because the Database backend section was added directly to README.md instead of README.md.gotmpl. Move the content to the template and regenerate so the check passes.
1 parent b71c3a7 commit 6a2b2ee

2 files changed

Lines changed: 85 additions & 2 deletions

File tree

deploy/helm/openshell/README.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ oc create ns openshell
3232
# Sandboxes are deployed into the openshell namespace and use the openshell-sandbox service account
3333
oc adm policy add-scc-to-user privileged -z openshell-sandbox -n openshell
3434

35-
# Deploy openshell with overrides for OpenShift SCC compatibility
35+
# Deploy openshell with overrides to allow SCC assignment of fsGroup and runAsUser for the gateway
3636
helm install openshell oci://ghcr.io/nvidia/openshell/helm-chart --version <version> -n openshell \
37+
--set pkiInitJob.enabled=false \
3738
--set server.disableTls=true \
3839
--set podSecurityContext.fsGroup=null \
3940
--set securityContext.runAsUser=null
@@ -77,7 +78,7 @@ helm install openshell oci://ghcr.io/nvidia/openshell/helm-chart --version <vers
7778
--set postgres.auth.password=my-secret-password
7879
```
7980

80-
Enable bundled PostgreSQL(OpenShift):
81+
Enable bundled PostgreSQL (OpenShift):
8182

8283
```bash
8384
helm install openshell oci://ghcr.io/nvidia/openshell/helm-chart --version <version> \
@@ -177,6 +178,20 @@ cert-manager alternative.
177178
| podLabels | object | `{}` | Extra labels to add to the gateway pod. |
178179
| podLifecycle.terminationGracePeriodSeconds | int | `5` | Grace period, in seconds, before Kubernetes terminates the gateway pod. |
179180
| podSecurityContext.fsGroup | int | `1000` | fsGroup assigned to the gateway pod. |
181+
| postgres.auth.database | string | `"openshell"` | |
182+
| postgres.auth.password | string | `""` | |
183+
| postgres.auth.username | string | `"openshell"` | |
184+
| postgres.deploy | bool | `false` | Deploy the bundled Bitnami PostgreSQL subchart. Set to true to run PostgreSQL alongside the gateway. Leave false when using an external PostgreSQL instance. |
185+
| postgres.enabled | bool | `false` | |
186+
| postgres.external.database | string | `"openshell"` | |
187+
| postgres.external.host | string | `""` | |
188+
| postgres.external.password | string | `""` | |
189+
| postgres.external.port | int | `5432` | |
190+
| postgres.external.url | string | `""` | |
191+
| postgres.external.username | string | `"openshell"` | |
192+
| postgres.host | string | `""` | |
193+
| postgres.port | int | `5432` | |
194+
| postgres.primary.persistence.enabled | bool | `true` | |
180195
| probes.liveness.failureThreshold | int | `3` | Liveness probe failure threshold before the container is restarted. |
181196
| probes.liveness.initialDelaySeconds | int | `2` | Liveness probe initial delay, in seconds. |
182197
| probes.liveness.periodSeconds | int | `5` | Liveness probe period, in seconds. |
@@ -217,6 +232,7 @@ cert-manager alternative.
217232
| server.sandboxImagePullPolicy | string | `""` | Kubernetes imagePullPolicy for sandbox pods. Empty = Kubernetes default (Always for :latest, IfNotPresent otherwise). Set to "Always" for dev clusters so new images are picked up without manual eviction. |
218233
| server.sandboxJwt.gatewayId | string | `""` | Stable gateway identity embedded in iss/aud of every minted token. Defaults to the release name so HA replicas share identity. |
219234
| server.sandboxJwt.k8sSaTokenTtlSecs | int | `3600` | Lifetime (seconds) of the projected ServiceAccount token kubelet writes into each sandbox pod for the IssueSandboxToken bootstrap exchange. Kubelet enforces a minimum of 600s; the driver clamps values outside [600, 86400]. Default 3600 — generous, since the supervisor consumes the token within seconds of pod start. |
235+
| server.sandboxJwt.secretDefaultMode | string | `""` | File mode for the mounted JWT signing key Secret. Default 0400 (owner-read only). Override to 0440 or 0444 if the container UID does not match the volume file owner. |
220236
| server.sandboxJwt.signingSecretName | string | `""` | Name of the Opaque Secret holding the signing key material. Empty falls back to the chart fullname with "-jwt-keys" appended. |
221237
| server.sandboxJwt.ttlSecs | int | `3600` | Token TTL in seconds. Defaults to 3600 (1h). |
222238
| server.sandboxNamespace | string | `""` | Namespace where sandbox pods are created. Defaults to the Helm release namespace (.Release.Namespace) when left empty. |

deploy/helm/openshell/README.md.gotmpl

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,73 @@ See [`values.yaml`](values.yaml) for source defaults. Selected overlays:
5858
- [`ci/values-cert-manager.yaml`](ci/values-cert-manager.yaml) - cert-manager integration
5959
- [`ci/values-keycloak.yaml`](ci/values-keycloak.yaml) - Keycloak OIDC integration
6060

61+
### Database backend
62+
63+
By default, OpenShell uses SQLite:
64+
65+
```yaml
66+
server:
67+
dbUrl: "sqlite:/var/openshell/openshell.db"
68+
postgres:
69+
enabled: false
70+
```
71+
72+
Enable bundled PostgreSQL:
73+
74+
```bash
75+
helm install openshell oci://ghcr.io/nvidia/openshell/helm-chart --version <version> \
76+
--set postgres.enabled=true \
77+
--set postgres.deploy=true \
78+
--set postgres.auth.password=my-secret-password
79+
```
80+
81+
Enable bundled PostgreSQL (OpenShift):
82+
83+
```bash
84+
helm install openshell oci://ghcr.io/nvidia/openshell/helm-chart --version <version> \
85+
--set postgres.enabled=true \
86+
--set postgres.deploy=true \
87+
--set postgres.auth.password=my-secret-password \
88+
--set server.disableTls=true \
89+
--set podSecurityContext.fsGroup=null \
90+
--set securityContext.runAsUser=null
91+
```
92+
93+
Use external PostgreSQL:
94+
95+
```bash
96+
helm install openshell oci://ghcr.io/nvidia/openshell/helm-chart --version <version> \
97+
--set postgres.enabled=true \
98+
--set postgres.external.host=my-postgres.example.com \
99+
--set postgres.external.port=5432 \
100+
--set postgres.external.database=openshell \
101+
--set postgres.external.username=openshell \
102+
--set postgres.external.password=my-password
103+
```
104+
105+
Use external PostgreSQL (OpenShift):
106+
107+
```bash
108+
helm install openshell oci://ghcr.io/nvidia/openshell/helm-chart --version <version> \
109+
--set postgres.enabled=true \
110+
--set postgres.external.host=my-postgres.example.com \
111+
--set postgres.external.port=5432 \
112+
--set postgres.external.database=openshell \
113+
--set postgres.external.username=openshell \
114+
--set postgres.external.password=my-password \
115+
--set server.disableTls=true \
116+
--set podSecurityContext.fsGroup=null \
117+
--set securityContext.runAsUser=null
118+
```
119+
120+
Or provide a full connection URL directly:
121+
122+
```bash
123+
helm install openshell oci://ghcr.io/nvidia/openshell/helm-chart --version <version> \
124+
--set postgres.enabled=true \
125+
--set postgres.external.url="postgres://user:pass@host:5432/db?sslmode=require"
126+
```
127+
61128
## PKI bootstrap
62129

63130
By default, a pre-install/pre-upgrade hook Job runs `openshell-gateway generate-certs`

0 commit comments

Comments
 (0)