[HIGH] Issue-Migration nach GitLab + zentrale Projekt-Roadmap (Harmonisierung) #48

Closed
opened 2026-08-01 09:22:20 +00:00 by sorb · 4 comments
Owner

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).

**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).
Author
Owner

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
**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
Author
Owner

Blocker aufgelöst (2026-08-01 ~15:20): LABNET-01 ist GELÖSTgit.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).
Author
Owner

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.

**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.
Author
Owner

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.
sorb closed this issue 2026-08-01 14:26:14 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sorb/axion1337.chat-gitops#48