Add environments (spaces) support
All checks were successful
Deploy to Server / deploy (push) Successful in 2m28s

- API client sends _environment param on all content/asset requests
- GET /api/environments endpoint to list configured environments
- EnvironmentSwitcher in Sidebar with i18n label "Space"
- clearSession() also clears environment from sessionStorage
- .env.example documents ADMIN_USERNAME/PASSWORD/SESSION_SECRET

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Peter Meier
2026-03-15 22:46:52 +01:00
parent 6f2c4d8576
commit 261c2fe338
7 changed files with 120 additions and 17 deletions

View File

@@ -15,9 +15,9 @@ RUSTYCMS_API_KEY=dein-geheimes-token
# Format: key1:role1,key2:role2. Roles: read (GET only), read_write (content + assets), admin (+ schemas).
# RUSTYCMS_API_KEYS=key1:read,key2:read_write,key3:admin
# Optional: environments (e.g. production,staging). File store only. Content under content/ and content/<env>/.
# API: ?_environment=staging. Default = first in list.
# RUSTYCMS_ENVIRONMENTS=production,staging
# Optional: environments = spaces (e.g. one per website). File store only. First = content/, others = content/<env>/.
# API: ?_environment=justpm for the other space. Default = first in list.
# RUSTYCMS_ENVIRONMENTS=windwiderstand,justpm
# Optional: webhook URLs (comma-separated). POST with JSON { event, collection?, slug?, ... } on content/asset/schema changes.
# RUSTYCMS_WEBHOOKS=https://example.com/hook
@@ -34,3 +34,13 @@ RUSTYCMS_API_KEY=dein-geheimes-token
# Optional: Paths to types and content directories. Useful for keeping content in a separate repo.
# RUSTYCMS_TYPES_DIR=./types
# RUSTYCMS_CONTENT_DIR=./content
# --- Admin UI (Next.js, when running admin-ui e.g. npm run dev in admin-ui/) ---
# Login: open /admin/login. Required for login to succeed.
# ADMIN_USERNAME=admin
# ADMIN_PASSWORD=your-secret-password
# Optional: session cookie encryption. Change in production.
# SESSION_SECRET=min-32-chars-secret-for-iron-session!!
# Optional: API base URL and key for the admin (if not set, login returns API key from RUSTYCMS_API_KEY).
# NEXT_PUBLIC_RUSTYCMS_API_URL=http://127.0.0.1:3000
# NEXT_PUBLIC_RUSTYCMS_API_KEY=dein-geheimes-token