Commit Graph

13 Commits

Author SHA1 Message Date
OdooSky v3
96071aec8e feat(chart): pg password via ExternalSecret/OpenBao (A-Chunk 1)
Per-instance Postgres password sourced from OpenBao via External
Secrets Operator. Dual-mode for the migration window:

  - postgres.passwordVaultPath unset → legacy postgres-secret.yaml
    renders with .Values.postgres.password (helm lookup + random
    fallback, bit-exact existing behaviour for live instances).
  - postgres.passwordVaultPath set → postgres-password-externalsecret.yaml
    renders an ExternalSecret that produces the same <release>-pg
    Secret (POSTGRES_USER/PASSWORD/DB) from OpenBao path
    `tenants/<tenant.id>/instances/<instance.code>/pg`.

Exactly one of the two templates ships per instance (mutually
exclusive `if`s on .Values.postgres.passwordVaultPath). The Postgres
StatefulSet envFroms <release>-pg unchanged.

OpenBao policy already grants the per-cluster ESO read on
`v3/data/tenants/<tenantID>/*` (buildEsoPolicy in tower's
openbao_auth_setup.go) — the new instances/<code>/pg subpath is
covered. No policy change required.

A `required` directive on the ExternalSecret asserts tenant.id is
present when passwordVaultPath is set — fails loud at helm template
time if Tower forgot to populate it.

deletionPolicy: Retain on the ExternalSecret. Postgres PGDATA on
disk hashes to the password in the Secret; an accidental ESO
removal must not cascade into the Secret disappearing.

Chart 0.1.6 → 0.1.7. Verified locally: helm template both modes,
helm lint clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 12:56:54 +03:00
OdooSky v3
965a650b10 feat(chart): pin 19.0 / 17.0 / 16.0 in pinnedTags map 2026-05-06 13:55:58 +02:00
OdooSky v3
93473919ae feat(platform): pinnedTags map — chart resolves major to exact nightly 2026-05-06 13:11:47 +02:00
OdooSky v3
3eaa6381db feat(platform): pin Odoo + postgres to mirror — fix rolling-tag regression 2026-05-06 11:57:49 +02:00
OdooSky v3
6425526314 feat(chart): air-gap-friendly Odoo + Postgres image refs (B.10) 2026-05-05 17:59:17 +02:00
OdooSky v3
8ab695b93d fix(ingress): gate tenants-default-retry middleware on values flag (B.11) 2026-05-05 17:53:06 +02:00
00c9be8fdf chart: sizes table now includes per-tier PVC defaults (filestore + database) 2026-04-27 17:16:48 +00:00
043be6ff47 chart: realistic sizes table (tiny=sandbox, small=recommended minimum) 2026-04-27 14:58:51 +00:00
Tower Deploy
bad53c4636 Addon initContainer materialization: per-addon image runs as initContainer + copies content into shared emptyDir mounted at /mnt/extra-addons 2026-04-27 00:59:51 +03:00
git_admin
3a63da9609 Backups: pg_dump → S3 (MEGA S4); drop local PVC 2026-04-26 21:17:34 +03:00
git_admin
24f879db01 Add daily backups (CronJob + dedicated PVC, 7-day retention) 2026-04-26 21:01:17 +03:00
git_admin
97666c4e2f Add named sizes table (tiny/small/medium/large) 2026-04-26 20:04:39 +03:00
git_admin
a915b31588 Initial chart import from local infrastructure/ 2026-04-26 17:46:59 +03:00