Compare commits

...
5 Commits
Author SHA1 Message Date
m038andClaude Opus 4.8 4aa9ae9b23 chore: stop tracking config/versions.yaml (per-install Grav state)
versions.yaml records each install's Grav schema-migration state and
differs per environment (dev 2.0.4, prod 2.0.7). Tracking it in the
shared content repo caused cross-env drift; with git-sync enabled it
would push one env's version stamp to all others. Gitignore + untrack so
each install owns its own (Grav regenerates it). Mirrors the existing
treatment of security.yaml / api-private.php.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Np4cMQLF77i664CAQXySzU
2026-07-04 23:32:53 +02:00
m038andClaude Opus 4.8 b8a7bedcda config: track API plugin functional config so it deploys
The API plugin's enabled/route/session_enabled/cors/rate_limit config
lived only in the untracked user/plugins/api/api.yaml, so a fresh install
(prod) had no working /api — Admin2, which authenticates via /api/v1,
could not log in. Move the functional config into the tracked override
user/config/plugins/api.yaml (merged over the plugin defaults). Secrets
(JWT) stay in the gitignored api-private.php; the auto-generated
popularity salt is intentionally not committed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Np4cMQLF77i664CAQXySzU
2026-07-04 22:16:45 +02:00
m038andClaude Opus 4.8 2e32a8559c config: migrate strict_mode to Twig 3 compat flags for Grav 2.0
Grav 2.0's schema migration replaces the 1.7-era twig_compat with
twig2_compat/twig3_compat. Matching the repo to what the upgraded server
already generated so a content reset doesn't revert it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Np4cMQLF77i664CAQXySzU
2026-07-04 20:13:18 +02:00
m038andClaude Opus 4.8 2b48e427fd chore: gitignore api plugin private-key file (api-private.php)
The API plugin (>=1.0.7) relocates jwt_secret from config/plugins/api.yaml
into a generated config/plugins/api-private.php. Ignore it like the other
per-instance secrets (git-sync.yaml, security.yaml) so it is never committed
or pushed by git-sync.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Np4cMQLF77i664CAQXySzU
2026-07-04 17:49:59 +02:00
m038andClaude Opus 4.8 c4e9b2f6bf config: switch GPM release channel testing -> stable
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Np4cMQLF77i664CAQXySzU
2026-07-04 16:38:28 +02:00
4 changed files with 65 additions and 11 deletions
+3
View File
@@ -3,8 +3,11 @@
!/plugins/cache-on-save/
!/plugins/story-blocks/
/data/
/accounts/testrunner.yaml
/pages/01.trips/italy-2026-demo/
/pages/02.post/*ui-test*/
/config/plugins/git-sync.yaml
/config/plugins/api-private.php
/config/security.yaml
/config/versions.yaml
/themes/intotheeast/node_modules/
+59 -3
View File
@@ -1,4 +1,60 @@
popularity:
salt: 671ae9ab4f792c7dc860dbe8be288f2fdebdb3b4615f3c0f43211ecb95aaeeb3
enabled: true
route: /api
version_prefix: v1
auth:
jwt_secret: 61a84160bdd430768c82c4fe153e151a7a6f68f993c3779a5f36d32ee9293653
api_keys_enabled: true
jwt_enabled: true
jwt_algorithm: HS256
jwt_expiry: 3600
jwt_refresh_expiry: 604800
session_enabled: true
cors:
enabled: true
origins: { }
methods:
- GET
- POST
- PATCH
- DELETE
- OPTIONS
headers:
- Content-Type
- Authorization
- X-API-Key
- X-API-Token
- X-Grav-Environment
- If-Match
- If-None-Match
expose_headers:
- ETag
- X-Invalidates
- X-RateLimit-Limit
- X-RateLimit-Remaining
- X-RateLimit-Reset
max_age: 86400
credentials: false
rate_limit:
enabled: true
requests: 120
window: 60
storage: file
flex_backend:
pages: true
accounts: true
pagination:
default_per_page: 20
max_per_page: 1000
invitations:
expiration: 604800
popularity:
enabled: true
exclude_admin: true
exclude_ips: { }
history:
daily: 30
monthly: 12
visitors: 20
ignore:
- '/test*'
- /modular
salt: 37517ad926e4f900863af7f1b58718cdccc34f7265dedd09d33b6f820046c510
+3 -2
View File
@@ -210,7 +210,7 @@ session:
domain: null
path: null
gpm:
releases: testing
releases: stable
official_gpm_only: true
http:
method: curl
@@ -237,7 +237,8 @@ flex:
lifetime: 600
strict_mode:
yaml_compat: false
twig_compat: false
blueprint_compat: false
twig2_compat: false
twig3_compat: true
uploads_privacy:
enabled: false
-6
View File
@@ -1,6 +0,0 @@
core:
grav:
version: 1.7.53
schema: 1.7.53_2026-06-09_0
history:
- { version: 1.7.53, date: '2026-06-17 22:27:48' }