Document the agent env vars; make keeping docs true a standing rule
Build image / build-and-push (push) Successful in 6s
Build image / build-and-push (push) Successful in 6s
README's config table gained OLLAMA_CLOUD_API_KEY and PANSY_AGENT_MODEL, marked as read once the assistant lands (#56) so the table describes what the binary does rather than what it will do. Both are already set in Komodo. Also fixed the Compose example, which still said "# PANSY_OIDC_ISSUER: ... once auth (#5) lands" — auth landed a long time ago. That is exactly the kind of rot this commit is trying to prevent, so it seemed worth fixing in the same breath: the snippet now shows the OIDC vars people actually need to set. CLAUDE.md now carries the rule explicitly. README updates go in the SAME commit as the change that needs them — the env var table and the compose snippet are the two things people copy, so they hurt most when stale. DESIGN.md tracks real architecture changes. Examples must run. And when you touch a file, check the comments around your change are still true, because a stale comment is worse than none: the next reader believes it. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> Claude-Session: https://claude.ai/code/session_01H3zbym8Doka2d7D48maSgZ
This commit is contained in:
@@ -63,6 +63,13 @@ All configuration is via environment variables; every value has a default, so `.
|
||||
| `PANSY_OIDC_BUTTON_LABEL` | `Sign in with Authentik` | Label for the OIDC button on the login page. |
|
||||
| `PANSY_TRUSTED_PROXIES` | *(none)* | Comma-separated proxy CIDRs/IPs to trust for client-IP resolution. |
|
||||
|
||||
The garden assistant reads two more. Both are **read only once the assistant lands** ([#56](https://gitea.stevedudenhoeffer.com/steve/pansy/issues/56)); setting them earlier is harmless and setting neither leaves the assistant off.
|
||||
|
||||
| Variable | Default | Description |
|
||||
| ----------------------- | ----------------------------- | --------------------------------------------------------------------------- |
|
||||
| `OLLAMA_CLOUD_API_KEY` | *(empty)* | Ollama Cloud API key. Without it the assistant is disabled, not broken. |
|
||||
| `PANSY_AGENT_MODEL` | `ollama-cloud/glm-5.2:cloud` | Model spec, passed verbatim to `majordomo.Parse` — a comma-separated list is a failover chain. |
|
||||
|
||||
Local email/password auth is live (`POST /api/v1/auth/register`, `/auth/login`, `/auth/logout`, `GET /auth/me`, `GET /auth/providers`); the session is an HttpOnly cookie (`Secure` when `PANSY_BASE_URL` is https). The first account registered becomes admin, and it may register even when `PANSY_REGISTRATION=closed` to bootstrap the instance.
|
||||
|
||||
OIDC (Authentik-first) is live too: set `PANSY_OIDC_ISSUER`, `PANSY_OIDC_CLIENT_ID`, `PANSY_OIDC_CLIENT_SECRET`, and `PANSY_BASE_URL` (needed for the redirect URI). Register `PANSY_BASE_URL` + `/api/v1/auth/oidc/callback` as the redirect URI in your IdP. `GET /auth/oidc/login` starts an authorization-code + PKCE flow; first login provisions a user just-in-time (a matching *verified* email links to an existing local account instead of duplicating it). Provider discovery is lazy, so a briefly-unreachable IdP never blocks startup or local auth. Set `PANSY_LOCAL_AUTH=false` for pure-Authentik deployments (local register/login are then rejected and hidden from `/auth/providers`).
|
||||
@@ -98,7 +105,10 @@ services:
|
||||
- pansy-data:/data
|
||||
environment:
|
||||
PANSY_BASE_URL: https://pansy.example.com
|
||||
# PANSY_OIDC_ISSUER: ... # once auth (#5) lands
|
||||
# PANSY_OIDC_ISSUER: https://auth.example.com/application/o/pansy/
|
||||
# PANSY_OIDC_CLIENT_ID: ...
|
||||
# PANSY_OIDC_CLIENT_SECRET: ...
|
||||
# OLLAMA_CLOUD_API_KEY: ... # enables the garden assistant
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
pansy-data:
|
||||
|
||||
Reference in New Issue
Block a user