🔧(yhub) document how to enable secure postrgesql connection

Document how to enable secure postgresql connection if needed.
This commit is contained in:
Manuel Raynaud
2026-09-23 12:06:05 +02:00
parent b27091ba3c
commit daf00a45e8
2 changed files with 10 additions and 0 deletions
+1
View File
@@ -1084,6 +1084,7 @@ yhub:
## @param yhub.envVars Configure yhub container environment variables
## @extra yhub.envVars.REDIS Required, redis/valkey url holding the live document state (e.g. redis://valkey:6379/0)
## @extra yhub.envVars.POSTGRES Required, url of the yhub database, created by the init-db job (e.g. postgres://user:pass@postgres:5432/yhub)
## Append `?sslmode=require` (or `verify-full`) when the server only accepts TLS, which is the default of the Zalando/Spilo operator
## @extra yhub.envVars.REDIS_PREFIX Namespace of the redis keys, when the instance is shared (default: yhub)
## @extra yhub.envVars.COLLABORATION_BACKEND_BASE_URL Base url of the Docs backend, which yhub asks about users and document access rights
## @extra yhub.envVars.COLLABORATION_SERVER_ORIGIN Comma separated list of the origins allowed to open a websocket
+9
View File
@@ -556,6 +556,15 @@ the DDL is applied (`relation "yhub_ydoc_tombstones_v1" does not exist`, for
instance). Nothing in this repository copies the schema, so an upgrade is
`package.json` plus this script and nothing else.
The connection is not encrypted unless the url asks for it. A server that only
has `hostssl` rules in its `pg_hba.conf` — the default of the Zalando/Spilo
operator — answers `pg_hba.conf rejects connection for host ..., no
encryption`: append `?sslmode=require` to `POSTGRES`
(`postgres://user:pass@host:5432/yhub?sslmode=require`), or
`?sslmode=verify-full` when the certificate of the server is signed by an
authority Node trusts (`NODE_EXTRA_CA_CERTS`). The server, the worker and
`init-db` all read the same url, so the parameter is set once.
From the repository root, `make migrate-yhub` runs it against the dev stack —
the counterpart of `make migrate` for the Django database. `make bootstrap`
already includes it, so a fresh checkout needs nothing extra; an upgrade is