slimcore-website/docs/deferred-work.md

36 lines
2.2 KiB
Markdown
Raw Normal View History

# Deferred Work — Marketing-VPS Stack
> **Stand:** 2026-05-05 · **Kontext:** Pragmatik-vor-Perfektion-Entscheidung beim initialen Deployment.
> Folgendes ist bewusst zurückgestellt, soll aber vor Live-Schaltung von slimcore.io
> oder spätestens beim Aufsetzen der zweiten Marken-Site abgearbeitet werden.
## Caddyfile (`infra/marketing-vps/Caddyfile`)
- [ ] Per-Domain Access-Logs (`/var/log/caddy/<domain>.log`, JSON, rotiert) — essentiell für Debugging und DSGVO-Auskünfte
- [ ] Cache-Control pro Asset-Klasse: `/_astro/*` und `/fonts/*` mit `max-age=31536000, immutable`; HTML mit `max-age=300, must-revalidate`
- [ ] `Permissions-Policy: interest-cohort=()` (Souveränitäts-Konsistenz, FLoC-Block)
- [ ] HSTS mit `preload` + Submission an [hstspreload.org](https://hstspreload.org)
- [ ] Globaler `email`-Block für Let's-Encrypt Renewal-Notifications
## Compose-Stack (`infra/marketing-vps/docker-compose.yml`)
- [ ] **Uptime-Kuma** unter `status.digiformer.eu` (eigener Caddy-Block, basicauth, eigenes Passwort — nicht „demo")
- DNS-A-Record `status.digiformer.eu``178.104.215.120` ✓ (am 2026-05-05 von Pascal gesetzt)
- [ ] Healthcheck auf Caddy-Admin-API (`http://127.0.0.1:2019/config/`)
- [ ] HTTP/3 (`443:443/udp` Port + `experimental_http3` global)
- [ ] Log-Volume + Logrotate — ohne Mount sammelt Caddy intern alles, geht beim Container-Recreate verloren
- [ ] Caddy Admin-API auf `127.0.0.1:2019` (Voraussetzung für Healthcheck)
## Workflow (`.forgejo/workflows/deploy.yml`)
- [ ] Demo-Credentials als Org-Secrets `DEMO_USER`/`DEMO_PASS` (nicht im Klartext im Workflow oder Caddyfile)
- [ ] Verifikation curl-t mit Credentials → 200 erwarten, plus `grep -q SlimCore` auf Body
- [ ] `/_astro/*.css`-Smoke-Check — bestätigt, dass das jetzige `dist/` deployed wurde, nicht das alte
- [ ] Self-adapting beim Live-Switch: wenn `DEMO_PASS` leer/ungesetzt → Verifikation läuft ohne Auth
## Vor Live-Schaltung von slimcore.io
- [ ] `basic_auth { … }`-Block + `X-Robots-Tag`-Zeile aus `infra/marketing-vps/Caddyfile` entfernen, committen, auf marketing-VPS deployen + `docker exec marketing-caddy caddy reload`
- [ ] Site bei [hstspreload.org](https://hstspreload.org) submitten
- [ ] Sitemap an Google Search Console + Bing Webmaster Tools melden