tnix now deploys from ~/tnix (mirrored to cgit); hosts/tnix here is frozen. Notes the layout and secrets pattern the pinix and blunix repos follow, and that root2 in secrets.nix is tnix's SSH host key. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
280 lines
18 KiB
Markdown
280 lines
18 KiB
Markdown
# Inventar für die Repo-Aufteilung
|
|
|
|
Schritt 2 aus [`Plan.md`](../Plan.md). Stand 17.09.2026, Commit `771ae10`.
|
|
Grundlage: tatsächlich importierte Module pro Host (auskommentierte Imports
|
|
zählen als inaktiv), `grep` auf Secret-Nutzung (`age.secrets.<name>.path`,
|
|
`/run/agenix/<name>`) und Live-Prüfung auf pinix/blunix
|
|
(`systemctl`, `ss`, TCP-Probe über das Tailnet).
|
|
|
|
Ziel-Spalte:
|
|
|
|
- **tnix / pinix / blunix** — wandert in dieses Repo
|
|
- **kopieren → X, Y** — Kopie in mehrere Repos, darf danach auseinanderlaufen
|
|
- **blunix (aus)** — wird übernommen, aber nicht importiert
|
|
- **Archiv** — bleibt nur im archivierten `nixos-config`
|
|
- **auskommentiert** — wird übernommen, aber als toter Eintrag auskommentiert (Vorlage)
|
|
|
|
## Wichtigste Befunde
|
|
|
|
1. **blunix hängt zur Laufzeit praktisch nicht mehr an pinix.** Alle 11
|
|
Traefik-Routen auf blunix, die auf `tailnetIPs.pinix` zeigen (`social`,
|
|
`phanpy`, `board`, `sound`, `calendar`, `cal`, `desk`, `webhook`,
|
|
`files`, `dash`, oauth2-proxy-Upstream `:8001`), sind **tot** — der Port
|
|
ist auf pinix zu bzw. die Dienste sind dort auskommentiert. Die 10
|
|
Routen auf `fastpi` (`100.64.0.21`) sind ebenfalls tot, `fastpi` ist
|
|
nicht erreichbar und nicht mehr im Tailnet. Diese Routen fallen weg,
|
|
statt aufgelöst zu werden.
|
|
2. **Übrig bleibende echte Kopplungen** (alle bewusst, siehe unten):
|
|
Tailnet-Mitgliedschaft aller Hosts im pinix-Headscale, Forgejo-Hostkey
|
|
auf allen Hosts (pinix kann das blunix-Repo im Notfall klonen),
|
|
tnix-Backup-Skripte (rsync von pinix und blunix). Der SSH-Zugriff
|
|
blunix → pinix (`nixbuild.nix`) entfällt.
|
|
3. **`hosts/globalServices/secretFiles.nix` deklariert ~16 Secrets auf
|
|
allen Hosts**, auch dort, wo sie nicht gelesen werden. Pro Repo wird
|
|
daraus eine `secrets.nix` mit nur den tatsächlich genutzten.
|
|
4. **`oidcHeadscale.age` wird von beiden Dex/Headscale-Stacks gleichzeitig
|
|
benutzt** (blunix *und* pinix). Nach der Trennung: pinix bekommt ein
|
|
eigenes, neu generiertes Client-Secret.
|
|
5. **Der blunix-Headscale** hat nur noch abgelaufene bzw. seit Wochen
|
|
offline Nodes (eigene Hosts seit 14.09. abgemeldet; geteilte Nutzer
|
|
`alfo`, `proloff` offline). Er bleibt laut Plan für geteilte Nutzer.
|
|
6. **Mango-Skripte und -Doku** sind obsolet (pinix hat die Router-Rolle).
|
|
Ausnahme: `traefik.nix` auf pinix verweist noch per Kommentar auf
|
|
`configure-mango-ipv6-web.sh`.
|
|
7. **Die Website hängt clientseitig an blunix** (gefunden 17.09. in
|
|
Schritt 3): `projects.html` lädt Bilder von `data.0ff.space/pictures`
|
|
(blunix, `fileserver-external`). Nach dem Umzug auf pinix bleibt das
|
|
eine Kopplung — Bilder fehlen, wenn blunix weg ist. **Entschieden
|
|
17.09.: Bilder ziehen mit nach pinix.** `pictures/` und `booklet.pdf`
|
|
(129 MB, 167 Dateien) sind nach `pinix:/var/www/website-data` kopiert
|
|
(liegt im Restic-Pfad `/var/www`). Ausliefern und URLs in der Website
|
|
umstellen passiert in Schritt 5 mit dem Website-Umzug.
|
|
|
|
## Flake
|
|
|
|
| Teil | Nutzer | Ziel |
|
|
| --- | --- | --- |
|
|
| `nixpkgs` (unstable) | alle | kopieren → alle |
|
|
| `nixpkgs-stable` (24.11) | tnix (specialArgs `stable`), blunix (`packages-stable.nix`) | kopieren → tnix, blunix |
|
|
| `nixpkgs-codex` + `codexOverlay` | alle (Codex-Paket) | kopieren → tnix, pinix; blunix (aus) |
|
|
| `nixos-hardware` (raspberry-pi-4) | pinix | pinix |
|
|
| `home-manager` | tnix | tnix |
|
|
| `disko` | blunix (pinix: auskommentiert) | blunix |
|
|
| `agenix` + `agenixCliOverlay` | alle | kopieren → alle |
|
|
| `ereaderViewer` | pinix | pinix — seit 17.09. `git+file:///var/lib/git/ereader-viewer.git` (cgit-Repo, gleicher narHash) |
|
|
| `mkVariableModules` / `variables-local.nix` | alle | kopieren → alle |
|
|
| `checks.x86_64-linux.tnix-boot` + `tests/tnix-boot.nix` | tnix | tnix |
|
|
| `devShells.default` (pytest, playwright, chromium) | Board-Agent-Tests | blunix (aus) |
|
|
|
|
## `variables.nix`
|
|
|
|
| Option | Genutzt von | Ziel |
|
|
| --- | --- | --- |
|
|
| `domain` (`0ff.space`) | blunix (fast alles), pinix `ipv6-test.nix`, tnix `home/tnix/builder.nix` (SSH-Match `git.0ff.space`) | kopieren → alle |
|
|
| `domain2` (`lukasrosier.com`) | pinix (fast alles), blunix `website.nix` + `tailscale.nix` + `traefik/cal.nix`, tnix `tailscale.nix` + `configuration.nix` | kopieren → alle |
|
|
| `adminEmail` | blunix (ACME, Dienste) | kopieren → blunix, pinix |
|
|
| `ldapBaseDN` | blunix (Dex, LLDAP, Prosody) | blunix |
|
|
| `ldapBaseDN2` | pinix (Dex, LLDAP) | pinix |
|
|
| `publicIPv4`, `publicIPv6` | blunix (Traefik, Prosody, Netz) | blunix |
|
|
| `lanIPv6` (`pinix`, `tnix`, `mango`) | pinix `bind.nix` | pinix (Eintrag `mango` entfernen) |
|
|
| `tailnetIPs` (`blunix`, `pinix`, `tnix`, `fastpi`) | alle | kopieren → alle, `fastpi` streichen |
|
|
|
|
## Gemeinsame Module (`hosts/globalServices/`, `hosts/user/`, `hosts/nix-gc.nix`)
|
|
|
|
| Datei | Aktiv auf | Ziel | Anmerkung |
|
|
| --- | --- | --- | --- |
|
|
| `default.nix` | alle | kopieren → alle | Importliste pro Repo anpassen |
|
|
| `sshd.nix` | alle | kopieren → alle | |
|
|
| `security.nix` | alle | kopieren → alle | |
|
|
| `zsh.nix` | alle | kopieren → alle | |
|
|
| `journald.nix` | alle | kopieren → alle | |
|
|
| `packages.nix` | alle | kopieren → alle | |
|
|
| `forgejo-known-host.nix` | alle | kopieren → alle | pinix behält Zugriff, um das blunix-Repo im Notfall klonen zu können |
|
|
| `secretFiles.nix` | alle | aufteilen → je `secrets.nix` | siehe Secrets |
|
|
| `graphify.nix` | alle | kopieren → tnix, pinix; blunix (aus) | Paket für Agent-Workflows |
|
|
| `herdr-self-close.nix` | nur blunix (`mkIf hostName`) | blunix | `mkIf` entfällt |
|
|
| `docker.nix` | nirgends | Archiv | |
|
|
| `branding/0ff-space-background.css`, `fileserver-links.css` | blunix (`fileserver-external`); auf pinix nur von inaktiven Modulen | blunix | |
|
|
| `hosts/nix-gc.nix` | blunix, pinix | kopieren → blunix, pinix | `perHost`-Map auf eigenen Eintrag reduzieren |
|
|
| `hosts/user/drone.nix` | blunix, pinix | kopieren → blunix, pinix | authorized_keys enthalten Keys der anderen Hosts — bewusst beibehalten |
|
|
| `hosts/user/builder.nix` | tnix | tnix | `mkIf hostName == "tnix"` entfällt |
|
|
| `hosts/user/README.md` | — | kopieren → alle | |
|
|
|
|
## tnix
|
|
|
|
| Datei | Status | Ziel | Kopplung |
|
|
| --- | --- | --- | --- |
|
|
| `hosts/tnix/configuration.nix` | aktiv | tnix | `/etc/hosts` für `git.`/`ereader.domain2` → pinix-dns-Node |
|
|
| `hosts/tnix/hardware-configuration.nix` | aktiv | tnix | |
|
|
| `localServices/default.nix` | aktiv | tnix | |
|
|
| `localServices/backup.nix` | aktiv | tnix | rsync von/nach `drone@pinix` und `drone@blunix` |
|
|
| `localServices/battery-monitor.nix`, `fonts.nix`, `keyd.nix`, `ly.nix`, `udisks2.nix`, `packages.nix` | aktiv | tnix | |
|
|
| `localServices/nixbuild.nix` | aktiv | tnix | eu.nixbuild.net |
|
|
| `localServices/secrets.nix` | aktiv | tnix | |
|
|
| `localServices/tailscale.nix` | aktiv | tnix | Login gegen `head.domain2` (pinix) |
|
|
| `localServices/vdirsyncer.nix` | aktiv, Ziel tot | tnix (auskommentiert) | `https://cal.0ff.space/calendar/public/` — Kalender ist aus; Vorlage für später |
|
|
| `home/tnix/**` (19 Module) | aktiv | tnix | `builder.nix`: SSH-Matches für pinix, blunix, `git.0ff.space` |
|
|
| `tests/tnix-boot.nix` | Flake-Check | tnix | |
|
|
|
|
## pinix
|
|
|
|
| Datei | Status | Ziel | Kopplung |
|
|
| --- | --- | --- | --- |
|
|
| `configuration.nix`, `hardware-configuration.nix` | aktiv | pinix | |
|
|
| `hardware-configuration_bak.nix` | ungenutzt | Archiv | |
|
|
| `disko.nix` | auskommentiert | Archiv | |
|
|
| `router-uplink.nix`, `router-lan.nix` | aktiv | pinix | `pinix-wifi` (hostapd) |
|
|
| `README.md`, `localServices/README.md` | — | pinix | neu schreiben (Stand ist Voll-Dienstbestand) |
|
|
| `localServices/tailscale.nix` | aktiv | pinix | |
|
|
| `localServices/secrets.nix`, `packages.nix` | aktiv | pinix | |
|
|
| `localServices/traefik.nix`, `traefik/identity.nix` | aktiv | pinix | |
|
|
| `localServices/ipv6-test.nix`, `ipv6-test.html` | aktiv | Archiv | Rolle übernimmt `lukasrosier.com` auf pinix |
|
|
| `localServices/wan-dns-update.nix` + `scripts/update-wan-dns.sh` | aktiv | pinix | Cloudflare |
|
|
| `localServices/bind.nix`, `dns/` | aktiv | pinix | |
|
|
| `localServices/unbound.nix` | aktiv | pinix | |
|
|
| `localServices/acme.nix` | aktiv | pinix | |
|
|
| `localServices/lldap.nix`, `dex.nix` + `scripts/dex-ldap-env.sh`, `scripts/test-dex-ldap-env.sh` | aktiv | pinix | |
|
|
| `localServices/headscale.nix` | aktiv | pinix | Admin-Tailnet für alle Hosts |
|
|
| `localServices/tailnet-dns.nix` + `scripts/enrol-pinix-dns.sh` | aktiv | pinix | |
|
|
| `localServices/gitserver/` | aktiv | pinix | Origin für pinix-, ereader-viewer-Repo; Mirror tnix |
|
|
| `localServices/ereader-viewer.nix` | aktiv | pinix | |
|
|
| `localServices/live-intent.nix` + `services/live-intent/` + `docs/live-intent.md` | aktiv | pinix | |
|
|
| `localServices/restic.nix` | aktiv | pinix | |
|
|
| `localServices/website.nix` | aus | pinix (reaktivieren) | ersetzt blunix-`website.nix`, IPv6-only; `website`-Repo auf cgit mit Auto-Pull-Hook auf pinix. ⚠ Bilder kommen weiterhin von `data.0ff.space` (blunix) |
|
|
| `localServices/branding/` | `spiral-v2-512.png` von blunix `fileserver-external.nix` genutzt, Rest nur von inaktiven Modulen | blunix (`spiral-v2-512.png`), Rest Archiv | `gotosocial-accent.css` ggf. mit GoToSocial nach blunix |
|
|
| `localServices/forgejo.nix`, `prosody/`, `xmpp-web.nix` | aus (läuft auf blunix) | Archiv | Duplikate der blunix-Module |
|
|
| `localServices/gotosocial.nix`, `phanpy.nix`, `phanpy/` | aus | Archiv | beim späteren GoToSocial-Schritt auf blunix als Vorlage zurückholen |
|
|
| `localServices/vikunja.nix`, `calendar/`, `webhook.nix`, `radio.nix`, `webdav.nix`, `fileserver-internal.nix`, `dashboard.nix`, `desk.nix`, `mazanoke.nix` | aus | Archiv | |
|
|
| `localServices/finance-agent.nix`, `finance-agent/` | aus | Archiv | |
|
|
| `scripts/deploy-pinix.sh` | manuell | pinix | wird auch von `agent-codex/builder.py` aufgerufen |
|
|
| `scripts/configure-pinix-identity-dns.sh`, `scripts/pinix-reachability-probe.sh` | manuell | pinix | |
|
|
|
|
## blunix
|
|
|
|
| Datei | Status | Ziel | Kopplung |
|
|
| --- | --- | --- | --- |
|
|
| `configuration.nix`, `disko.nix` | aktiv | blunix | |
|
|
| `hardware-configuration.nix` | auskommentiert | Archiv | |
|
|
| `localServices/default.nix`, `README.md` | aktiv | blunix | |
|
|
| `localServices/sshd.nix`, `fail2ban.nix` | aktiv | blunix | ⚠ Aussperr-Risiko beim ersten Switch aus neuem Repo |
|
|
| `localServices/tailscale.nix` | aktiv | blunix | Login gegen `head.domain2` (pinix) |
|
|
| `localServices/headscale.nix` | aktiv | blunix | für geteilte Nutzer |
|
|
| `localServices/lldap.nix`, `dex.nix` | aktiv | blunix | Dex-Clients `vikunja`, `audiobookshelf`, `quantum`, `trek` (tote Dienste) auskommentiert |
|
|
| `localServices/oauth2-proxy.nix` | aktiv, Upstream tot | blunix (auskommentiert) | schützte früher Website auf pinix `:8001`; Launcher-Auth aus |
|
|
| `localServices/adguard.nix` | aktiv | blunix | Rewrites für tote interne Hostnamen auskommentiert |
|
|
| `localServices/traefik/default.nix`, `dex.nix`, `forgejo.nix`, `prosody.nix` | aktiv | blunix | |
|
|
| `localServices/traefik/routes-external.nix` | aktiv | blunix | Einträge mit `tailnetIPs.pinix`/`fastpi` auskommentiert; aktiv bleiben: `data`, `hdm`, lokale |
|
|
| `localServices/traefik/routes-internal.nix` | aktiv | blunix | dito; `tasks` mit den Agents aus; aktiv bleiben: `schema` (drawio), lokale |
|
|
| `localServices/traefik/cal.nix` | aktiv, Backend tot | blunix (auskommentiert) | `cal.domain2` → pinix `:5001` |
|
|
| `localServices/forgejo.nix` | aktiv | blunix | pinix-IP in `ALLOWED_HOST_LIST` (alte Webhooks) auskommentiert |
|
|
| `localServices/prosody/`, `xmpp-web.nix` | aktiv | blunix | |
|
|
| `localServices/launcher.nix` | aktiv | blunix | Repo `launcher` auf Forgejo |
|
|
| `localServices/website.nix` | aktiv | → pinix | Umzug, danach hier entfernen |
|
|
| `localServices/webhook.nix` | aktiv | blunix | Hook `gitpull-website` entfällt (Auto-Pull jetzt auf pinix); `gitpull-launcher`, `wiki-update` bleiben; `gitpull-tasks` mit tasks aus |
|
|
| `localServices/fileserver-external.nix` | aktiv (`data.`) | blunix | liest `../../pinix/localServices/branding/spiral-v2-512.png`; hostet die Website-Bilder (`data.0ff.space/pictures`) |
|
|
| `localServices/wordpress.nix`, `wordpress-hdm-assets/` | aktiv (`hdm.`) | blunix | Klon hausdermaterialisierung.org |
|
|
| `localServices/drawio.nix` | aktiv (`schema.`) | blunix | |
|
|
| `localServices/tasks.nix` | aktiv | blunix (aus) | Aufgabenliste des `agent@`, zusammen mit den Agents |
|
|
| `localServices/branding/` | aktiv | blunix | |
|
|
| `localServices/restic.nix` | aktiv | blunix | |
|
|
| `localServices/nixbuild.nix` | aktiv | Archiv | SSH-Zugriff blunix → pinix entfällt; Admin läuft von tnix |
|
|
| `localServices/packages.nix`, `packages-stable.nix`, `secrets.nix` | aktiv | blunix | |
|
|
| `localServices/emptyCerts.nix` | auskommentiert | Archiv | |
|
|
| `localServices/agent-codex.nix`, `agent-codex/` | aktiv | blunix (aus) | ruft `scripts/deploy-pinix.sh` |
|
|
| `localServices/board-agent.nix`, `board-agent/` | aktiv | blunix (aus) | liest `agents/claude-settings/` |
|
|
| `localServices/orga-agent.nix`, `orga-agent/` | aktiv | blunix (aus) | |
|
|
| `localServices/graphify-refresh.nix` | aktiv | blunix (aus) | |
|
|
|
|
## Secrets
|
|
|
|
Genutzt = tatsächlich gelesen in einem aktiven Modul.
|
|
|
|
| Secret | Genutzt von | Ziel |
|
|
| --- | --- | --- |
|
|
| `dns-challenge` (als `traefik`) | blunix, pinix | kopieren → blunix, pinix |
|
|
| `resticPW` | blunix, pinix | kopieren → blunix, pinix | Rotation pro Host als eigener Schritt nach der Aufteilung |
|
|
| `oidcHeadscale` | blunix, pinix (Dex + Headscale) | kopieren → blunix; pinix **neu generieren** |
|
|
| `pinixHeadscalePreAuthKey` | alle | kopieren → alle |
|
|
| `wirelessSecretsFile` | tnix, pinix | kopieren → tnix, pinix |
|
|
| `pinix-wifi` | tnix, pinix | kopieren → tnix, pinix |
|
|
| `mailPW` | tnix (msmtp), blunix (orga-agent) | tnix; blunix (aus) |
|
|
| `pinixLldapAdmin`, `bindAcmeTsig`, `liveIntentOpenaiApiKey` | pinix | pinix |
|
|
| `lldapAdmin`, `oidcForgejo`, `oidcOauth2`, `oauth2Cookie`, `traefikBasicAuth`, `go-sendxmpp`, `motd` | blunix | blunix |
|
|
| `oidcGTS`, `oidcGTSEnv` | blunix Dex-Client (GTS läuft nicht) | blunix (für GoToSocial später) |
|
|
| `oidcVikunja`, `oidcAudiobookshelf`, `oidcQuantum`, `oidcTrek` | nur Dex-Clients toter Dienste | blunix (Datei mit, Deklaration auskommentiert) |
|
|
| `agentXmpp`, `builderXmpp`, `agentCalendarPw`, `openrouterApiKey` | blunix Agents | blunix (aus) |
|
|
| `forgejoToken` | deklariert, nicht gelesen | Archiv |
|
|
| `headscalePreAuthKey` (alter blunix-Key) | tnix, pinix deklariert, nicht gelesen | Archiv |
|
|
| `financeXmpp` | finance-agent (aus) | Archiv |
|
|
| `icecastPw` | radio (aus) | Archiv |
|
|
| `webdav`, `bindPW`, `domain`, `ipv4`, `ipv6`, `traefikDashboardPassword` | nirgends gelesen | Archiv |
|
|
| `secrets.yaml` (sops, Altlast) | nirgends | Archiv |
|
|
| `secrets.nix`, `README.md` | — | pro Repo neu, nur eigene Empfänger |
|
|
|
|
Empfänger pro Repo:
|
|
|
|
- **alle Repos:** User-Keys `tnix` (builder@tnix), `root` (root@tnix), `root2` — **ist der SSH-Hostkey von tnix** (geklärt 17.09.), damit entschlüsselt agenix auf tnix beim Aktivieren
|
|
- **pinix:** User-Keys + `pinix`-Hostkey
|
|
- **blunix:** User-Keys + `blunix`-Hostkey
|
|
|
|
## Übrige Verzeichnisse
|
|
|
|
| Pfad | Ziel | Anmerkung |
|
|
| --- | --- | --- |
|
|
| `README.md`, `AGENTS.md`, `CLAUDE.md` | pro Repo neu schreiben | Architektur-Teile nach Rolle trennen |
|
|
| `.claude/settings.json`, `hooks/block-secrets-edit.sh`, `skills/predeploy-check/`, `agents/nix-module-reviewer.md` | kopieren → alle | |
|
|
| `.gitignore` | kopieren → alle | `graphify-out/` ist ignoriert, aber getrackt |
|
|
| `graphify-out/` | Archiv | generiert |
|
|
| `agents/` (Rollen-Prompts, `claude-settings/`, `tests/`) | blunix (aus) | Smoke-Test-Dateien darin → Archiv |
|
|
| `memory/` (`world-view`, `project-context`, `zettel/`) | Repo `memory` auf cgit (angelegt 17.09., per `subtree split` mit Historie) | im Backup; bleibt bis zur Archivierung auch hier, weil Agent-Doku darauf verweist |
|
|
| `scripts/configure-mango-*.sh` | Archiv | Mango offline |
|
|
| `scripts/resize-image.sh` | `website`-Repo (`dev`, 17.09.) | Bildgrößen für `data.0ff.space/pictures` |
|
|
| `docs/access-control.md` | blunix | |
|
|
| `docs/operator-prompt.md` | kopieren → alle | kürzen pro Rolle |
|
|
| `docs/roadmap.md` | aufteilen | VPS-Punkt schließen |
|
|
| `docs/repos.md` | neu | durch Plan-Tabelle ersetzen |
|
|
| `docs/networking.md` | aufteilen | Mango-Teile streichen |
|
|
| `docs/pinix-*.md`, `docs/tnix-wlan-pinix.md` | pinix bzw. tnix | |
|
|
| `docs/ipv6-test-tnix.md`, `ipv6-uplink-tnix-mango.md`, `tnix-ssh-mango.md`, `telekom-ipv6-support-anfrage.md`, `session-2026-09-12-*.md`, `repo-abgleich-2026-09-12.md` | Archiv | historisch |
|
|
| `docs/intent/gitserver-pinix.md`, `pinix-ipv6-traefik-webserver.md` | pinix | vom Code referenziert |
|
|
| `docs/intent/lldap-fail2ban-protection.md`, `xmpp-umzug-pinix-blunix.md`, `mariadb-bind-local.md` | blunix | |
|
|
| `docs/intent/nix-gc-*.md` | kopieren → blunix, pinix | |
|
|
| übrige `docs/intent/`, `docs/review/`, `docs/research*/` (Board-Pipeline) | Archiv | bei Agent-Reaktivierung zurückholen |
|
|
| `docs/kanban-*.md`, `docs/intent/.escalation-smoke-test-files/` | Archiv | Test-Artefakte |
|
|
| `docs/herdr-*.md`, `pipelines.md`, `graphify-dashboard-plan.md`, `playwright-mcp.md` | blunix (aus) | Agent-Tooling |
|
|
| `docs/hdm-klon-plan.md` | blunix | |
|
|
| `docs/photo-pipeline.md` | Archiv | |
|
|
| `docs/diagrams/` | Archiv | |
|
|
| `docs/live-intent.md` | pinix | |
|
|
| `Plan.md`, dieses Inventar | Archiv | nach Abschluss |
|
|
|
|
## Entscheidungen
|
|
|
|
Getroffen am 17.09.2026 (interaktive Rückfragen):
|
|
|
|
1. **Tote Routen/Clients auf blunix** (pinix-/fastpi-Routen, `cal.nix`,
|
|
Dex-Clients `vikunja`/`audiobookshelf`/`quantum`/`trek`, AdGuard-
|
|
Rewrites, oauth2-proxy, Forgejo-Allowlist): **auskommentiert
|
|
übernehmen**, als Vorlage.
|
|
2. **`tasks.nix`** (inkl. Route und `gitpull-tasks`-Hook): **mit den Agents
|
|
abschalten**, blunix (aus).
|
|
3. **`lukasrosier.com`:** `website`-Repo zieht von Forgejo auf **cgit**,
|
|
**Auto-Pull-Hook auf pinix** — keine Kopplung an blunix.
|
|
`scripts/resize-image.sh` zieht ins `website`-Repo.
|
|
4. **`memory/`:** eigenes Repo **`memory` auf cgit**, im Backup.
|
|
5. **`nixbuild.nix` auf blunix:** **entfernen** — kein SSH-Zugriff
|
|
blunix → pinix mehr.
|
|
6. **Codex-Overlay und `graphify.nix`:** aktiv auf **tnix und pinix**,
|
|
auf blunix mit den Agents übernommen, aber aus.
|
|
7. **`ipv6-test`** auf pinix: **entfernen** (Archiv).
|
|
8. **`vdirsyncer`** auf tnix: **auskommentiert übernehmen**.
|
|
9. **Secrets:** `resticPW` wird **kopiert**, Rotation pro Host als eigener
|
|
Schritt nach der Aufteilung. User-Keys `tnix`, `root`, `root2`
|
|
bleiben **in allen Repos** Empfänger.
|
|
10. **Forgejo-Hostkey:** bleibt auf **allen** Hosts, auch pinix.
|
|
11. `photo-pipeline.md`, `docs/diagrams/`: **Archiv**.
|
|
|
|
12. **Website-Bilder** (Befund 7): ziehen **mit nach pinix**.
|
|
|
|
Weiterhin offen: nichts. Neu dazugekommen sind zwei Repos auf cgit
|
|
(`website`, `memory`) — in `Plan.md` nachgetragen.
|