ISO 1.28.0 source: the console stops showing the pairing code once bound (R-535)
gates / gates (push) Successful in 20s
gates / gates (push) Successful in 20s
Measured 2026-09-16: 25 minutes after a successful bind AND claim the console still showed the pairing code under a line promising the screen refreshes itself. print_bound_banner is printed the moment the bind delivery lands. It does NOT name the dashboard URL: the one-shot delivery carries the customer id, passphrase and mode, not the domain, so naming an address would mean inventing one. The residue — the console still does not reflect the later CLAIM, because this unit has exited by then — is recorded in the changelog rather than implied away. Not published: the built image needs the release gate and the operator's yes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -1,3 +1,21 @@
|
||||
## ISO v1.28.0 — the console stops showing the pairing code once the box is connected (2026-09-16, R-535) — NOT PUBLISHED
|
||||
|
||||
**The defect, measured on a fresh box 2026-09-16:** 25 minutes after a successful bind AND claim, with
|
||||
four apps deploying, the physical console still read „a doboz készen áll, és a párosításra vár" with
|
||||
the pairing code `37S-NFE`, under the line „Ez a képernyő magától frissül — nincs teendő a doboznál".
|
||||
A volunteer watching the monitor has no way to tell the box is finished, and the screen promises that
|
||||
waiting will update it.
|
||||
|
||||
- **`felhom-bootstrap.sh`: `print_bound_banner`**, printed the moment the bind delivery lands (the
|
||||
`200` branch, before `run_direct`). It replaces the pairing screen with „a doboz össze van kötve",
|
||||
says the setup continues by itself, and says there is nothing left to do at the machine.
|
||||
- **What it deliberately does NOT say: the dashboard URL.** The one-shot delivery carries the customer
|
||||
id, the passphrase and the mode — not the domain — so naming an address would mean inventing one.
|
||||
The address is in the e-mail the customer already has. **The later CLAIM state is still not
|
||||
reflected on the console**: this unit has exited by then (it hands over to the host install), so a
|
||||
claim-aware console needs a different owner. R-535 is closed for the measured complaint — the code
|
||||
stays on screen after binding — and that residue is recorded rather than implied away.
|
||||
|
||||
## ISO v1.27.1 — the FIRST boot is Felhom's too (2026-09-14, R-496) — NOT PUBLISHED
|
||||
|
||||
**Why 1.27.0 was not enough, measured on its proof install (VM 331, screen s20):** `pvebanner.service` ran
|
||||
|
||||
@@ -48,7 +48,7 @@ set -euo pipefail
|
||||
# does not exist: the ISO is a frozen artifact, while felhom-host-install.sh is fetched at RUN TIME
|
||||
# from the website's git-sync of `main` (R-94/R-110), so whatever version an ISO carries, the script a
|
||||
# box runs is always current. Coupling them would invent a constraint. The claim is corrected instead.
|
||||
ISO_VERSION="1.27.1" # the ISO's own version. INDEPENDENT of felhom-host-install.sh's SCRIPT_VERSION,
|
||||
ISO_VERSION="1.28.0" # the ISO's own version. INDEPENDENT of felhom-host-install.sh's SCRIPT_VERSION,
|
||||
# which is fetched at run time from main and is not frozen into the image.
|
||||
IMAGE="${FELHOM_ISO_ASSISTANT_IMAGE:-felhom-iso-assistant:trixie}"
|
||||
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
@@ -77,6 +77,27 @@ print_pairing_banner() {
|
||||
} > "$CONSOLE_DEV" 2>/dev/null || printf 'Párosító kód: %s\n' "$code"
|
||||
}
|
||||
|
||||
# print_bound_banner (R-535, v1.28.0) — the pairing banner is the LAST thing the console shows, and it
|
||||
# stays there. Measured 2026-09-16 on a fresh box: 25 minutes after a successful bind AND claim, with
|
||||
# four apps deploying, the monitor still read „a doboz keszen all, es a parosisara var" with a pairing
|
||||
# code, under a line promising the screen refreshes itself. A volunteer watching that has no way to
|
||||
# tell the box is finished, and waiting does not help.
|
||||
#
|
||||
# WHAT THIS CAN AND CANNOT SAY. The bind delivery carries the customer id, the passphrase and the mode
|
||||
# — it does NOT carry the domain (see the emit() block in the 200 branch), so this banner cannot name
|
||||
# the dashboard URL without inventing one. It says the true thing it knows: the box is connected and
|
||||
# the setup is running. The address is in the e-mail the customer already has.
|
||||
print_bound_banner() {
|
||||
set_console_font
|
||||
{ printf '\n================================================\n'
|
||||
printf ' Felhom — a doboz össze van kötve. ✔\n\n'
|
||||
printf ' A beállítás magától folytatódik, ez néhány percig tart.\n'
|
||||
printf ' A vezérlőpult címét az e-mailben kapott levél tartalmazza.\n\n'
|
||||
printf ' Ezen a gépen nincs több teendőd.\n'
|
||||
printf '================================================\n\n'
|
||||
} > "$CONSOLE_DEV" 2>/dev/null || printf 'A doboz össze van kötve.\n'
|
||||
}
|
||||
|
||||
# install_felhom_issue (R-496, v1.27.0) — the text above the console login prompt is Felhom's, not
|
||||
# Proxmox's. Measured 2026-09-14 (drill screen s29): the first thing a household read on a fresh box was
|
||||
# `Welcome to the Proxmox Virtual Environment … connect to https://<ip>:8006/` — the operator admin UI,
|
||||
@@ -501,6 +522,7 @@ run_pairing() {
|
||||
case "$code" in
|
||||
200)
|
||||
log "bind DELIVERED — writing credentials to the env and switching to direct install"
|
||||
print_bound_banner # R-535: replace the pairing code on the console with the truth
|
||||
# Parse the one-shot delivery into shell-safe env assignments (never echo the passphrase).
|
||||
local envtext
|
||||
envtext=$(printf '%s' "$body" | python3 -c '
|
||||
|
||||
Reference in New Issue
Block a user