Access & Deployment
Zielarchitektur
GitHub private repo: maschke-ai/maschke-wiki
-> Cloudflare Pages build
-> custom domain wiki.maschke.ai
-> Cloudflare Access policy
-> Robert sieht Wiki nach Login
Cloudflare Pages Settings
Primäre Git-backed Lane:
- Project name: maschke-wiki-git
- Git source: maschke-ai/maschke-wiki, branch main
- Production branch: main
- Framework preset: None / MkDocs custom
- Build command: pip install -r requirements.txt && mkdocs build --strict
- Output directory: site
- Environment variables: keine für V1
Historische Rollback-/Klärungs-Lane:
- Früheres Project name: maschke-wiki
- Typ: altes Direct-Upload-Projekt
- Status 2026-05-25: ARCUS sieht dieses Projekt via Wrangler/API aktuell nicht mehr (Project not found, Code 8000007); ein Direct Upload auf diese Lane ist damit blockiert.
- Custom Domain / Public Exposure: keine Änderung durch AEGIS; Klärung oder Cutover nur nach Robert-/Operator-Entscheidung.
- Löschung/Namensbereinigung: erst nach separater Robert-Entscheidung, wenn Domain-Validation/finaler Smoke stabil und die alte Lane geklärt ist.
Aktueller Deploy-Stand
ARCUS hat am 2026-05-25 gemeldet:
- Robert hat die Cloudflare/GitHub-Org-Verbindung im UI korrigiert.
- ARCUS konnte danach das GitHub-backed Cloudflare Pages Projekt
maschke-wiki-gitanlegen. - Source ist
maschke-ai/maschke-wiki, branchmain; Build command bleibtpip install -r requirements.txt && mkdocs build --strict, Outputsite. - Push-Trigger und Production-Deployment wurden verifiziert: Deployment
92f693c2-8b05-4a9a-aaa0-75b8dd2e10fd, Sourceeb58ea1. https://maschke-wiki-git.pages.dev/liefert laut ARCUS HTTP 200;/und/ops/access-and-deployment/rendern erwartete Wiki-Titel.wiki.maschke.aiwar zunächst am neuen Projektmaschke-wiki-gitangelegt, aber Cloudflare API zeigte nochpending/ validationpending; später meldete ARCUS beim Smoke HTTP 200 mit stale Content (f05b6f7-Stand), also keine verifizierte aktuelle Production.- Das frühere Direct-Upload-Projekt
maschke-wikiwar als Rollback-/historische Lane gedacht, ist via Wrangler/API aktuell aber nicht sichtbar. - Access-/Domain-Schutz ist erst nach ARCUS finalem Domain-/Access-Smoke wieder als verifiziert zu behandeln; AEGIS nimmt keine unauthenticated/Public-Exposure-Bewertung selbst vor.
- ARCUS hat außerdem GitHub-App-Pushes auf
origin/mainbestätigt: zuerst2b9020090af978413f7bfa4b782c5fc17d116a06, danach5210ed835634df6c0ec7d09335520877ab7b5862; Repo clean/synced. - ARCUS konnte den danach angefragten Direct Upload auf das frühere Projekt
maschke-wikinicht ausführen, weil das Projekt via Wrangler/API aktuell nicht sichtbar ist (Project not found, Code8000007). - ARCUS meldete für
maschke-wiki-git.pages.devbereits eine Production-Deployment-Zeile mit Source2b90200;wiki.maschke.ailieferte zum ARCUS-Smoke weiterhin stale Content mitf05b6f7-Stand. AEGIS hat keine DNS-, Access-, GitHub-Integration- oder Public-Exposure-Änderung vorgenommen.
Folge: GitHub-Auto-Deploy ist im Projekt maschke-wiki-git grundsätzlich staged/verifiziert, aber wiki.maschke.ai gilt weiterhin als Public-Exposure/Auth-Routing-Blocker, bis ARCUS nach Robert-/Operator-GO Domain-/Access-Zuordnung und finalen Smoke bestätigt. AEGIS ändert keine Cloudflare-Projekte, Access-Policies oder Cleanup-Entscheidungen. Nach stabiler Validation kann Robert separat entscheiden, ob die alte Direct-Upload-Lane maschke-wiki wiederhergestellt, behalten oder gelöscht/umbenannt bereinigt wird.
Cloudflare Access V1 Policy
Application:
- Type: Self-hosted
- Name: maschke.ai Wiki
- Domain: wiki.maschke.ai
- Session duration: nach Robert-Präferenz, Default 24h
Policy: - Action: Allow - Include: Roberts bestätigte Login-Identität - Exclude: keine für V1
Smoke Checks
Nach Aktivierung:
curl -I https://wiki.maschke.ai/
Erwartung ohne Access-Session:
- kein ungeschützter 200 OK auf Wiki-Inhalt
- Cloudflare Access Redirect/Challenge sichtbar
Authenticated Browser Smoke: - Login via Cloudflare Access möglich - Startseite sichtbar - Suche lädt - Navigation lädt
Protected Boundaries
ARCUS stoppt vor: - Cloudflare Login/Auth-Änderungen ohne aktive Robert-Session - DNS/Domain-Binding ohne Robert GO - Zugriffspolicy mit unbestätigter Identität - Secrets/Token-Ablage im Repo