[doc-staleness] Netgrimoire/Gremlin/Gremlin_Directives.md :: Environment Files #9
Labels
No labels
doc-staleness
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
traveler/Netgrimoire#9
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Doc Staleness Report
File:
Netgrimoire/Gremlin/Gremlin_Directives.mdSection:
Environment FilesSource:
manualRun ID:
20260619-130649-docflag-sec2What changed:
For Swarm engine, current CI/CD v3 (pipelineVersion v3.2026-06-16-1139) node order is Secrets Sync -> Deploy -> ... -> Env Sync, so Env Sync running after Deploy cannot block that deploy. The substitution responsibility for environment/.env on Swarm appears to already be covered by Secrets Sync (which runs pre-Deploy and auto-detects both secrets/ and environment/.env with no directive required). The 'Blocks deploy if env file missing' claim does not match this for Swarm; it may still hold for Compose/Pocket where Env Sync writes a real file to the host.
Gemini Draft
File:
secrets/<stackname>.yamlintraveler/servicesStack declaration:
/opt/grimoire/secrets/<stackname>/<key>.txtBlocks deploy if secrets file missing or any declared key absent.
Environment Files
File:
environment/<stackname>.envintraveler/servicesStack usage:
Secrets Syncstep before deploy. Theenvironment/<stackname>.envfile is auto-detected and processed bySecrets Sync./opt/grimoire/env/<stackname>.env, passed via--env-fileFor Swarm,
Secrets Syncblocks deploy if the environment file is missing or unreadable. For Compose/Pocket,Env Syncblocks deploy if the file is missing.Backup
gremlin.backup.enablefalsegremlin.backup.cron0 2 * * *gremlin.backup.pathgremlin.backup.script/opt/grimoire/scripts/backup/. Full path → used as-isgremlin.backup.dbsqlite|postgres|mysql|mariadbgremlin.backup.db.namegremlin.backup.db.userpostgresgremlin.backup.db.passwordgremlin.backup.db.pathgremlin.backup.db.containerVolume auto-detection:
/DockerVol/— always included/data/nfs/znas/Docker/<stackname>— included/data/nfs/(other paths) — excluded/etc/,/var/run/— excluded:romounts — excludedScript path resolution:
mailcow-pre.sh→/opt/grimoire/scripts/backup/mailcow-pre.sh/opt/mailcow/backup.sh→/opt/mailcow/backup.shScripts
Numbered directives support multiple scripts per service:
gremlin.script.N.nametraveler/scripts— fetched and deployedgremlin.script.N.pathgremlin.script.N.crongremlin.script.N.runpython3,bash)gremlin.script.N.branchtraveler/scripts(default: deploy branch)nameonly (no path separator) → deployed to/opt/grimoire/scripts/pathwith slashes → used as-isService File Directives (
gremlin/*.yaml)gremlin.namegremlin.hostgremlin.portgremlin.descgremlin.groupServices)gremlin.icongremlin.protocolhttporhttps(default:https)gremlin.authauthentik|authelia|nonegremlin.caddy.skipgremlin.monitor.skipgremlin.backup.enablegremlin.backup.pathgremlin.backup.crongremlin.backup.scriptAll
caddy.*,homepage.*,monitor.*overrides also work in service files.Commit Directives
Override any directive in the commit message — highest priority:
Gremlin Config File
gremlin/config.yamlintraveler/services— pipeline-wide defaults:Pocket overrides in
gremlin/config.yamlintraveler/pocket:Directory Structure Reference
Host Directory Structure