admin
ce1e9c64e0
manifests: hub image -> 0.66.0 (customer self-bind, R-27 slice 1)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_017qDiBqKKQ5vPB5fXBqu7Kp
2026-07-17 23:58:32 +02:00
admin
ab91e49107
manifests: hub 0.64.0 -> 0.65.0 (PBS DR visibility + offsite tabs + dual gauges, R-5)
2026-07-17 21:16:04 +02:00
admin
66da0c44d5
manifests: hub 0.63.0 -> 0.64.0 (offsite pool-box aggregate, R-5)
2026-07-17 20:17:11 +02:00
admin
587fcc27ca
manifests: hub 0.62.0 -> 0.63.0 (system-initiated immediacy: poke + intent bump at every mutation site)
2026-07-17 17:36:14 +02:00
admin
9964ae6fd4
manifests: hub 0.61.0 -> 0.62.0 (R-21 slice C appliance registration)
2026-07-17 15:08:50 +02:00
admin
e144c5e491
manifests: hub 0.60.1 -> 0.61.0 (Customer RESET)
2026-07-17 13:10:45 +02:00
admin
6b1fbca51d
hub: bump manifest image tag to 0.60.1 (host-delete escrow demotion)
2026-07-17 11:26:47 +02:00
admin
f7e3d50d5a
hub: bump manifest image tag to 0.60.0 (Part B escrow retention)
2026-07-17 10:50:21 +02:00
admin
319ba10d9f
hub: bump manifest image tag to 0.59.0 (Direction-2a poke sender)
2026-07-16 22:51:23 +02:00
admin
eb227486d0
hub v0.59.0: Direction-2a agent-plane immediate-sync poke sender + ep0 felhom-poke surface
...
- internal/poke: pinned-host-key SSH poke sender (wgsync sibling) + fire-and-forget Notifier (PokeHost/PokeAllHosts). Poke refuses non-WG targets pre-dial; contentless via ep0 forced command to the box WG /32:51822.
- wiring: Server.SetPoke; applyPBSDR pokes the host after each descriptor gen-bump; handleSetArtifacts (MinAgent floor) pokes all hosts. main.go env POKE_SSH_KEY_FILE (reuses peersync endpoint/hostkey).
- scripts/felhom-poke.sh (non-root forced command) + offsite-endpoint.md §11; manifests/hub.yaml Secret/agent-poke + POKE_SSH_KEY_FILE (image tag bump follows the build).
2026-07-16 22:48:15 +02:00
admin
59eb1f836e
deploy(hub): manifest → felhom-hub:0.58.0 (Direction-2 wait channel)
2026-07-16 20:46:41 +02:00
admin
dd563a0273
deploy(hub): bump manifest to felhom-hub:0.57.0 (reinstall arc)
2026-07-16 18:02:14 +02:00
admin
de5d8ef9b1
widen the reconciler fleet-wide (remove PBSDRHEAL_ONLY_HOST from the manifest)
2026-07-15 19:17:27 +02:00
admin
dc7bcedb42
manifests: hub 0.56.0 + PBSDRHEAL_ONLY_HOST=demo-vm-felhom-2f4b00 (supervised rollout)
...
Deploy the PBS-DR self-heal reconciler scoped to the drill guest only for the
first supervised run; widen to the fleet (remove the env) in a follow-up sync
once the converged-host no-op is confirmed live.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01HEPuEwyyGDJdcsXLFsTWJn
2026-07-15 18:29:22 +02:00
admin
08fef4872b
hub v0.55.0: accept offbox_enlarge_blocked event (Task 3a-fix delivery chain)
...
allowedEventTypes gains offbox_enlarge_blocked (was 400 at ingestion, dropping the customer email).
Deliberate NON-change: no customerMessages entry — the static map would discard the controller's
dynamic two-number Hungarian message (templates.go:129 fallback is correct). event_test acceptance +
400 red-proof; templates_offbox_test locks the raw-message fallback. manifest bumped to :0.55.0.
2026-07-15 07:50:29 +02:00
admin
962273ba8e
@
...
hub: bump manifest image tag to 0.54.0 (change-password from Configuration UI)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01LbMm4T7Ayzs1unB9pN6Uqd
@
2026-07-13 22:48:34 +02:00
admin
3616dcbb7c
manifest: hub 0.53.0 (closing bundle GitOps bump; rides with the report-api secretKeyRef - Secret created out-of-band 2026-07-13 before this sync)
2026-07-13 15:05:06 +02:00
admin
80aca3a3a1
hub + manifests: operator bearer out of git (secretKeyRef report-api)
...
The global bearer (api.report_api_key) leaves manifests/hub.yaml: the
ConfigMap field is an empty placeholder; the Deployment injects
REPORT_API_KEY from out-of-band Secret/report-api (deliberately NOT
optional - a missing Secret fails Ready rather than booting a hub with an
empty bearer). main.go gains the REPORT_API_KEY env override (the
RESEND_API_KEY twin). scripts/manifest_secret_gate.py blocks bearer-shaped
(64-hex) literals across manifests/ (felhom.secret.yaml's pre-existing
umami APP_SECRET is a visible non-fatal KNOWN-BACKLOG line - secrets.md
backlog, out of scope here).
Ordering (load-bearing): create Secret/report-api with the CURRENT value
BEFORE syncing; this manifest change rides the same sync as the 0.53.0
image (older images ignore the env override). The exposed git-history copy
dies only with the supervised ROTATION - procedure + consumer list in
documentation/runbooks/secrets.md ("Operator/global bearer key"); both
publish runbooks' ROTATION notes now point at that disposition. The
controller repo's example-config copy of the literal is scrubbed
(felhom-controller 51c871a).
Red-proof E: reintroducing a 64-hex literal into manifests/hub.yaml ->
gate exit 1 (recorded); restored clean.
2026-07-13 14:57:09 +02:00
admin
0e05c6966d
manifest: hub 0.52.0 (polish batch GitOps bump)
...
Claude-Session: https://claude.ai/code/session_01GzammAMzsJTgpQHqxwM2bC
2026-07-13 08:30:34 +02:00
admin
ccf89c0a67
manifest: hub 0.51.0 (DR-tier-by-default GitOps bump)
...
Claude-Session: https://claude.ai/code/session_01NptTCFtu7dz2Ru89qHRagN
2026-07-12 20:48:20 +02:00
admin
9a14f04819
manifest: hub 0.50.0 (customer-claim arc GitOps bump)
...
Claude-Session: https://claude.ai/code/session_01NptTCFtu7dz2Ru89qHRagN
2026-07-12 18:47:03 +02:00
admin
b1ab0ea0e5
docs+manifest: hub v0.49.0 — Edit tab merge train (CHANGELOG, REUSE rows, CONTEXT, GitOps bump)
...
Version note: the task spec targeted 0.48.0 but that tag had already shipped
(app_start_failed); published tags are never re-pointed → this train is 0.49.0.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01TZc5w5jDhFLv6qDC32KN5v
2026-07-12 17:39:09 +02:00
admin
0eb9dc2e9b
manifests: raise global controller floor 0.113.0 → 0.120.0 (publish train)
...
Env fallback DEFAULT_MIN_CONTROLLER_VERSION for the CAMPAIGN-3 wave. Day-0
artifact manifest already vouches agent 0.85.0 + golden 0.120.0 (MinAgent
0.81.0). Demo already 0.120.0 (no churn); Peti offline + gated (agent 0.79 <
MinAgent 0.81 → controller held at 0.113 until his agent lands). DB global
floor to be aligned to 0.120.0 by the operator, saved last.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Vvz1NCu22p8dGkRCpeX9re
2026-07-12 11:12:42 +02:00
admin
9095981d0c
hub: bump manifest to v0.48.0 (app_start_failed event acceptance — controller fix-3)
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
https://claude.ai/code/session_017CDMFpFx84pfviCTVuGGhf
2026-07-12 10:13:14 +02:00
admin
95d71fef2e
hub v0.47.0: CHANGELOG + README tab/host-lifecycle/offsite docs + REUSE map + manifest bump to 0.47.0
...
CONTEXT.md: v0.47.0 arc entry (resolves the 146d165 swept-WIP flag) + the
multi-endpoint-allocation deferral + pre-GitOps stale-template note.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Vvz1NCu22p8dGkRCpeX9re
2026-07-11 21:39:44 +02:00
admin
7c038df63c
hub 0.46.0 manifest bump + logging-conventions runbook + CLAUDE logging rule
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-11 17:02:54 +02:00
admin
37222d3e1d
manifest: hub image 0.44.0 -> 0.45.0 (floor-UI + MinAgent conditional floor)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-11 15:35:59 +02:00
admin
16390d02be
floor: DEFAULT_MIN_CONTROLLER_VERSION 0.87.0 -> 0.113.0 (publish train 0.81/0.113; manifest vouches both — order rule honored)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-11 12:53:57 +02:00
admin
32ca1f60a7
tenantsync v1.0.0 live fix (client json is {data:[...]}-wrapped) + hub image bump 0.44.0
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-10 20:59:55 +02:00
admin
ce6a56691e
hub v0.44.0: PBS DR tier SLICE 1 — felhom-tenantsync surface (script+client) + hub provisioning flow (consume-once host secret, pbs_dr desired-state descriptor, fail-closed + idempotent, re-issue)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-10 20:49:48 +02:00
admin
8a3afa75b3
deploy: hub 0.43.1 (Git Sync optional hint)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-10 17:57:13 +02:00
admin
efdf683ac7
deploy: hub 0.43.0 (remote app-log diagnostics)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-10 16:08:10 +02:00
admin
0f28add0bf
deploy: hub 0.42.0 (remote debug-mode toggle)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-10 15:16:34 +02:00
admin
04826c922e
manifests/hub: 0.40.0 -> 0.41.0 (SLICE 4 OffsiteChecker + freeze lever)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-10 00:00:49 +02:00
admin
c24d4afeee
manifests/hub: 0.39.0 -> 0.40.0 (SLICE 3 escrow status in ACK)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-09 23:21:37 +02:00
admin
17d9af5c13
manifests/hub: 0.38.1 -> 0.39.0 (offsite hardening F4/F2/F5)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-09 22:40:41 +02:00
admin
6d5b3c1c38
manifests/hub: 0.38.0 -> 0.38.1 (offsite provisioning detached from client ctx)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-09 21:02:44 +02:00
admin
0a65f2be5f
manifests/hub: wire HETZNER_TOKEN + HETZNER_POOL_BOX_ID from Secret/storagebox (offsite provisioning)
...
Runbook Phase 0b. Values come from the out-of-band felhom-system/storagebox
secret; optional:true so the pod starts without it (hub degrades to offsite
disabled). HETZNER_LOCATION explicit fsn1. NOT synced yet — gated on the
secret holding the DEDICATED-project scoped token (the current one fails the
scope check: it sees the old project's ep0 box, not the new pool box).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-09 20:39:55 +02:00
admin
6e86eb6d51
added secret
2026-07-09 20:36:22 +02:00
admin
b0bf500967
deploy(hub): bump hub image to 0.38.0 (offsite SLICE 2 host-key fingerprint)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-09 19:16:12 +02:00
admin
cff3a30996
deploy(hub): bump hub image to 0.37.0 (offsite provisioning SLICE 1)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-09 18:40:21 +02:00
admin
02c748eb2a
deploy: hub 0.36.0 (GL-7 install-command generator + passphrase hardening)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-09 08:34:38 +02:00
admin
b70f2d0763
deploy(hub): v0.35.0 — OOB operator access (TASK H1)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-05 22:35:00 +02:00
admin
012e5f3ecc
fix(hub): mgmt_plane_healed alerts on the FIRST auto-heal (TASK G1) — v0.34.1
...
A heal marker is an event, not a baseline: construction seeds pre-existing markers
(startup false-alarm guard) but a newly-observed marker now raises the warning, so
the first auto-heal surfaces (matches the live drill). Added tests for both halves.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-05 19:12:50 +02:00
admin
1bd054602d
deploy(hub): bump to 0.34.0 (break-glass vault + mgmt_plane surfacing, TASK G1)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-05 19:09:38 +02:00
admin
99246c3c7d
manifests: hub 0.33.0 (S2)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-04 00:49:45 +02:00
admin
5e1933b166
manifests: hub 0.32.1 (wgsync HostKeyAlgorithms fix)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-03 23:52:37 +02:00
admin
6f5fb19a64
scripts+manifests: S1 felhom-peersync.sh v1.0.0 + hub wg-endpoint-ssh deploy surface
...
Peersync script: validate-first (jq contract check before ANY state change),
head-file + generated-peers conf model, syncconf-from-tmp then atomic mv (live
conf never diverges in the failure direction), zero-peer payload valid (wipe).
hub.yaml: 0.32.0 image + WG_ENDPOINT_SSH_* env + optional Secret mount so the
pod starts before the runbook's step-6 Secret exists.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-03 23:42:12 +02:00
admin
4a18306f30
manifests: hub image -> 0.31.0
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
2026-07-03 11:10:14 +02:00
admin
b56790269e
manifests: hub image 0.30.1
2026-07-02 22:53:47 +02:00