Skip to content

docs: add production deployment guide for multi-replica Helm installs#313

Closed
Soju06 wants to merge 3 commits intomainfrom
helm/prod-deployment-docs
Closed

docs: add production deployment guide for multi-replica Helm installs#313
Soju06 wants to merge 3 commits intomainfrom
helm/prod-deployment-docs

Conversation

@Soju06
Copy link
Copy Markdown
Owner

@Soju06 Soju06 commented Apr 3, 2026

Document production deployment patterns: multi-replica, session bridge ring, connection pool budget, graceful shutdown. Reference values-prod.yaml and explain key differences from defaults. Add scale-down caution for bridge session TTLs.

@Soju06
Copy link
Copy Markdown
Owner Author

Soju06 commented Apr 3, 2026

Consolidating into 2 PRs: chart features + docs

@Soju06 Soju06 closed this Apr 3, 2026
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 11a9023c93

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +21 to +24
containers:
- name: db-init
image: {{ printf "%s/bitnami/postgresql:16" (.Values.global.imageRegistry | default "docker.io") }}
command: ["sh", "-ec"]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Add restricted security context to db-init container

When dbInit.enabled=true, this hook creates a pod without any pod/container securityContext, so clusters enforcing the Restricted Pod Security Standard can reject the pre-install Job and fail the Helm install before app resources are created. The chart’s other workloads already set runAsNonRoot, dropped capabilities, and allowPrivilegeEscalation: false; this hook needs the same hardening to be deployable in restricted environments.

Useful? React with 👍 / 👎.

{{- range .Values.dbInit.databases }}
DO $$ BEGIN
IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = '{{ .user }}') THEN
CREATE ROLE {{ .user }} WITH LOGIN PASSWORD '{{ .password }}';
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Escape db-init SQL password literals before interpolation

The template injects dbInit.databases[*].password directly into a single-quoted SQL literal (PASSWORD '{{ .password }}'), so any password containing an apostrophe (e.g. pa'ss) produces invalid SQL and causes the init Job to fail, which in turn fails installation. This path needs proper SQL literal escaping (or psql variable binding) to handle valid password characters safely.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant