Take every setting from PIXA_ variables and PORT (closes #128)
check / check (push) Successful in 2m56s

Each config key can now be set by PIXA_ plus the key in upper case
("." written as "_"), and the port by PORT. One list pairs keys with
variables; the typed getters read a present variable, even an empty
one, before the config file, so every existing check covers it, and
errors a variable can reach name both the key and the variable. An
empty string for blocked_networks or trusted_proxies is now an empty
list, as for allowlist_hosts. The image no longer bakes in
config.docker.yml or passes --config; the config file is looked for
under /etc/pixa rather than /etc/pixad, so a file mounted at
/etc/pixa/config.yml is still read.

Model: opus-5-5
This commit is contained in:
2026-09-28 09:42:23 +00:00
parent 93d41083cd
commit 07f3433764
6 changed files with 183 additions and 125 deletions
+11 -1
View File
@@ -30,6 +30,17 @@ exhaustion
# Completed Steps
- 2026-09-28 every setting as an environment variable (closes #128, also
covers #99): each config key can be set by `PIXA_` plus the key in upper
case (`.` written as `_`), and the port by `PORT`; a variable present in
the environment, even empty, wins over the config file, which wins over
the default; the typed getters read the variable first, so every existing
check applies to it and a bad value aborts startup naming the variable;
lists are comma-separated, and an empty variable (or `""` in the file) is
an empty list; the Docker image no longer bakes in `config.docker.yml` or
passes `--config`, and the config file is looked for under `/etc/pixa`
and `~/.config/pixa` instead of the daemon name `pixad`; documented in
`README.md` and `config.example.yml`.
- 2026-09-21 trusted-proxy client IP resolution (closes #94): a
`trusted_proxies` config key taking a list of CIDRs, parsed by the same
`net/netip` list parser as `blocked_networks` (an invalid entry aborts
@@ -165,7 +176,6 @@ exhaustion
- P2: auto format selection (format=auto based on Accept header)
- P2: configuration
- add all configuration options from README
- environment variable overrides
- YAML config file support
- P2: operational
- optional Sentry error reporting