From bc00b25654fd3ca5d745af5afe4540fef83b029b Mon Sep 17 00:00:00 2001 From: "l.kirchner" Date: Fri, 12 Jun 2026 14:59:19 +0200 Subject: [PATCH] =?UTF-8?q?Wiki:=20Home=20angelegt=20=E2=80=94=20Katalog?= =?UTF-8?q?=20mit=20Betriebs-Verweisen,=20Konventionen,=20Lessons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Home.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Home.md diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..83a86ef --- /dev/null +++ b/Home.md @@ -0,0 +1,38 @@ +# proxmox-scripts — Wiki + +Lebende Doku zum Skript-Repo. Verbindlich sind README + Code; hier stehen Betriebs-Hinweise, Konventionen und Lessons. + +## Skript-Katalog & Betriebs-Hinweise + +| App | LXC im Einsatz | Betriebs-Doku | +|---|---|---| +| devpi | devpi | `/root`-Notizen im LXC | +| webapp | (Pattern-Vorlage) | README im Repo | +| **nexus** | `nexus` (10.11.20.66) | [nexus-Wiki → Betrieb-und-Deploy](https://gitea.luki-net.org/l.kirchner/nexus-hub/wiki/Betrieb-und-Deploy) — Runner, Deploy, Logs, Healthz | +| **nexus-db** | `nexus-db` (10.11.20.67) | DSN/Smokes: nexus-Wiki, Konfigwerte-Tabelle; Credentials: `/root/nexus-db.credentials` | +| **authentik** | `authentik` (10.11.20.22, `auth.luki-net.org`) | Runbook + Blueprints: nexus-Wiki bzw. `nexus-hub/infra/authentik/`; Bootstrap-Token nach Einrichtung rotieren | +| runner | — (PR #6 in Review) | wird nach Anlage hier ergänzt (instanzweit, Label `homelab`) | + +## Konventionen (Kurzfassung — Details im README) + +- Zwei Dateien pro App (`ct/` + `install/`), beide sourcen die Shared-Libs per curl — **jedes ct-Script MUSS `build.func` sourcen** (CI-Check ab PR #5). +- Unprivilegierte LXCs, dedizierte App-User, Secrets nur in `0600`-Dateien auf dem Ziel-Host. +- sudoers-Regeln matchen **wortwörtlich inkl. Argumenten** — nur exakte Befehle mit sudo aufrufen. +- Runner-Trennung: repo-scoped mit Deploy-Rechten auf dem Produktions-LXC (`nexus`) vs. instanzweit ohne Privilegien (`homelab`). Nie vermischen. +- **Beiträge nur als PR mit Cross-Review** — keine Direkt-Pushes auf main. + +## Lessons Learned + +| Datum | Lesson | +|---|---| +| 2026-06-11 | `source build.func` vergessen → Script bricht mit „command not found". Zweimal passiert (nexus-db: im Review gefangen; authentik: in Produktion, weil Direkt-Commit ohne Review). → PR-Pflicht + CI-Source-Check (PR #5). | +| 2026-06-11 | Eingaben mit unsichtbaren Nicht-UTF-8-Bytes (VLAN `2�0`) brechen `pct create`. → Input-Validierung in build.func: sichtbar ablehnen statt still strippen (PR #5). | +| 2026-06-11 | Config-Syntax muss zur **gepinnten** Image-Version passen: vLLM v0.13 verlangt `--limit-mm-per-prompt` als JSON — Pinning allein schützt nicht. Smoke-Tests als Akzeptanzkriterium fangen das. | +| 2026-06-12 | Gruppenmitgliedschaften (z. B. docker) werden beim Prozessstart eingefroren — User **vor** dem Daemon-Start in Gruppen aufnehmen (in `runner`-Installer verbaut). | +| 2026-06-12 | Repo-scoped Runner bedienen keine anderen Repos — Runs hängen still in `queued`. Scope bei der Registrierung bewusst wählen; instanzweit = Site-Admin-Token. | + +## Offene Punkte + +- PR #5 (K-114): Input-Validierung, Mini-CI, SSH-Root-Login-Prompt, locale-Fix — CI wartet auf den `homelab`-Runner. +- PR #6: `ct/runner.sh` — Codex-Review ausstehend. +- Nach Runner-Anlage: Katalog-Zeile `runner` hier vervollständigen.