--- type: issue id: "0079" status: done created: 2026-08-01 milestone: M2 priority: high projekt: gitops gitlab_iid: "46" related: [] --- # Issue-Migration nach GitLab + zentrale Projekt-Roadmap (Harmonisierung) > Adoptiert aus [gitops#46](https://git.lab/axion1337.chat/axion1337.chat-gitops/-/issues/46) (2026-08-18, ADR-0019). Kommentare und Verlauf bleiben dort; kanonisch ist ab jetzt diese Datei. **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). --- *Migriert aus Gitea `sorb/axion1337.chat-gitops#48` — dort erstellt am 2026-08-01 von sorb.* ## Erledigt — Relevanz-Durchgang 2026-08-18 Beide Teile des Auftrags sind eingelöst, der zweite anders als hier skizziert. **Teil 1, Issue-Migration: durchgeführt.** Der Skript-Weg wurde gebaut (`verfahren/issue-migration/migrate.py`, Gitea-API lesen → GitLab-API schreiben, idempotent über einen Migrations-Marker) und ist gelaufen — die Migrations-Fußzeilen in den adoptierten Issues sind sein Ergebnis. Der hier vermutete Verlust der Autorenschaft trat wie erwartet ein und wurde akzeptiert. **Teil 2, zentrale Sicht: entschieden, aber gegen die Skizze.** Der Plan wollte die Zentrale *in GitLab* bauen (Epics, Gruppen-Boards). Entschieden wurde das Gegenteil: `docs/issues/` im Repo ist kanonisch, GitLab ist der generierte Spiegel ([ADR-0012](../adr/0012-issues-im-repo-gitlab-als-spiegel.md)), seit [ADR-0019](../adr/0019-komponenten-issues-adoptiert.md) für alle Tracker der Gruppe. Damit ist auch der hier als offen markierte **Erreichbarkeits-Trade-off beantwortet**, und zwar besser als mit den drei Optionen: die Issues liegen im Repo und sind über dessen Gitea-Spiegel von überall lesbar — es braucht weder Lab-Zugang noch ein extern erreichbares GitLab. Die genannten Folgeänderungen sind mitgezogen (Repo-Topologie-Doku, Token-Weg der Sessions). Was von der Host-Backlog-Zusammenführung übrig war, steckt in den Issues 0001–0034.