fix: load ./.env only when private and owned, add --env-file and AEGIS_ENV_FILE (SEC-04)

This commit is contained in:
Latte committed 2026-10-14 17:22:29 +02:00
1 parent 7307214ab6
commit 79aa4f7fc0
11 files changed
+360 -20

No files matched your search

+7 -3
View File
@@ -63,7 +63,9 @@ uv run aegis-gitea-mcp setup
they are missing, and keeping values it does not know;
- prints ready-made client configurations and a docker-compose snippet.
Secrets are only ever written to the env file, never printed.
Secrets are only ever written to the env file, never printed. `serve` reads `./.env` only
while it keeps the 0600 mode and your ownership; to keep the file elsewhere use
`--env-file PATH` (or `AEGIS_ENV_FILE`) on both commands.
Run it:
@@ -247,8 +249,10 @@ More in [docs/deployment.md](docs/deployment.md) and [docs/hardening.md](docs/ha
## Configuration
All settings are environment variables (or `.env` in the working directory), case-insensitive.
Core ones:
All settings are environment variables (or an env file), case-insensitive. The env file is
`--env-file PATH`, else `AEGIS_ENV_FILE`, else `./.env` only when it is a regular file owned by
you with mode 0600 (what `setup` writes); any other `./.env` is ignored with a warning (run
`chmod 600 .env` or pass `--env-file`). Real environment variables always win. Core ones:
| Variable | Default | Meaning |
|---|---|---|