From b0e6d72bf8168c809edefe42708f29fc3bd5bde3 Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Wed, 1 Jul 2026 11:49:34 +0200 Subject: [PATCH] docs: REPORT for host-install v1.5.0 (felhom pool default + --adopt-pool) Co-Authored-By: Claude Opus 4.8 (1M context) --- REPORT.md | 115 +++++++++++++++++++++++++++--------------------------- 1 file changed, 57 insertions(+), 58 deletions(-) diff --git a/REPORT.md b/REPORT.md index 481e99f..4ec5e7b 100644 --- a/REPORT.md +++ b/REPORT.md @@ -4,80 +4,79 @@ --- -# REPORT — Day-0 artifact manifest: version dropdowns + auto-derived sha (hub v0.29.0) +# REPORT — `felhom` pool as a Day-0 default (+ `--adopt-pool` retrofit + uninstall teardown) (host-install v1.5.0) -**Date:** 2026-07-01 · **Repo:** `felhom.eu` (`hub/` + `manifests/`) +**Date:** 2026-07-01 · **Repo:** `felhom.eu` (`scripts/` only) -Removes the hand-copied sha256 from the Day-0 artifact manifest UI. The operator now **picks a version** -from a dropdown of what's actually in Gitea, and the hub **reads that version's sha256 from Gitea itself** -— no transcription, no stale checksums — while keeping the deliberate human "which version is approved" -gate (never auto-promotes "latest") and the hub as the checksum trust root. +Colleague-safety batch **#4 phase a**. Every Felhom-managed guest now joins a dedicated **`felhom` +pool** (fleet uniformity + the environment 3b will spike the pool-scoped ACL against). Script-only, all +pool ops run as `root@pam` from the installer → **NO agent/token/ACL change, zero permission risk** +(`PVE_PRIVS` untouched; the `FelhomAgent` token stays scoped at `/`). -## 1. Baseline → target +## 1. Confirmed baseline -hub `v0.28.0` @ `ce26c9d` → **`v0.29.0`**. (Follow-up to the colleague-safety batch; motivated by the -manual manifest-bump toil flagged in the prior task.) +| Repo | `main` @ commit | Current | → Target | +|------|-----------------|---------|----------| +| felhom.eu (`scripts/felhom-host-install.sh`) | `6148e61` | script **v1.4.0** | **v1.5.0** | -## 2. Feasibility verified against live Gitea (before coding) +PVE 9 `pveum pool` syntax + `/pools` JSON shape confirmed live before wiring: `pveum pool add +[--comment]` / `pool delete ` / `pool modify --vms ` (additive); `pvesh get /pools` → +`[{poolid,comment}]`, `pvesh get /pools/` → `{poolid,comment,members:[{vmid,type,status,…}]}`. -- **List versions:** `GET /api/v1/packages/admin?type=generic&q=` returns name+version — reflects - what's actually present (pruned olders gone). Live: felhom-agent `[0.52.0, 0.43.0]`, felhom-golden `[0.85.1]`. -- **sha without downloading:** `GET /api/v1/packages/admin/generic///files` returns `sha256` - in metadata (agent `5bfc690c…`, golden file `golden.tar.zst` `f87031cc…`) — so the ~GB golden is - never fetched just to hash it. +## 2. Files changed + commit -## 3. Files changed + commits (on `main`) +- `scripts/felhom-host-install.sh` (v1.4.0 → **v1.5.0**) — the only code file. +- `scripts/CHANGELOG.md` — v1.5.0 entry. +- `REPORT.md` — this file (overwritten). +- Commit **`482dbec`** on `main` (parent `6148e61`). -- `hub/internal/gitea/gitea.go` (new) — read-only Gitea packages client: `ListVersions` (semver-desc), - `FileSHA256` (metadata, no download). `hub/internal/gitea/gitea_test.go` — httptest unit tests. -- `hub/internal/web/server.go` — `gitea` field + `SetGiteaClient`; `artifactChoices` helper; pkg/file - consts; `handleConfiguration` passes `AgentChoices`/`GoldenChoices`. -- `hub/internal/web/configs.go` — `handleSetArtifacts` reworked to derive the sha from Gitea - authoritatively (`resolveArtifactSHA`); refuses the save on a lookup failure. -- `hub/internal/web/templates/configuration.html` — version `