Files
felhom.eu/documentation
admin 22cd7c51c9
gates / gates (push) Successful in 6m40s
R-1081: the registry's 0.315.0 no longer holds the 0.315.0 release (caused while proving R-1080)
The guard that makes a version number unrepeatable went into controller/build.sh in the repo. The
documented release command runs $FELHOM_ROOT/build/felhom-controller/build.sh — a SEPARATE COPY
taken 2026-07-18, with no guard. So the first thing I did with the new refusal, running it against
a real existing tag to prove it fires, rebuilt and re-pushed 0.315.0 a fourth time, now carrying
v0.316.0's code (8887343011d6 -> b809201841f7).

The root cause is the copy, and it is fixed: the build directory's build.sh is a symlink to the
repo's, the stale copy is kept beside it as build.sh.stale-copy-2026-07-18, and the refusal was
then proven to fire from the documented path. Every build this session printed porcelain=0 first,
so nothing else was built from a tree that was not clean.

No box is affected — nothing runs 0.315.0, the floor is 0.314.0, the button offers the highest tag,
and demo-hp 9201 is on 0.316.2. What remains is a tag whose content no longer matches its name, and
the row says plainly that pushing the old content back would be a fifth push of one number.

R-1080's evidence line is corrected in the same commit: it cited "the registry's current digest",
which my own re-push made stale an hour later.

Apps & catalog header corrected 15 -> 16; its own sub-counts already added to 16.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0117kRTSgs3rJWUFGxyoWN6Y
2026-10-15 20:55:01 +02:00
..

Felhom — Documentation

Felhom is a managed home-server service for Hungarian households, built on a three-component model over Proxmox:

  • Hub — operator backend on k3s (hub.felhom.eu). Repo: felhom.eu/hub/.
  • Host agent — one per Proxmox host; operator-tier; owns all Proxmox interaction. Repo: felhom-agent/.
  • In-guest controller — one per customer LXC; Docker-only; manages the customer's apps. Repo: felhom-controller/.

This directory is the central, code-verified documentation home for all three components plus the platform and the security-audit record.

Sections

Controller (in-guest) — controller/

The Docker-only app-domain controller. Full per-area docs grounded in current source (v0.59.0). → controller/README.md: module map, deploy & stack lifecycle, backup architecture, storage/monitoring/metrics, auth/hub/sync/integrations.

Where we stand — architecture/where-felhom-stands.*

The operator's one-page picture of what is proven, built, partial and missing.

The whole system on one page — architecture/felhom-system-poster.*

A poster for the operator: every machine, path, backup tier, time and key on a single sheet.

  • architecture/felhom-system-poster.html — the drawing. Made in Claude Design, NOT generated by anything in this repo, so do not expect a renderer; it is self-contained (fonts and scripts are inlined — it opens with no network)
  • architecture/felhom-system-poster.facts.md — the source of every fact on it. Change the facts here first. Rule: .claude/rules/unprompted-work.md §6. Gate: scripts/poster_facts_gate.py WARNS (never fails) when this file has a newer commit than the drawing

Host agent & platform — architecture/, proxmox-platform.md

The operator-tier agent and the Proxmox platform.

Hub (operator backend) — architecture/05

Apps — architecture/15

Security audits & remediation — audits/

Spike & test findings — tests/

Per-slice spike/validation findings (phases 0–5, slices 7–10). See tests/.

Conventions

  • Code-verified, not memory-derived. Architectural claims here are checked against the actual current source; if a claim can't be verified it is omitted and flagged, not guessed.
  • Per-repo operational working files (CLAUDE.md, CONTEXT.md, CHANGELOG.md, BUGHUNT.md, REPORT.md, TASK.md) live in their own repos — they are operational, not published docs.
  • Authoritative versions at last refresh: controller v0.59.0, agent v0.29.1, hub v0.11.0.