Skip to content

docs: add Environment Variables section to Publisher guide#316

Open
mlennie wants to merge 1 commit into
malloydata:mainfrom
mlennie:docs/publisher-env-vars
Open

docs: add Environment Variables section to Publisher guide#316
mlennie wants to merge 1 commit into
malloydata:mainfrom
mlennie:docs/publisher-env-vars

Conversation

@mlennie
Copy link
Copy Markdown

@mlennie mlennie commented May 15, 2026

Adds an Environment Variables subsection under Deployment & Configuration in publishing.malloynb. Covers the most common runtime vars (PUBLISHER_PORT, MCP_PORT, SERVER_ROOT, LOG_LEVEL, GOOGLE_APPLICATION_CREDENTIALS) and the newly introduced PG_CONNECT_TIMEOUT_SECONDS, with a link to the publisher README for the full list and matching CLI flags.

PG_CONNECT_TIMEOUT_SECONDS was added in
malloydata/publisher#741 to bound the libpq handshake on Postgres-backed DuckLake manifest catalogs.

Adds an Environment Variables subsection under Deployment &
Configuration in publishing.malloynb. Covers the most common
runtime vars (PUBLISHER_PORT, MCP_PORT, SERVER_ROOT, LOG_LEVEL,
GOOGLE_APPLICATION_CREDENTIALS) and the newly introduced
PG_CONNECT_TIMEOUT_SECONDS, with a link to the publisher README
for the full list and matching CLI flags.

PG_CONNECT_TIMEOUT_SECONDS was added in
malloydata/publisher#741 to bound the libpq handshake on
Postgres-backed DuckLake manifest catalogs.

Signed-off-by: Monty Lennie <montylennie@gmail.com>
| `MCP_PORT` | `4040` | MCP HTTP port (for AI agents). |
| `SERVER_ROOT` | `.` (cwd) | Directory containing `publisher.config.json`. |
| `LOG_LEVEL` | `debug` | One of `error`, `warn`, `info`, `verbose`, `debug`, `silly`. |
| `GOOGLE_APPLICATION_CREDENTIALS` | _unset_ | Path to a GCP service-account JSON. Required for BigQuery connections. |
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The BigqueryConnection uses this as the fallback only when the connection object is {}

| `SERVER_ROOT` | `.` (cwd) | Directory containing `publisher.config.json`. |
| `LOG_LEVEL` | `debug` | One of `error`, `warn`, `info`, `verbose`, `debug`, `silly`. |
| `GOOGLE_APPLICATION_CREDENTIALS` | _unset_ | Path to a GCP service-account JSON. Required for BigQuery connections. |
| `PG_CONNECT_TIMEOUT_SECONDS` | `5` | libpq `connect_timeout` (seconds) for Postgres-backed DuckLake manifest catalogs (`materializationStorage`). Bad credentials or an unreachable host return HTTP 422 in ~5s rather than hanging the worker. libpq enforces a 2-second floor. No effect on user-facing Postgres connections or non-PG catalogs (SQLite, MySQL). |
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Replace the word worker with either publisher or server

I'm a bit confused. libpq has a 2 second floor but the default value we set to is 5? I think we should remove description about libpq

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.

2 participants