Auftrag sorb (2026-08-01, HOHE PRIORITÄT): Es wird zunehmend unübersichtlich — Issues liegen in vier Gitea-Repos, Host-Backlogs im Backlogs-Repo, Code seit der Migration auf git.lab. Ziel: eine zentrale Sicht in GitLab.
Umfang
Issue-Migration (zwingend): alle bestehenden Gitea-Issues (offen UND geschlossen — die Abschlussdokumentation ist wertvoll) nach GitLab überführen: gitops (47+), ThreadNet-Web (8), threadnet-call (2), thread-net-git (1).
Werkzeug: GitLabs eingebauter Gitea-Importer übernimmt Issues+Kommentare (Autorenschaft läuft auf den Import-User — bekannter, akzeptierbarer Verlust). Da die Projekte in GitLab schon existieren, ist ggf. stattdessen ein API-Skript nötig (Issues in BESTEHENDE Projekte importieren kann der Importer nicht) — Skript-Weg: Gitea-API lesen → GitLab-API schreiben, [Gitea #N]-Präfix im Titel oder Migrations-Fußzeile pro Issue für die Nummern-Zuordnung (Commit-Messages referenzieren alte Nummern!).
Host-Backlogs:Backlogs-Repo-Einträge (CFGMON-xx, MATRIX-xx, …) als GitLab-Issues in einem neuen Projekt infrastruktur (oder Labels host::cfgmon etc.) — die Markdown-Historie bleibt als Archiv erhalten.
Folgeänderungen (nicht vergessen): Repo-Topologie-Doku (CLAUDE.md/README „Issues bleiben Gitea" wird obsolet), TURN-Rotations-CronJob-PR-Hinweis, alle rohana…/issues-Links in Doku, meine Sessions-Werkzeuge (claude-issues-Token → GitLab-Token). ⚠️Erreichbarkeits-Trade-off bewusst machen: git.lab ist nur im Lab auflösbar — Issues wären unterwegs nicht mehr erreichbar. Optionen: (a) akzeptieren, (b) GitLab extern erreichbar machen (eigenes Projekt!), (c) Hybrid vermeiden — genau der räumt ja nicht auf. Entscheidung sorb nötig, bevor migriert wird.
Reihenfolge: Labels/Epics-Gerüst zuerst, dann Testmigration EIN Repo (thread-net-git, 1 Issue), Review, dann Rest.
**Auftrag sorb (2026-08-01, HOHE PRIORITÄT):** Es wird zunehmend unübersichtlich — Issues liegen in vier Gitea-Repos, Host-Backlogs im Backlogs-Repo, Code seit der Migration auf git.lab. Ziel: **eine zentrale Sicht in GitLab.**
## Umfang
1. **Issue-Migration (zwingend):** alle bestehenden Gitea-Issues (offen UND geschlossen — die Abschlussdokumentation ist wertvoll) nach GitLab überführen: gitops (47+), ThreadNet-Web (8), threadnet-call (2), thread-net-git (1).
2. **Harmonisierung/Roadmap:** zentrale Projekt-Roadmap auf Gruppen-Ebene (`axion1337.chat`), die Issues + Host-Backlogs sinnvoll zusammenführt — GitLab-Bordmittel: Gruppen-**Epics/Roadmap-Ansicht**, Milestones, Labels-Taxonomie (prio/*, area/*, host/*), Gruppen-Boards.
## Plan-Skizze (zur Abstimmung vor Umsetzung)
- **Werkzeug:** GitLabs eingebauter Gitea-Importer übernimmt Issues+Kommentare (Autorenschaft läuft auf den Import-User — bekannter, akzeptierbarer Verlust). Da die Projekte in GitLab schon existieren, ist ggf. stattdessen ein API-Skript nötig (Issues in BESTEHENDE Projekte importieren kann der Importer nicht) — Skript-Weg: Gitea-API lesen → GitLab-API schreiben, `[Gitea #N]`-Präfix im Titel oder Migrations-Fußzeile pro Issue für die Nummern-Zuordnung (Commit-Messages referenzieren alte Nummern!).
- **Host-Backlogs:** `Backlogs`-Repo-Einträge (CFGMON-xx, MATRIX-xx, …) als GitLab-Issues in einem neuen Projekt `infrastruktur` (oder Labels `host::cfgmon` etc.) — die Markdown-Historie bleibt als Archiv erhalten.
- **Folgeänderungen (nicht vergessen):** Repo-Topologie-Doku (CLAUDE.md/README „Issues bleiben Gitea" wird obsolet), TURN-Rotations-CronJob-PR-Hinweis, alle `rohana…/issues`-Links in Doku, meine Sessions-Werkzeuge (claude-issues-Token → GitLab-Token). ⚠️ **Erreichbarkeits-Trade-off bewusst machen:** git.lab ist nur im Lab auflösbar — Issues wären unterwegs nicht mehr erreichbar. Optionen: (a) akzeptieren, (b) GitLab extern erreichbar machen (eigenes Projekt!), (c) Hybrid vermeiden — genau der räumt ja nicht auf. **Entscheidung sorb nötig, bevor migriert wird.**
- **Reihenfolge:** Labels/Epics-Gerüst zuerst, dann Testmigration EIN Repo (thread-net-git, 1 Issue), Review, dann Rest.
Verwandt: Backlogs CFGMON-12 (wird hiervon abgelöst/erweitert).
Erreichbarkeits-Entscheidung (2026-08-01, sorb): WireGuard ins Lab — kein öffentlich exponiertes GitLab, kein Lab-only-Kompromiss.
Aber: Der Weg ist aktuell blockiert — sorb hatte genau so einen VPN-Zugang fürs Handy, der seit einigen Monaten nicht mehr sauber funktioniert. Setup: UDM Pro hinter einer Fritzbox, kein Doppel-NAT, statische Route in der Fritzbox für das VLAN. Die Diagnose/Reparatur ist als eigenes Backlog-Item erfasst: LABNET-01 (shared/lab-netzwerk.md im Backlogs-Repo).
Cutover (Gitea-Issues schließen/verweisen, Doku-Umbau) erst, wenn LABNET-01 gelöst ist und der Handy-Zugriff bewiesen funktioniert
**Erreichbarkeits-Entscheidung (2026-08-01, sorb): WireGuard ins Lab** — kein öffentlich exponiertes GitLab, kein Lab-only-Kompromiss.
**Aber:** Der Weg ist aktuell **blockiert** — sorb hatte genau so einen VPN-Zugang fürs Handy, der seit einigen Monaten nicht mehr sauber funktioniert. Setup: **UDM Pro hinter einer Fritzbox, kein Doppel-NAT, statische Route in der Fritzbox für das VLAN.** Die Diagnose/Reparatur ist als eigenes Backlog-Item erfasst: **LABNET-01** (`shared/lab-netzwerk.md` im Backlogs-Repo).
**Sequenzierung dadurch:**
1. Vorarbeiten unabhängig startbar: Label-/Epic-Taxonomie in GitLab, Migrations-Skript bauen, Testmigration thread-net-git (lab-intern testbar)
2. **Cutover** (Gitea-Issues schließen/verweisen, Doku-Umbau) erst, wenn LABNET-01 gelöst ist und der Handy-Zugriff bewiesen funktioniert
Blocker aufgelöst (2026-08-01 ~15:20): LABNET-01 ist GELÖST — git.lab lädt vom Handy über 5G/WireGuard. Die Erreichbarkeits-Voraussetzung für die Migration ist damit real bewiesen, nicht nur geplant.
Ursachenkette (Kurzfassung, Details in Backlogs/shared/lab-netzwerk.md): privater Endpunkt in UDM-generierten Configs → FritzOS-Portreservierung auf 51820 → Docker-Bridge-Kollision auf Overmind mit dem VPN-Subnetz. Fixes: Alternate-Address-Option, Port 51840, VPN-Subnetz 10.58.74.0/24.
#48 kann damit in die Umsetzung (Reihenfolge wie skizziert: Label-/Epic-Taxonomie → Migrations-Skript → Testlauf thread-net-git → Review → Rest).
**Blocker aufgelöst (2026-08-01 ~15:20): LABNET-01 ist GELÖST** — `git.lab` lädt vom Handy über 5G/WireGuard. Die Erreichbarkeits-Voraussetzung für die Migration ist damit real bewiesen, nicht nur geplant.
Ursachenkette (Kurzfassung, Details in `Backlogs/shared/lab-netzwerk.md`): privater Endpunkt in UDM-generierten Configs → FritzOS-Portreservierung auf 51820 → Docker-Bridge-Kollision auf Overmind mit dem VPN-Subnetz. Fixes: Alternate-Address-Option, Port 51840, VPN-Subnetz 10.58.74.0/24.
**#48 kann damit in die Umsetzung** (Reihenfolge wie skizziert: Label-/Epic-Taxonomie → Migrations-Skript → Testlauf thread-net-git → Review → Rest).
✅Label-Taxonomie als git.lab-Gruppen-Labels (Gruppe axion1337.chat): die 9 Gitea-Labels 1:1 (area:*, priority:*) + neu host:cfgmon/matrix/overmind/game/lab-netz für die vereinte Roadmap-Sicht. ⚠️Plan-Korrektur: GitLab CE hat keine Epics und keine Scoped Labels (Premium). Roadmap-Ebene daher über Gruppen-Issue-Boards + Milestones + die Label-Taxonomie — für den Zweck völlig ausreichend, nur damit es später keine Überraschung gibt.
✅Migrations-Skript gebaut und versioniert: Backlogs/verfahren/issue-migration/migrate.py — Dry-Run-Default, idempotent (Marker in der Beschreibung), Kommentare als Notes mit Original-Autor/-Zeit im Text, Original-Zeitstempel bleiben erhalten (Admin-created_at), geschlossene Issues werden geschlossen, PRs ausgefiltert.
Nebenprodukt: Neues Doku-Repo homelab/docs auf git.lab (Wissensspeicher, Abgrenzung zu Backlogs/verfahren dokumentiert) mit Netz-Topologie und der vollständigen MorninglightMountain-/WireGuard-Doku aus LABNET-01.
Nächster Schritt nach Review durch sorb: threadnet-call (2 Issues) und ThreadNet-Web (9) migrieren, gitops (47+) zuletzt; danach die Cutover-Nachschritte aus der Plan-Skizze.
**Vorarbeiten erledigt (2026-08-01 Nachmittag):**
1. ✅ **Label-Taxonomie** als git.lab-Gruppen-Labels (Gruppe axion1337.chat): die 9 Gitea-Labels 1:1 (area:\*, priority:\*) + neu `host:cfgmon/matrix/overmind/game/lab-netz` für die vereinte Roadmap-Sicht.
⚠️ **Plan-Korrektur:** GitLab **CE** hat keine Epics und keine Scoped Labels (Premium). Roadmap-Ebene daher über **Gruppen-Issue-Boards + Milestones + die Label-Taxonomie** — für den Zweck völlig ausreichend, nur damit es später keine Überraschung gibt.
2. ✅ **Migrations-Skript** gebaut und versioniert: `Backlogs/verfahren/issue-migration/migrate.py` — Dry-Run-Default, idempotent (Marker in der Beschreibung), Kommentare als Notes mit Original-Autor/-Zeit im Text, **Original-Zeitstempel bleiben erhalten** (Admin-`created_at`), geschlossene Issues werden geschlossen, PRs ausgefiltert.
3. ✅ **Testmigration thread-net-git → Projekt 18**: 1 Issue (geschlossen, 1 Kommentar) sauber drüben, `created_at` 2026-07-31 erhalten, Idempotenz-Wiederholungslauf überspringt korrekt.
**Nebenprodukt:** Neues Doku-Repo **`homelab/docs`** auf git.lab (Wissensspeicher, Abgrenzung zu Backlogs/verfahren dokumentiert) mit Netz-Topologie und der vollständigen MorninglightMountain-/WireGuard-Doku aus LABNET-01.
**Nächster Schritt nach Review durch sorb:** threadnet-call (2 Issues) und ThreadNet-Web (9) migrieren, gitops (47+) zuletzt; danach die Cutover-Nachschritte aus der Plan-Skizze.
Migriert nach git.lab: axion1337.chat/axion1337.chat-gitops#46 (nur im Lab bzw. via VPN erreichbar — das Lab ist seit 2026-08-01 die Quelle der Wahrheit, siehe gitops#48). Weiterarbeit dort; dieses Gitea-Issue bleibt als Verweis stehen.
**Migriert nach git.lab**: [axion1337.chat/axion1337.chat-gitops#46](https://git.lab/axion1337.chat/axion1337.chat-gitops/-/issues/46) (nur im Lab bzw. via VPN erreichbar — das Lab ist seit 2026-08-01 die Quelle der Wahrheit, siehe gitops#48). Weiterarbeit dort; dieses Gitea-Issue bleibt als Verweis stehen.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Auftrag sorb (2026-08-01, HOHE PRIORITÄT): Es wird zunehmend unübersichtlich — Issues liegen in vier Gitea-Repos, Host-Backlogs im Backlogs-Repo, Code seit der Migration auf git.lab. Ziel: eine zentrale Sicht in GitLab.
Umfang
axion1337.chat), die Issues + Host-Backlogs sinnvoll zusammenführt — GitLab-Bordmittel: Gruppen-Epics/Roadmap-Ansicht, Milestones, Labels-Taxonomie (prio/, area/, host/*), Gruppen-Boards.Plan-Skizze (zur Abstimmung vor Umsetzung)
[Gitea #N]-Präfix im Titel oder Migrations-Fußzeile pro Issue für die Nummern-Zuordnung (Commit-Messages referenzieren alte Nummern!).Backlogs-Repo-Einträge (CFGMON-xx, MATRIX-xx, …) als GitLab-Issues in einem neuen Projektinfrastruktur(oder Labelshost::cfgmonetc.) — die Markdown-Historie bleibt als Archiv erhalten.rohana…/issues-Links in Doku, meine Sessions-Werkzeuge (claude-issues-Token → GitLab-Token). ⚠️ Erreichbarkeits-Trade-off bewusst machen: git.lab ist nur im Lab auflösbar — Issues wären unterwegs nicht mehr erreichbar. Optionen: (a) akzeptieren, (b) GitLab extern erreichbar machen (eigenes Projekt!), (c) Hybrid vermeiden — genau der räumt ja nicht auf. Entscheidung sorb nötig, bevor migriert wird.Verwandt: Backlogs CFGMON-12 (wird hiervon abgelöst/erweitert).
Erreichbarkeits-Entscheidung (2026-08-01, sorb): WireGuard ins Lab — kein öffentlich exponiertes GitLab, kein Lab-only-Kompromiss.
Aber: Der Weg ist aktuell blockiert — sorb hatte genau so einen VPN-Zugang fürs Handy, der seit einigen Monaten nicht mehr sauber funktioniert. Setup: UDM Pro hinter einer Fritzbox, kein Doppel-NAT, statische Route in der Fritzbox für das VLAN. Die Diagnose/Reparatur ist als eigenes Backlog-Item erfasst: LABNET-01 (
shared/lab-netzwerk.mdim Backlogs-Repo).Sequenzierung dadurch:
Blocker aufgelöst (2026-08-01 ~15:20): LABNET-01 ist GELÖST —
git.lablädt vom Handy über 5G/WireGuard. Die Erreichbarkeits-Voraussetzung für die Migration ist damit real bewiesen, nicht nur geplant.Ursachenkette (Kurzfassung, Details in
Backlogs/shared/lab-netzwerk.md): privater Endpunkt in UDM-generierten Configs → FritzOS-Portreservierung auf 51820 → Docker-Bridge-Kollision auf Overmind mit dem VPN-Subnetz. Fixes: Alternate-Address-Option, Port 51840, VPN-Subnetz 10.58.74.0/24.#48 kann damit in die Umsetzung (Reihenfolge wie skizziert: Label-/Epic-Taxonomie → Migrations-Skript → Testlauf thread-net-git → Review → Rest).
Vorarbeiten erledigt (2026-08-01 Nachmittag):
host:cfgmon/matrix/overmind/game/lab-netzfür die vereinte Roadmap-Sicht.⚠️ Plan-Korrektur: GitLab CE hat keine Epics und keine Scoped Labels (Premium). Roadmap-Ebene daher über Gruppen-Issue-Boards + Milestones + die Label-Taxonomie — für den Zweck völlig ausreichend, nur damit es später keine Überraschung gibt.
Backlogs/verfahren/issue-migration/migrate.py— Dry-Run-Default, idempotent (Marker in der Beschreibung), Kommentare als Notes mit Original-Autor/-Zeit im Text, Original-Zeitstempel bleiben erhalten (Admin-created_at), geschlossene Issues werden geschlossen, PRs ausgefiltert.created_at2026-07-31 erhalten, Idempotenz-Wiederholungslauf überspringt korrekt.Nebenprodukt: Neues Doku-Repo
homelab/docsauf git.lab (Wissensspeicher, Abgrenzung zu Backlogs/verfahren dokumentiert) mit Netz-Topologie und der vollständigen MorninglightMountain-/WireGuard-Doku aus LABNET-01.Nächster Schritt nach Review durch sorb: threadnet-call (2 Issues) und ThreadNet-Web (9) migrieren, gitops (47+) zuletzt; danach die Cutover-Nachschritte aus der Plan-Skizze.
Migriert nach git.lab: axion1337.chat/axion1337.chat-gitops#46 (nur im Lab bzw. via VPN erreichbar — das Lab ist seit 2026-08-01 die Quelle der Wahrheit, siehe gitops#48). Weiterarbeit dort; dieses Gitea-Issue bleibt als Verweis stehen.