docs: document Grav env-tree config save behavior + git-sync env path
Once user/env/<host>/ exists, Grav Admin saves ALL config (system + plugin) into that env tree, not user/config/ — so prod's git-sync.yaml lives at the env path, and Admin-on-server config edits are server-only (not committed, not synced). Documented the footgun in CLAUDE.md §1 (session-loaded) and rewrote git-sync-notes.md: env-path location, v3.4.4 folders format, gitignore table (incl. versions.yaml + security-private.php TODO), and fresh-server enable procedure. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Np4cMQLF77i664CAQXySzU
This commit is contained in:
@@ -198,6 +198,24 @@ request hostname):
|
||||
- The hostname segment defaults to `REMOTE_HOST`; override with `WEB_HOST` in
|
||||
`.env.<env>` if Grav sees a different host than the SSH host.
|
||||
|
||||
> **⚠️ Once `user/env/<hostname>/` exists, Grav's Admin saves ALL config there.**
|
||||
> Creating the env override dir has a site-wide side effect: Grav's Admin panel
|
||||
> writes **every** config change (system *and* plugin) into the active
|
||||
> environment's config tree — e.g. editing a plugin on prod saves to
|
||||
> `user/env/intotheeast.com/config/plugins/<name>.yaml`, **not**
|
||||
> `user/config/plugins/<name>.yaml`. Consequences you must remember:
|
||||
> - Config edited via **Admin on the server is server-only**: `user/env/` is
|
||||
> outside the content repo's tracked folders, so it is **not committed** and
|
||||
> **not synced by git-sync** (which syncs only `pages`/`config`/`themes`).
|
||||
> Good for secrets — `git-sync.yaml` (token) safely lives at the env path —
|
||||
> but it means prod Admin config edits silently do **not** reach Gitea/local.
|
||||
> - When reading/writing server config, check **both** `user/config/...` and
|
||||
> `user/env/<host>/config/...` (env wins). Server tooling must search the env
|
||||
> path first — see `scripts/git-sync-toggle.sh` and `make remote-diag`.
|
||||
> - Repo-authored config (`user/config/...` via `make content-push`) still
|
||||
> applies everywhere; the env tree only holds per-host overrides + Admin-on-
|
||||
> server edits. Full details: `docs/working/git-sync-notes.md`.
|
||||
|
||||
**Pre-launch smoke test required:** with the prod override applied, submit one
|
||||
post via `/post` and confirm the entry appears in the trip page feed
|
||||
immediately. This verifies the cache-on-save plugin (BUG-001 fix) works
|
||||
|
||||
Reference in New Issue
Block a user