infra: mirror LAN dev secrets under $HOME for snap-confined Docker #85
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Jinemi/thermograph#85
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/lan-dev-secrets-snap-confinement"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Docker on the LAN box is the snap package, sandboxed to
$HOME(plus a short allowlist) -- it cannot see/etc/thermograph.envat all, soenv_file: /etc/thermograph.envsilently loads nothing for every container there regardless of how correctly the vault renders. Confirmed directly:docker run --env-file /etc/thermograph.envfails withno such file or directoryon a file the shell reads fine; the identical content under$HOMEloads correctly via the same flag.This is why
thermograph-dev-daemon-1kept crash-looping on a missingTHERMOGRAPH_AUTH_SECRETeven after PR #77 correctly added it todev.yamland PR #84 fixed the runner's PATH sosopscould render it at all -- the render was correct, the container just structurally could not see the result.What this does
render-secrets.sh: opt-in second write viaTHERMOGRAPH_SECRETS_ENV_FILE_MIRROR-- unset (prod/beta) is a no-op.deploy-dev.sh: sets it to$APP_DIR/infra/deploy/dev-secrets.env(gitignored, re-rendered every deploy).docker-compose.dev.yml: adds that path as a secondenv_fileentry onbackend/daemon/lake-- compose appendsenv_filelists across overlays (last-wins on duplicate keys), so this is additive; prod/beta never set the mirror var and only ever get the base/etc/thermograph.enventry.Verified
docker run --env-file ~/thermograph-dev/infra/deploy/dev-secrets.env alpine envcorrectly listsTHERMOGRAPH_AUTH_SECRETand every other rendered key. (The compose-level wiring needs re-verifying post-merge -- an earlier hand-edit of the live checkout got wiped by deploy.sh's owngit reset --hard, a reminder that this really does need to land through git, not a live edit.)No tests -- shell/compose provisioning, dev-only behavior change.