docs+tooling: Gitea-Token-Quelle auf ~/.secrets/credentials.env (Fallback .env)

gitea-tp-sync.py suchte den Token nur in ~/.hermes/.env; dort liegt er seit der
Secrets-Konsolidierung nicht mehr. Jetzt: ~/.secrets/credentials.env zuerst,
.env als Fallback, beide Wege in der Meldung.
This commit is contained in:
Christoph Emsenhuber
2026-10-28 21:30:11 +01:00
parent 6c2d9c0ea7
commit 7fd5ada352
2 changed files with 21 additions and 10 deletions

View File

@@ -18,7 +18,7 @@ DNS/DHCP-Ablösung, WLAN via **CAPsMAN auf dem Core** (TP28, 2026-08-17), Firewa
**Prosa/Detail = Repo** (`docs/teilprojekte.md` aktiv + `teilprojekte-archiv.md`, `### TPnn`-Abschnitte) ·
**Live-Gerätedaten = Nautobot** (Compliance-Zahl, RouterOS-Version …). Ein Status ändert sich **in Gitea**,
nicht mehr in einer Repo-Datei. Archiv-Backfill-Werkzeug `bin/gitea-tp-sync.py` (Dry-Run default,
Token aus `~/.hermes/.env`, **nie ausgeben**).
Token aus `~/.secrets/credentials.env` (Fallback `~/.hermes/.env`), **nie ausgeben**).
- 🔴 **Die TP-Header in beiden Dateien tragen KEINEN Status mehr** (seit 2026-10-03). Form:
`### TP25 · Gitea #17 — <Titel> — <Caveat>`. Der `· Gitea #N`-Zeiger ist die Brücke zum Issue.
Wer einen Status sucht, liest das **Label im Board** — nicht den Datei-Kopf. Der alte `▸ ✅ FERTIG …`-Anspruch

View File

@@ -18,7 +18,8 @@ Abgrenzung:
- Status/Thema/State bestehender Issues: aendert nur der Mensch im Board.
- Per-TP-Prosa: bleibt in docs/teilprojekte.md / teilprojekte-archiv.md.
Token: ~/.hermes/.env (GITEA_ACCESS_TOKEN, GITEA_HOST) — wird NIE ausgegeben.
Token: ~/.secrets/credentials.env (Fallback ~/.hermes/.env) — GITEA_ACCESS_TOKEN/GITEA_HOST,
wird NIE ausgegeben.
Aufruf:
python3 bin/gitea-tp-sync.py # Dry-Run (default) — zeigt, was fehlt
@@ -36,6 +37,7 @@ REPO = Path(__file__).resolve().parent.parent
ACTIVE = REPO / "docs" / "teilprojekte.md"
ARCHIV = REPO / "docs" / "teilprojekte-archiv.md"
HERMES = Path.home() / ".hermes" / ".env"
SECRETS = Path.home() / ".secrets" / "credentials.env"
OWNER_REPO = "admin/bf-infra"
COMMIT = "--commit" in sys.argv
@@ -65,17 +67,26 @@ THEME = {
def hermes_env():
"""Token/Host suchen: zuerst ~/.secrets/credentials.env, dann ~/.hermes/.env.
Seit 2026-10-28 liegt der Token im Secrets-Store; das alte .env ist Fallback.
"""
tok = host = None
for line in HERMES.read_text().splitlines():
m = re.match(r"\s*(GITEA_ACCESS_TOKEN|GITEA_HOST)\s*=\s*(.+?)\s*$", line)
for path in (SECRETS, HERMES):
if not path.exists():
continue
for line in path.read_text(errors="ignore").splitlines():
m = re.match(r"\s*(?:export\s+)?(GITEA_ACCESS_TOKEN|GITEA_HOST)\s*=\s*(.+?)\s*$", line)
if not m:
continue
if m.group(1) == "GITEA_ACCESS_TOKEN":
tok = m.group(2).strip().strip('"').strip("'")
else:
host = m.group(2).strip().strip('"').strip("'")
if tok:
break
if not tok:
sys.exit("GITEA_ACCESS_TOKEN nicht in %s gefunden." % HERMES)
sys.exit("GITEA_ACCESS_TOKEN weder in %s noch in %s gefunden." % (SECRETS, HERMES))
host = (host or "https://gitea.emsenhuber.net").rstrip("/")
if not host.startswith("http"):
host = "https://" + host