# Intent: Codeberg-Mirror deaktivieren ## Ziel Das wiederholt fehlschlagende Codeberg-Push-Mirroring (Fehler: 'branch master is the default branch and cannot be deleted', siehe docs/review/reviewer-systemaudit-2026-09-01.md Finding F3) soll gestoppt werden, ohne es zu reparieren. ## Umfang - In `hosts/blunix/localServices/forgejo.nix` innerhalb von `services.forgejo.settings` einen `mirror`-Block ergänzen, der Mirror-Synchronisation instanzweit deklarativ abschaltet (z.B. `mirror.DISABLED = true`), sodass keine Mirror-Jobs -- insbesondere der fehlschlagende Codeberg-Push-Mirror -- mehr geplant/ausgeführt werden. - Falls nach Recherche der tatsächlichen Forgejo-Version/-Doku klar wird, dass die Deaktivierung nur pro-Repo über die Admin-API/CLI möglich ist und keine passende deklarative App.ini-Option existiert, ist stattdessen eine Runtime-Aktion (Forgejo Admin-API/CLI) gegen die laufende Instanz zulässig -- dies muss dann im Abschlussbericht als Runtime-Aktion dokumentiert werden. ## Explizit ausgeschlossen - Keine Reparatur des Mirrors (z.B. kein Anpassen des default branch auf Codeberg-Seite). - Keine sonstigen Forgejo-Einstellungsänderungen. - Keine Änderung an anderen Forgejo-Funktionen (Issues, PRs, Wiki, Registrierung etc.). ## Annahmen - Aktuell existiert keine deklarative Mirror-Konfiguration im Repo; der Push-Mirror ist Forgejo-interner Laufzeitstate (DB), konfiguriert über die Admin-UI/API. - Nur dieser eine Mirror (nixos-config -> Codeberg) ist betroffen; eine instanzweite Mirror-Deaktivierung ist daher praktisch gleichbedeutend mit "diesen Mirror deaktivieren". ## Risiken - Eine instanzweite `mirror.DISABLED`-Option deaktiviert potenziell auch künftige, heute nicht existierende Pull-/Push-Mirrors anderer Repos -- vertretbar, da laut Audit aktuell nur dieser eine Mirror existiert und Umfang explizit "disable" statt "repair" verlangt. ## Erfolgskriterien - Forgejo plant/versucht den Codeberg-Mirror-Sync nicht mehr. - Keine anderen Forgejo-Funktionen sind beeinträchtigt. - Änderung ist deklarativ in forgejo.nix sichtbar (oder als dokumentierte Runtime-Aktion, falls keine deklarative Option existiert).