Release 2026-11-03: controller 0.350.0 evidence (load test, walks, restore, floor); golden 0.350.0 baked (sha 082e2e040de5); hub v0.179.0 heading
gates / gates (push) Successful in 2m4s
Traefik's memory on 9202: v3.7.16 18.7 -> 79.0 MiB after 920 connections, not released; v3.7.17 flat near 25 MiB for 25,116 connections. Golden 0.350.0 waits for its fresh-install proof and the operator's vouch. Not 0.349.0.
No files matched your search
@@ -0,0 +1,38 @@
|
||||
# Part 1 — controller 0.350.0, 2026-11-03
|
||||
|
||||
**Image:** 0.350.0 from `5c336d82` (CI 2568 green), `sha256:9ee53908e6d95f0340c41bf4eaba954280084a8e6927de59779440e3551df261`. rc.1 from `13e34d4` (CI 2562
|
||||
green), `sha256:cbf4d42fd4c86a30854a2f4202b06b6b97073380e0de0bd2fffed524021fd8d4`.
|
||||
|
||||
## The fix itself (9202 only, from the LAN: the demo-hp host; `traefik_load.py`, `load-before.txt`, `load-after.txt`)
|
||||
|
||||
Four processes open short TLS connections (84 a second), each one request to the dashboard route with `Authorization: NTLM …`; the controller answers 302
|
||||
(so the request reached a backend). Memory: `anon` of Traefik's cgroup, every 10 s. The load stops at twice the start figure or at 300 s.
|
||||
|
||||
| | v3.7.16 (`traefik:v3.7.16`) | v3.7.17 (`traefik:v3.7.17`) |
|
||||
|---|---|---|
|
||||
| anon at start | 18.7 MiB | 16.2 MiB |
|
||||
| after about 920 connections | **79.0 MiB** (stopped: over twice the start) | 25.3 MiB |
|
||||
| after 25,116 connections, 300 s | not run: the bound stopped it at 11 s | **25.4 MiB, flat** (24.9–26.3 all the way) |
|
||||
| 30 s after the load stopped | 80.0 MiB, not released | 25.4 MiB |
|
||||
|
||||
So the fix is proven by behaviour, not only by the version: about 65 KiB per connection on the old one, and nothing per connection on the new one. Limit of the
|
||||
proof: the old curve has one point, because the bound stopped it, and it ran on a Traefik seven hours up, the new one on a Traefik seconds old.
|
||||
|
||||
## The boxes (`walk-9202-rc1.txt`, `walk-3boxes.txt`, `public-names.txt`, `https-only.txt`, `files-signin-*.txt`, `rollout-wait.txt`)
|
||||
|
||||
Per-box floors 07:04:24 UTC; all three on 0.350.0 with Traefik v3.7.17 by 07:05:06. Traefik's image id `sha256:a72cb2f4…` on all four boxes. Walk green on 9202 (rc.1), Tester 1, demo-hp, demo-felhom: 0 unhealthy, 0 refusals, 0 ERROR lines,
|
||||
login and file manager 200, every app route answers through Traefik; 26 public names from outside: all 200/302/401; `https_only_check.py` green.
|
||||
|
||||
**File manager sign-in** (dashboard → one-time pass → files cookie → a listing through Traefik 200; without the cookie 401): 9202, Tester 1, demo-hp. **Not driven on demo-felhom:** it is the lived-in box and the brief allows no hand step on
|
||||
it; its anonymous file manager page reads 200.
|
||||
|
||||
**R-1351 and R-1323 did not fire on these starts** (0 ERROR lines): as last night, no live difference between old and new for them; test proof only.
|
||||
|
||||
## One local restore on Tester 1, release build (`restore-tester1.txt`, `restore_tester1.py`)
|
||||
|
||||
The household's button, `privatebin`, last night's copy: a marker written after the copy is gone, the 5 files read the same (hash `857384e0f0cd2b8f`), front door 200, state running, no hold, 62.8 s, 0 ERROR lines.
|
||||
A plain restore: it exercises the restore path on the release build, not R-1347's or R-1348's staged faults (those were proven last night on the test image of the same code).
|
||||
|
||||
## The floor (`global-floor.txt`, `global-floor-readback.txt`, `floors-cleared.txt`, `watch-30min.txt`)
|
||||
|
||||
Global floor 0.350.0 / MinAgent 0.158.1 at 07:18:16 UTC, its own save, 303 `floor_set`; the hub log and the configuration page agree. Per-box floors cleared 07:18:18.
|
||||
@@ -0,0 +1,150 @@
|
||||
|
||||
[0;32m[INFO][0m ╔══════════════════════════════════════╗
|
||||
[0;32m[INFO][0m ║ felhom-controller image builder ║
|
||||
[0;32m[INFO][0m ╚══════════════════════════════════════╝
|
||||
[0;32m[INFO][0m Version: 0.350.0
|
||||
[0;32m[INFO][0m Commit: 5c336d8
|
||||
[0;32m[INFO][0m Repo: /mnt/5_hdd/felhom.eu/git/felhom-controller
|
||||
[0;32m[INFO][0m Source: /mnt/5_hdd/felhom.eu/git/felhom-controller/controller
|
||||
[0;32m[INFO][0m Build dir: /mnt/5_hdd/felhom.eu/build/felhom-controller/workspace
|
||||
[0;32m[INFO][0m Image: gitea.dooplex.hu/admin/felhom-controller:0.350.0
|
||||
|
||||
[0;36m[STEP][0m 0/4 — Checking the registry: is 0.350.0 already published?
|
||||
[0;32m[INFO][0m 0.350.0 is not present in the registry — proceeding.
|
||||
[0;32m[INFO][0m Source tree is clean and at origin/main.
|
||||
[0;36m[STEP][0m 1/4 — Preparing build workspace...
|
||||
[0;32m[INFO][0m Source copied: 1133 Go files
|
||||
[0;36m[STEP][0m 2/4 — Syncing app assets...
|
||||
[0;32m[INFO][0m Synced 263 assets (52 SVG + 16 PNG logos, 195 screenshots)
|
||||
[0;36m[STEP][0m 3/4 — Preparing Go modules...
|
||||
[0;32m[INFO][0m Running go mod tidy...
|
||||
[0;36m[STEP][0m 4/4 — Building Docker image...
|
||||
[0;32m[INFO][0m Building for current platform + pushing...
|
||||
#0 building with "default" instance using docker driver
|
||||
|
||||
#1 [internal] load build definition from Dockerfile
|
||||
#1 transferring dockerfile: 7.32kB done
|
||||
#1 DONE 0.0s
|
||||
|
||||
#2 [internal] load metadata for docker.io/library/debian:13.7-slim@sha256:a29215f6a35e51e22adffa17f89e9d2ef06214e64a2bad10d765c46aea49f11f
|
||||
#2 DONE 0.0s
|
||||
|
||||
#3 [internal] load metadata for docker.io/library/golang:1.27.3-trixie@sha256:fbb7ae40b62ff8afe31662df570d39b4f5052ac32b90dae8e60d7657a20a74f4
|
||||
#3 DONE 0.0s
|
||||
|
||||
#4 [internal] load .dockerignore
|
||||
#4 transferring context: 2B done
|
||||
#4 DONE 0.0s
|
||||
|
||||
#5 [restic 1/3] FROM docker.io/library/debian:13.7-slim@sha256:a29215f6a35e51e22adffa17f89e9d2ef06214e64a2bad10d765c46aea49f11f
|
||||
#5 resolve docker.io/library/debian:13.7-slim@sha256:a29215f6a35e51e22adffa17f89e9d2ef06214e64a2bad10d765c46aea49f11f 0.0s done
|
||||
#5 DONE 0.0s
|
||||
|
||||
#6 [internal] load build context
|
||||
#6 ...
|
||||
|
||||
#7 [builder 1/7] FROM docker.io/library/golang:1.27.3-trixie@sha256:fbb7ae40b62ff8afe31662df570d39b4f5052ac32b90dae8e60d7657a20a74f4
|
||||
#7 resolve docker.io/library/golang:1.27.3-trixie@sha256:fbb7ae40b62ff8afe31662df570d39b4f5052ac32b90dae8e60d7657a20a74f4 0.0s done
|
||||
#7 DONE 0.0s
|
||||
|
||||
#6 [internal] load build context
|
||||
#6 transferring context: 70.40MB 0.8s done
|
||||
#6 DONE 0.8s
|
||||
|
||||
#8 [builder 5/7] COPY . .
|
||||
#8 CACHED
|
||||
|
||||
#9 [builder 2/7] WORKDIR /build
|
||||
#9 CACHED
|
||||
|
||||
#10 [builder 3/7] COPY go.mod ./
|
||||
#10 CACHED
|
||||
|
||||
#11 [builder 4/7] RUN go mod download || true
|
||||
#11 CACHED
|
||||
|
||||
#12 [builder 6/7] RUN go mod tidy
|
||||
#12 CACHED
|
||||
|
||||
#13 [builder 7/7] RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w -X main.Version=0.350.0 -X main.BuildTime=$(date -u +%Y-%m-%dT%H:%M:%SZ) -X main.GitCommit=5c336d8" -o /build/felhom-controller ./cmd/controller/
|
||||
#13 DONE 23.7s
|
||||
|
||||
#14 [restic 3/3] RUN set -eu; apt-get update && apt-get install -y --no-install-recommends ca-certificates curl gnupg gpgv bzip2; case "amd64" in amd64) want="f415415624dcc452f2a02b8c33641791a8c6d6d3b65bbb3543fcf9a25151585c" ;; arm64) want="a5f64aaab53d51e311fa3829124c5b703f2d14cf187d8640b6be3b2b49376465" ;; *) echo "no pinned restic checksum for architecture 'amd64'" >&2; exit 1 ;; esac; f="restic_0.19.1_linux_amd64.bz2"; url="https://github.com/restic/restic/releases/download/v0.19.1"; cd /tmp; curl -fsSL -o "$f" "$url/$f"; curl -fsSL -o SHA256SUMS "$url/SHA256SUMS"; curl -fsSL -o SHA256SUMS.asc "$url/SHA256SUMS.asc"; gpg --dearmor < /tmp/restic-release-key.asc > /tmp/restic-release-key.gpg; gpgv --keyring /tmp/restic-release-key.gpg SHA256SUMS.asc SHA256SUMS; grep " ${f}\$" SHA256SUMS | sha256sum -c -; echo "${want} ${f}" | sha256sum -c -; bunzip2 -c "$f" > /usr/local/bin/restic; chmod 0755 /usr/local/bin/restic; /usr/local/bin/restic version | grep -q "^restic 0.19.1 "
|
||||
#14 CACHED
|
||||
|
||||
#15 [stage-2 3/7] COPY --from=restic /usr/local/bin/restic /usr/local/bin/restic
|
||||
#15 CACHED
|
||||
|
||||
#16 [stage-2 4/7] RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker.gpg && . /etc/os-release && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian ${VERSION_CODENAME} stable" > /etc/apt/sources.list.d/docker.list && apt-get update && apt-get install -y --no-install-recommends docker-ce-cli docker-compose-plugin && rm -rf /var/lib/apt/lists/*
|
||||
#16 CACHED
|
||||
|
||||
#17 [stage-2 2/7] RUN apt-get update && apt-get upgrade -y --no-install-recommends && apt-get install -y --no-install-recommends ca-certificates curl gnupg git util-linux rsync openssh-client && rm -rf /var/lib/apt/lists/*
|
||||
#17 CACHED
|
||||
|
||||
#18 [restic 2/3] COPY third_party/restic/restic-release-key.asc /tmp/restic-release-key.asc
|
||||
#18 CACHED
|
||||
|
||||
#19 [stage-2 5/7] RUN mkdir -p /opt/docker/felhom-controller/data
|
||||
#19 CACHED
|
||||
|
||||
#20 [stage-2 6/7] COPY --from=builder /build/felhom-controller /usr/local/bin/felhom-controller
|
||||
#20 DONE 0.6s
|
||||
|
||||
#21 [stage-2 7/7] COPY assets/ /usr/share/felhom/assets/
|
||||
#21 DONE 0.7s
|
||||
|
||||
#22 exporting to image
|
||||
#22 exporting layers
|
||||
#22 exporting layers 3.2s done
|
||||
#22 exporting manifest sha256:c985879bc13f81e5a61e49238479c4dea6957e06f504ad0c0d42ca86c2f2dc6f
|
||||
#22 exporting manifest sha256:c985879bc13f81e5a61e49238479c4dea6957e06f504ad0c0d42ca86c2f2dc6f 0.2s done
|
||||
#22 exporting config sha256:1f32a260789abfa00620b8ce36a02627185df4586c43b6c666586d7d404e5aa3
|
||||
#22 exporting config sha256:1f32a260789abfa00620b8ce36a02627185df4586c43b6c666586d7d404e5aa3 0.2s done
|
||||
#22 exporting attestation manifest sha256:9a79e9e1746b954643fb51437f166eccda4ee967b18c61f73c9a638967345a42 0.0s done
|
||||
#22 exporting manifest list sha256:9ee53908e6d95f0340c41bf4eaba954280084a8e6927de59779440e3551df261 0.0s done
|
||||
#22 naming to gitea.dooplex.hu/admin/felhom-controller:0.350.0 done
|
||||
#22 unpacking to gitea.dooplex.hu/admin/felhom-controller:0.350.0
|
||||
#22 unpacking to gitea.dooplex.hu/admin/felhom-controller:0.350.0 0.4s done
|
||||
#22 naming to gitea.dooplex.hu/admin/felhom-controller:latest done
|
||||
#22 unpacking to gitea.dooplex.hu/admin/felhom-controller:latest done
|
||||
#22 DONE 4.2s
|
||||
[0;32m[INFO][0m Pushing...
|
||||
The push refers to repository [gitea.dooplex.hu/admin/felhom-controller]
|
||||
c3f83389ce1b: Waiting
|
||||
44136fa355b3: Waiting
|
||||
ecc510c1e359: Waiting
|
||||
6d600408d36c: Waiting
|
||||
e853ea6ba36f: Waiting
|
||||
ecc510c1e359: Layer already exists
|
||||
e81c1fce9826: Layer already exists
|
||||
63a1406b1961: Layer already exists
|
||||
f566b4c9671c: Waiting
|
||||
c3f83389ce1b: Layer already exists
|
||||
44136fa355b3: Already exists
|
||||
d747c9b6922d: Layer already exists
|
||||
6d600408d36c: Pushed
|
||||
f566b4c9671c: Pushed
|
||||
e853ea6ba36f: Pushed
|
||||
0.350.0: digest: sha256:9ee53908e6d95f0340c41bf4eaba954280084a8e6927de59779440e3551df261 size: 856
|
||||
The push refers to repository [gitea.dooplex.hu/admin/felhom-controller]
|
||||
44136fa355b3: Waiting
|
||||
6d600408d36c: Waiting
|
||||
ecc510c1e359: Waiting
|
||||
c3f83389ce1b: Waiting
|
||||
f566b4c9671c: Layer already exists
|
||||
44136fa355b3: Already exists
|
||||
ecc510c1e359: Layer already exists
|
||||
c3f83389ce1b: Layer already exists
|
||||
e853ea6ba36f: Layer already exists
|
||||
6d600408d36c: Already exists
|
||||
e81c1fce9826: Layer already exists
|
||||
63a1406b1961: Layer already exists
|
||||
d747c9b6922d: Layer already exists
|
||||
latest: digest: sha256:9ee53908e6d95f0340c41bf4eaba954280084a8e6927de59779440e3551df261 size: 856
|
||||
|
||||
[0;32m[INFO][0m ╔══════════════════════════════════════╗
|
||||
[0;32m[INFO][0m ║ Build complete ✓ ║
|
||||
[0;32m[INFO][0m ╚══════════════════════════════════════╝
|
||||
[0;32m[INFO][0m Image: gitea.dooplex.hu/admin/felhom-controller:0.350.0
|
||||
[0;32m[INFO][0m Size: 486M
|
||||
|
||||
@@ -0,0 +1,157 @@
|
||||
|
||||
[0;32m[INFO][0m ╔══════════════════════════════════════╗
|
||||
[0;32m[INFO][0m ║ felhom-controller image builder ║
|
||||
[0;32m[INFO][0m ╚══════════════════════════════════════╝
|
||||
[0;32m[INFO][0m Version: 0.350.0-rc.1
|
||||
[0;32m[INFO][0m Commit: 13e34d4
|
||||
[0;32m[INFO][0m Repo: /mnt/5_hdd/felhom.eu/git/felhom-controller
|
||||
[0;32m[INFO][0m Source: /mnt/5_hdd/felhom.eu/git/felhom-controller/controller
|
||||
[0;32m[INFO][0m Build dir: /mnt/5_hdd/felhom.eu/build/felhom-controller/workspace
|
||||
[0;32m[INFO][0m Image: gitea.dooplex.hu/admin/felhom-controller:0.350.0-rc.1
|
||||
|
||||
[0;36m[STEP][0m 0/4 — Checking the registry: is 0.350.0-rc.1 already published?
|
||||
[0;32m[INFO][0m 0.350.0-rc.1 is not present in the registry — proceeding.
|
||||
[0;32m[INFO][0m Source tree is clean and at origin/main.
|
||||
[0;36m[STEP][0m 1/4 — Preparing build workspace...
|
||||
[0;32m[INFO][0m Source copied: 1133 Go files
|
||||
[0;36m[STEP][0m 2/4 — Syncing app assets...
|
||||
[0;32m[INFO][0m Synced 263 assets (52 SVG + 16 PNG logos, 195 screenshots)
|
||||
[0;36m[STEP][0m 3/4 — Preparing Go modules...
|
||||
[0;32m[INFO][0m Running go mod tidy...
|
||||
[0;36m[STEP][0m 4/4 — Building Docker image...
|
||||
[0;32m[INFO][0m Building for current platform + pushing...
|
||||
#0 building with "default" instance using docker driver
|
||||
|
||||
#1 [internal] load build definition from Dockerfile
|
||||
#1 transferring dockerfile: 7.32kB done
|
||||
#1 DONE 0.0s
|
||||
|
||||
#2 [internal] load metadata for docker.io/library/golang:1.27.3-trixie@sha256:fbb7ae40b62ff8afe31662df570d39b4f5052ac32b90dae8e60d7657a20a74f4
|
||||
#2 ...
|
||||
|
||||
#3 [auth] library/debian:pull token for registry-1.docker.io
|
||||
#3 DONE 0.0s
|
||||
|
||||
#4 [auth] library/golang:pull token for registry-1.docker.io
|
||||
#4 DONE 0.0s
|
||||
|
||||
#5 [internal] load metadata for docker.io/library/debian:13.7-slim@sha256:a29215f6a35e51e22adffa17f89e9d2ef06214e64a2bad10d765c46aea49f11f
|
||||
#5 ...
|
||||
|
||||
#2 [internal] load metadata for docker.io/library/golang:1.27.3-trixie@sha256:fbb7ae40b62ff8afe31662df570d39b4f5052ac32b90dae8e60d7657a20a74f4
|
||||
#2 DONE 1.0s
|
||||
|
||||
#5 [internal] load metadata for docker.io/library/debian:13.7-slim@sha256:a29215f6a35e51e22adffa17f89e9d2ef06214e64a2bad10d765c46aea49f11f
|
||||
#5 DONE 1.2s
|
||||
|
||||
#6 [internal] load .dockerignore
|
||||
#6 transferring context: 2B done
|
||||
#6 DONE 0.0s
|
||||
|
||||
#7 [builder 1/7] FROM docker.io/library/golang:1.27.3-trixie@sha256:fbb7ae40b62ff8afe31662df570d39b4f5052ac32b90dae8e60d7657a20a74f4
|
||||
#7 resolve docker.io/library/golang:1.27.3-trixie@sha256:fbb7ae40b62ff8afe31662df570d39b4f5052ac32b90dae8e60d7657a20a74f4 0.0s done
|
||||
#7 DONE 0.0s
|
||||
|
||||
#8 [restic 1/3] FROM docker.io/library/debian:13.7-slim@sha256:a29215f6a35e51e22adffa17f89e9d2ef06214e64a2bad10d765c46aea49f11f
|
||||
#8 resolve docker.io/library/debian:13.7-slim@sha256:a29215f6a35e51e22adffa17f89e9d2ef06214e64a2bad10d765c46aea49f11f 0.0s done
|
||||
#8 DONE 0.0s
|
||||
|
||||
#9 [internal] load build context
|
||||
#9 transferring context: 16.86MB 0.2s done
|
||||
#9 DONE 0.3s
|
||||
|
||||
#10 [builder 2/7] WORKDIR /build
|
||||
#10 CACHED
|
||||
|
||||
#11 [builder 3/7] COPY go.mod ./
|
||||
#11 CACHED
|
||||
|
||||
#12 [builder 4/7] RUN go mod download || true
|
||||
#12 CACHED
|
||||
|
||||
#13 [builder 5/7] COPY . .
|
||||
#13 DONE 0.9s
|
||||
|
||||
#14 [builder 6/7] RUN go mod tidy
|
||||
#14 0.761 go: downloading gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
|
||||
#14 0.849 go: downloading modernc.org/fileutil v1.3.40
|
||||
#14 0.850 go: downloading github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e
|
||||
#14 0.940 go: downloading golang.org/x/term v0.47.0
|
||||
#14 1.564 go: downloading golang.org/x/tools v0.38.0
|
||||
#14 1.565 go: downloading modernc.org/goabi0 v0.2.0
|
||||
#14 1.565 go: downloading modernc.org/cc/v4 v4.27.1
|
||||
#14 1.565 go: downloading modernc.org/ccgo/v4 v4.30.1
|
||||
#14 1.717 go: downloading modernc.org/token v1.1.0
|
||||
#14 1.718 go: downloading modernc.org/sortutil v1.2.1
|
||||
#14 1.718 go: downloading modernc.org/strutil v1.2.1
|
||||
#14 1.718 go: downloading modernc.org/opt v0.1.4
|
||||
#14 1.820 go: downloading modernc.org/gc/v2 v2.6.5
|
||||
#14 1.820 go: downloading golang.org/x/mod v0.29.0
|
||||
#14 1.820 go: downloading modernc.org/gc/v3 v3.1.1
|
||||
#14 1.989 go: downloading github.com/hashicorp/golang-lru/v2 v2.0.7
|
||||
#14 2.265 go: downloading golang.org/x/sync v0.17.0
|
||||
#14 DONE 2.6s
|
||||
|
||||
#15 [builder 7/7] RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w -X main.Version=0.350.0-rc.1 -X main.BuildTime=$(date -u +%Y-%m-%dT%H:%M:%SZ) -X main.GitCommit=13e34d4" -o /build/felhom-controller ./cmd/controller/
|
||||
#15 DONE 23.3s
|
||||
|
||||
#16 [stage-2 2/7] RUN apt-get update && apt-get upgrade -y --no-install-recommends && apt-get install -y --no-install-recommends ca-certificates curl gnupg git util-linux rsync openssh-client && rm -rf /var/lib/apt/lists/*
|
||||
#16 CACHED
|
||||
|
||||
#17 [restic 2/3] COPY third_party/restic/restic-release-key.asc /tmp/restic-release-key.asc
|
||||
#17 CACHED
|
||||
|
||||
#18 [restic 3/3] RUN set -eu; apt-get update && apt-get install -y --no-install-recommends ca-certificates curl gnupg gpgv bzip2; case "amd64" in amd64) want="f415415624dcc452f2a02b8c33641791a8c6d6d3b65bbb3543fcf9a25151585c" ;; arm64) want="a5f64aaab53d51e311fa3829124c5b703f2d14cf187d8640b6be3b2b49376465" ;; *) echo "no pinned restic checksum for architecture 'amd64'" >&2; exit 1 ;; esac; f="restic_0.19.1_linux_amd64.bz2"; url="https://github.com/restic/restic/releases/download/v0.19.1"; cd /tmp; curl -fsSL -o "$f" "$url/$f"; curl -fsSL -o SHA256SUMS "$url/SHA256SUMS"; curl -fsSL -o SHA256SUMS.asc "$url/SHA256SUMS.asc"; gpg --dearmor < /tmp/restic-release-key.asc > /tmp/restic-release-key.gpg; gpgv --keyring /tmp/restic-release-key.gpg SHA256SUMS.asc SHA256SUMS; grep " ${f}\$" SHA256SUMS | sha256sum -c -; echo "${want} ${f}" | sha256sum -c -; bunzip2 -c "$f" > /usr/local/bin/restic; chmod 0755 /usr/local/bin/restic; /usr/local/bin/restic version | grep -q "^restic 0.19.1 "
|
||||
#18 CACHED
|
||||
|
||||
#19 [stage-2 3/7] COPY --from=restic /usr/local/bin/restic /usr/local/bin/restic
|
||||
#19 CACHED
|
||||
|
||||
#20 [stage-2 4/7] RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker.gpg && . /etc/os-release && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian ${VERSION_CODENAME} stable" > /etc/apt/sources.list.d/docker.list && apt-get update && apt-get install -y --no-install-recommends docker-ce-cli docker-compose-plugin && rm -rf /var/lib/apt/lists/*
|
||||
#20 CACHED
|
||||
|
||||
#21 [stage-2 5/7] RUN mkdir -p /opt/docker/felhom-controller/data
|
||||
#21 CACHED
|
||||
|
||||
#22 [stage-2 6/7] COPY --from=builder /build/felhom-controller /usr/local/bin/felhom-controller
|
||||
#22 DONE 0.1s
|
||||
|
||||
#23 [stage-2 7/7] COPY assets/ /usr/share/felhom/assets/
|
||||
#23 DONE 0.1s
|
||||
|
||||
#24 exporting to image
|
||||
#24 exporting layers
|
||||
#24 exporting layers 2.4s done
|
||||
#24 exporting manifest sha256:5c2e0b26286f0374c885cfb9d48b98b8220b78d143b8218900eb8f01df1d6e96 0.0s done
|
||||
#24 exporting config sha256:9e6047ed588084622e9401ed63c8b7ff2fa3f38ebef395ed6c365b2007f4cf0b 0.0s done
|
||||
#24 exporting attestation manifest sha256:86c2328f317481c82b8b2356cc12775ecc3db5c67a1718507378a65008f48d65 0.0s done
|
||||
#24 exporting manifest list sha256:cbf4d42fd4c86a30854a2f4202b06b6b97073380e0de0bd2fffed524021fd8d4 done
|
||||
#24 naming to gitea.dooplex.hu/admin/felhom-controller:0.350.0-rc.1 done
|
||||
#24 unpacking to gitea.dooplex.hu/admin/felhom-controller:0.350.0-rc.1
|
||||
#24 unpacking to gitea.dooplex.hu/admin/felhom-controller:0.350.0-rc.1 0.5s done
|
||||
#24 DONE 2.9s
|
||||
[0;32m[INFO][0m Pushing...
|
||||
The push refers to repository [gitea.dooplex.hu/admin/felhom-controller]
|
||||
44136fa355b3: Waiting
|
||||
ecc510c1e359: Waiting
|
||||
c3f83389ce1b: Waiting
|
||||
3249e53688b6: Waiting
|
||||
44136fa355b3: Already exists
|
||||
ecc510c1e359: Layer already exists
|
||||
c3f83389ce1b: Layer already exists
|
||||
d747c9b6922d: Layer already exists
|
||||
d3649d86b9dc: Waiting
|
||||
e81c1fce9826: Layer already exists
|
||||
63a1406b1961: Layer already exists
|
||||
8a47c11b7d1f: Waiting
|
||||
3249e53688b6: Pushed
|
||||
d3649d86b9dc: Pushed
|
||||
8a47c11b7d1f: Pushed
|
||||
0.350.0-rc.1: digest: sha256:cbf4d42fd4c86a30854a2f4202b06b6b97073380e0de0bd2fffed524021fd8d4 size: 856
|
||||
|
||||
[0;32m[INFO][0m ╔══════════════════════════════════════╗
|
||||
[0;32m[INFO][0m ║ Build complete ✓ ║
|
||||
[0;32m[INFO][0m ╚══════════════════════════════════════╝
|
||||
[0;32m[INFO][0m Image: gitea.dooplex.hu/admin/felhom-controller:0.350.0-rc.1
|
||||
[0;32m[INFO][0m Size: 486M
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
1. dashboard /__files/open -> HTTP/2 302 | to files host: True
|
||||
2. files host /_felhom/sso -> HTTP/2 302 | files cookie set: True
|
||||
3. a listing through traefik with the files cookie -> 200
|
||||
4. the same without any cookie (control) -> 401
|
||||
@@ -0,0 +1,12 @@
|
||||
== tester-1
|
||||
1. dashboard /__files/open -> HTTP/2 302 | to files host: True
|
||||
2. files host /_felhom/sso -> HTTP/2 302 | files cookie set: True
|
||||
3. a listing through traefik with the files cookie -> 200
|
||||
4. the same without any cookie (control) -> 401
|
||||
== demo-hp
|
||||
login failed: no session cookie
|
||||
== demo-hp
|
||||
1. dashboard /__files/open -> HTTP/2 302 | to files host: True
|
||||
2. files host /_felhom/sso -> HTTP/2 302 | files cookie set: True
|
||||
3. a listing through traefik with the files cookie -> 200
|
||||
4. the same without any cookie (control) -> 401
|
||||
@@ -0,0 +1,9 @@
|
||||
== tester-1
|
||||
HTTP/1.1 303 See Other
|
||||
Location: /customers/tester-1?flash=floor_set
|
||||
== demo-hp
|
||||
HTTP/1.1 303 See Other
|
||||
Location: /customers/demo-hp?flash=floor_set
|
||||
== demo-felhom
|
||||
HTTP/1.1 303 See Other
|
||||
Location: /customers/demo-felhom?flash=floor_set
|
||||
@@ -0,0 +1,9 @@
|
||||
== tester-1
|
||||
HTTP/1.1 303 See Other
|
||||
Location: /customers/tester-1?flash=floor_set
|
||||
== demo-hp
|
||||
HTTP/1.1 303 See Other
|
||||
Location: /customers/demo-hp?flash=floor_set
|
||||
== demo-felhom
|
||||
HTTP/1.1 303 See Other
|
||||
Location: /customers/demo-felhom?flash=floor_set
|
||||
@@ -0,0 +1 @@
|
||||
floors set at 2026-11-03T07:04:24Z
|
||||
@@ -0,0 +1,3 @@
|
||||
2026/11/03 08:18:16 [INFO] Global controller-version floor set to "0.350.0" (declared MinAgent "0.158.1")
|
||||
2026/11/03 08:18:16 [INFO] access token "cc-releases-2": POST /configuration/global-floor 303
|
||||
page floor: 0.350.0 min_agent: 0.158.1
|
||||
@@ -0,0 +1,3 @@
|
||||
2026-11-03T07:18:16Z
|
||||
HTTP/1.1 303 See Other
|
||||
Location: /configuration?flash=floor_set
|
||||
@@ -0,0 +1,34 @@
|
||||
control NEGATIVE (a stub answering 200 over plain http): convicted, as it must (200 -)
|
||||
== tester-1 (enkicsifelhom.hu): 6 public name(s)
|
||||
OK control POSITIVE http://felhom.enkicsifelhom.hu/r1033-check?q=1 -> 301 https://felhom.enkicsifelhom.hu/r1033-check?q=1
|
||||
OK http://files.enkicsifelhom.hu/r1033-check?q=1 -> 301 https://files.enkicsifelhom.hu/r1033-check?q=1
|
||||
OK http://no-such-name-r1033.enkicsifelhom.hu/r1033-check?q=1 -> 301 https://no-such-name-r1033.enkicsifelhom.hu/r1033-check?q=1
|
||||
OK http://paperless.enkicsifelhom.hu/r1033-check?q=1 -> 301 https://paperless.enkicsifelhom.hu/r1033-check?q=1
|
||||
OK http://paste.enkicsifelhom.hu/r1033-check?q=1 -> 301 https://paste.enkicsifelhom.hu/r1033-check?q=1
|
||||
OK http://wiki.enkicsifelhom.hu/r1033-check?q=1 -> 301 https://wiki.enkicsifelhom.hu/r1033-check?q=1
|
||||
== demo-hp (enkisfelhom.hu): 15 public name(s)
|
||||
OK http://arcade.enkisfelhom.hu/r1033-check?q=1 -> 301 https://arcade.enkisfelhom.hu/r1033-check?q=1
|
||||
OK http://books.enkisfelhom.hu/r1033-check?q=1 -> 301 https://books.enkisfelhom.hu/r1033-check?q=1
|
||||
OK http://docs.enkisfelhom.hu/r1033-check?q=1 -> 301 https://docs.enkisfelhom.hu/r1033-check?q=1
|
||||
OK http://felhom.enkisfelhom.hu/r1033-check?q=1 -> 301 https://felhom.enkisfelhom.hu/r1033-check?q=1
|
||||
OK http://files.enkisfelhom.hu/r1033-check?q=1 -> 301 https://files.enkisfelhom.hu/r1033-check?q=1
|
||||
OK http://gist.enkisfelhom.hu/r1033-check?q=1 -> 301 https://gist.enkisfelhom.hu/r1033-check?q=1
|
||||
OK http://ha.enkisfelhom.hu/r1033-check?q=1 -> 301 https://ha.enkisfelhom.hu/r1033-check?q=1
|
||||
OK http://no-such-name-r1033.enkisfelhom.hu/r1033-check?q=1 -> 301 https://no-such-name-r1033.enkisfelhom.hu/r1033-check?q=1
|
||||
OK http://papir.enkisfelhom.hu/r1033-check?q=1 -> 301 https://papir.enkisfelhom.hu/r1033-check?q=1
|
||||
OK http://paste.enkisfelhom.hu/r1033-check?q=1 -> 301 https://paste.enkisfelhom.hu/r1033-check?q=1
|
||||
OK http://pdf.enkisfelhom.hu/r1033-check?q=1 -> 301 https://pdf.enkisfelhom.hu/r1033-check?q=1
|
||||
OK http://plex.enkisfelhom.hu/r1033-check?q=1 -> 301 https://plex.enkisfelhom.hu/r1033-check?q=1
|
||||
OK http://time.enkisfelhom.hu/r1033-check?q=1 -> 301 https://time.enkisfelhom.hu/r1033-check?q=1
|
||||
OK http://travel.enkisfelhom.hu/r1033-check?q=1 -> 301 https://travel.enkisfelhom.hu/r1033-check?q=1
|
||||
OK http://wiki.enkisfelhom.hu/r1033-check?q=1 -> 301 https://wiki.enkisfelhom.hu/r1033-check?q=1
|
||||
== demo-felhom (demo-felhom.eu): 8 public name(s)
|
||||
OK http://felhom.demo-felhom.eu/r1033-check?q=1 -> 301 https://felhom.demo-felhom.eu/r1033-check?q=1
|
||||
OK http://files.demo-felhom.eu/r1033-check?q=1 -> 301 https://files.demo-felhom.eu/r1033-check?q=1
|
||||
OK http://gist.demo-felhom.eu/r1033-check?q=1 -> 301 https://gist.demo-felhom.eu/r1033-check?q=1
|
||||
OK http://no-such-name-r1033.demo-felhom.eu/r1033-check?q=1 -> 301 https://no-such-name-r1033.demo-felhom.eu/r1033-check?q=1
|
||||
OK http://prowlarr.demo-felhom.eu/r1033-check?q=1 -> 301 https://prowlarr.demo-felhom.eu/r1033-check?q=1
|
||||
OK http://radarr.demo-felhom.eu/r1033-check?q=1 -> 301 https://radarr.demo-felhom.eu/r1033-check?q=1
|
||||
OK http://sonarr.demo-felhom.eu/r1033-check?q=1 -> 301 https://sonarr.demo-felhom.eu/r1033-check?q=1
|
||||
OK http://torrent.demo-felhom.eu/r1033-check?q=1 -> 301 https://torrent.demo-felhom.eu/r1033-check?q=1
|
||||
== every public name redirects http -> https
|
||||
@@ -0,0 +1,36 @@
|
||||
# v3.7.17-after version: 3.7.17
|
||||
# v3.7.17-after image: traefik:v3.7.17 sha256:a72cb2f4a2109f1ae52261c86d56b7d33a27dc5c4e211ce3c7835b772338b94f
|
||||
t_s,connections,current_MiB,anon_MiB
|
||||
0,0,201.1,16.2
|
||||
11,926,214.7,25.3
|
||||
22,1857,215.0,25.0
|
||||
33,2794,214.3,24.9
|
||||
44,3729,215.0,25.3
|
||||
55,4657,215.2,25.0
|
||||
66,5587,216.6,25.9
|
||||
77,6520,215.8,25.6
|
||||
89,7452,215.9,25.5
|
||||
100,8382,215.2,24.9
|
||||
111,9307,216.2,25.3
|
||||
122,10241,215.4,25.2
|
||||
133,11174,215.6,25.4
|
||||
144,12109,216.0,25.6
|
||||
155,13037,216.6,25.9
|
||||
166,13960,216.0,25.7
|
||||
177,14885,216.9,25.8
|
||||
189,15812,216.2,25.5
|
||||
200,16741,217.4,26.2
|
||||
211,17677,216.8,25.8
|
||||
222,18616,217.4,26.1
|
||||
233,19549,216.3,25.4
|
||||
244,20482,216.6,25.7
|
||||
256,21406,217.4,26.0
|
||||
267,22338,217.2,26.3
|
||||
278,23261,216.9,25.6
|
||||
289,24187,215.8,25.4
|
||||
300,25116,215.9,25.4
|
||||
# stopped: 300 s passed; 25120 connections in 301 s = 84/s
|
||||
# answers: {302: 25067}
|
||||
after-stop,311,215.1,25.4
|
||||
after-stop,322,214.9,25.4
|
||||
after-stop,333,214.7,25.4
|
||||
@@ -0,0 +1,10 @@
|
||||
# v3.7.16-before version: 3.7.16
|
||||
# v3.7.16-before image: traefik:v3.7.16 sha256:3733df53e74cd0df7d1b839168e30d2bd7f5e77dd6214ef3d8056ee1f21392b7
|
||||
t_s,connections,current_MiB,anon_MiB
|
||||
0,0,114.0,18.7
|
||||
11,920,179.8,79.0
|
||||
# stopped: memory passed twice its start (anon 18.7 -> 79.0 MiB, current 114.0 -> 179.8 MiB); 924 connections in 11 s = 84/s
|
||||
# answers: {302: 920}
|
||||
after-stop,22,179.5,80.0
|
||||
after-stop,33,179.3,80.0
|
||||
after-stop,44,179.6,80.0
|
||||
@@ -0,0 +1,27 @@
|
||||
## public names from outside 2026-11-03T07:14:46Z
|
||||
arcade.enkisfelhom.hu 401
|
||||
books.enkisfelhom.hu 302
|
||||
docs.enkisfelhom.hu 200
|
||||
gist.demo-felhom.eu 302
|
||||
gist.enkisfelhom.hu 302
|
||||
ha.enkisfelhom.hu 200
|
||||
paperless.enkicsifelhom.hu 302
|
||||
papir.enkisfelhom.hu 302
|
||||
paste.enkicsifelhom.hu 200
|
||||
paste.enkisfelhom.hu 200
|
||||
pdf.enkisfelhom.hu 200
|
||||
plex.enkisfelhom.hu 401
|
||||
prowlarr.demo-felhom.eu 401
|
||||
radarr.demo-felhom.eu 401
|
||||
sonarr.demo-felhom.eu 401
|
||||
time.enkisfelhom.hu 302
|
||||
torrent.demo-felhom.eu 200
|
||||
travel.enkisfelhom.hu 200
|
||||
wiki.enkicsifelhom.hu 302
|
||||
wiki.enkisfelhom.hu 302
|
||||
felhom.enkicsifelhom.hu 302
|
||||
felhom.enkisfelhom.hu 302
|
||||
felhom.demo-felhom.eu 302
|
||||
files.enkicsifelhom.hu 200
|
||||
files.enkisfelhom.hu 200
|
||||
files.demo-felhom.eu 200
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
# read_boxes.sh — one line per box, read-only: the controller's image and status, Traefik's image.
|
||||
for x in "tester-1 root@192.168.0.154" "demo-hp hp" "demo-felhom felhom-pve"; do set -- $x
|
||||
o=$(ssh -o BatchMode=yes -o ConnectTimeout=10 $2 "pct exec 9201 -- docker ps --format '{{.Names}}|{{.Image}}|{{.Status}}'" 2>&1 | grep -E '^(felhom-controller|traefik)\|')
|
||||
echo "$1: $(echo "$o" | sed 's#gitea.dooplex.hu/admin/felhom-controller:##' | cut -d'|' -f2,3 | tr '\n' ' ')"
|
||||
done
|
||||
@@ -0,0 +1,32 @@
|
||||
image: gitea.dooplex.hu/admin/felhom-controller:0.350.0
|
||||
offered: [{'time': '2026-11-03T03:15:36Z', 'short_id': 'helyi', 'tier': 1, 'drive_label': 'Belső SSD (rendszer)'}]
|
||||
before, files + count: ['857384e0f0cd2b8f', '5']
|
||||
front door before: 200
|
||||
marker written: 1
|
||||
08:16:28 [R] restoring privatebin from snapshot 'helyi' (of 1 offered)
|
||||
08:16:28 [R] POST /backup/restore -> HTTP/2 302 ['location: /backups/restore?flash=flash.restore.started']
|
||||
08:16:28 + 0.0s restore (True, None, None)
|
||||
08:17:31 + 62.8s restore (False, None, None)
|
||||
08:17:31 [R] after restore: state=running hold=None phase=None
|
||||
{'ok': True, 'snapshot_id': 'helyi', 'http': 'HTTP/2 302', 'location': ['location: /backups/restore?flash=flash.restore.started'], 'seconds': 62.8, 'state_after': 'running', 'hold_after': None}
|
||||
after, files + count: ['857384e0f0cd2b8f', '5']
|
||||
marker after (0 = gone): 0
|
||||
front door after: 200
|
||||
state: running hold: None
|
||||
2026/11/03 07:16:31 [INFO] [stacks] Redeploying privatebin from recovery unit with 2 env vars
|
||||
2026/11/03 07:16:31 [INFO] [stacks] SaveAppConfig: saved config for privatebin
|
||||
2026/11/03 07:16:31 [INFO] [stacks] pin privatebin: privatebin=privatebin/pdo:2.1.0
|
||||
2026/11/03 07:16:31 [INFO] [stacks] Starting stack: privatebin
|
||||
2026/11/03 07:16:31 [INFO] [stacks] SaveAppConfig: saved config for privatebin
|
||||
2026/11/03 07:16:31 [INFO] [stacks] Stack privatebin started successfully (took 0.5s)
|
||||
2026/11/03 07:16:31 [INFO] [stacks] installed-images privatebin: recorded 1 service(s) (privatebin=privatebin/pdo:2.1.0 (sha256:3400b0a4714d))
|
||||
2026/11/03 07:16:31 [INFO] [stacks] SaveAppConfig: saved config for privatebin
|
||||
2026/11/03 07:16:34 [INFO] [stacks] Stack privatebin post-start status:
|
||||
2026/11/03 07:16:34 [INFO] [stacks] privatebin privatebin/pdo:2.1.0@sha256:3400b0a4714d62161727a710c82a3e319cfea364ac6e591aed653f5bb6bb8055 running Up 3 seconds (
|
||||
2026/11/03 07:16:36 [INFO] [busymark] busy: a backup, a restore or an off-site run is running an operator reboot of the box is refused until it ends
|
||||
2026/11/03 07:17:30 [INFO] [backup] Restore-from-unit completed: privatebin 1 volume(s) of 1 listed, 0 database(s) of 0 listed
|
||||
2026/11/03 07:17:30 [INFO] [web] Restore completed (async): stack=privatebin in 1m1.635592685s (volumes 1/1, dbs 0/0)
|
||||
2026/11/03 07:17:36 [INFO] [busymark] idle again (was: a backup, a restore or an off-site run is running) an operator reboot of the box is no longer refused for it
|
||||
|
||||
ERROR lines since the press: 0
|
||||
container volumes after: 0
|
||||
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env python3
|
||||
"""One local restore on Tester 1 on the release build (R-1347/R-1348 are restore code). The household's button, privatebin (test data
|
||||
only, last night's copy). A marker written after the copy must be gone; the copy's files must read the same; the app answers; no hold.
|
||||
usage: SC=<dir> EV=<dir> TARGET=tester-1 python3 restore_tester1.py"""
|
||||
import os, sys, time
|
||||
sys.path.insert(0, "/mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/scripts")
|
||||
import box_walk as w
|
||||
|
||||
V = "/var/lib/docker/volumes/privatebin_privatebin_data/_data"
|
||||
LIST = f"cd {V} && find . -type f ! -name restore-marker-1103 -exec sha256sum {{}} + | sort | sha256sum | cut -c1-16; find . -type f | wc -l"
|
||||
w.login()
|
||||
print("image:", w.guest("docker ps --filter name=^/felhom-controller$ --format '{{.Image}}'").strip())
|
||||
print("offered:", w.snapshots("privatebin")[:1])
|
||||
print("before, files + count:", w.guest(LIST).split())
|
||||
print("front door before:", w.guest("curl -sk -o /dev/null -w '%{http_code}' -H 'Host: paste.enkicsifelhom.hu' https://127.0.0.1/"))
|
||||
w.guest(f"date -u > {V}/restore-marker-1103; chown --reference={V} {V}/restore-marker-1103; ls {V}/restore-marker-1103")
|
||||
print("marker written:", w.guest(f"ls {V} | grep -c restore-marker-1103").strip())
|
||||
t0 = time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())
|
||||
rec = w.restore("privatebin")
|
||||
print({k: rec.get(k) for k in ("ok", "snapshot_id", "http", "location", "seconds", "state_after", "hold_after")})
|
||||
time.sleep(10)
|
||||
print("after, files + count:", w.guest(LIST).split())
|
||||
print("marker after (0 = gone):", w.guest(f"ls {V} | grep -c restore-marker-1103").strip())
|
||||
print("front door after:", w.guest("curl -sk -o /dev/null -w '%{http_code}' -H 'Host: paste.enkicsifelhom.hu' https://127.0.0.1/"))
|
||||
st = w.stack("privatebin")
|
||||
print("state:", st.get("state"), "hold:", st.get("hold_reason"))
|
||||
print(w.guest(f"docker logs --since {t0} felhom-controller 2>&1 | grep -aiE 'restore|privatebin' | grep -av DEBUG | tail -14 | cut -c1-170 | iconv -c -t ascii//TRANSLIT"))
|
||||
print("ERROR lines since the press:", w.guest(f"docker logs --since {t0} felhom-controller 2>&1 | grep -c '\\[ERROR\\]'").strip())
|
||||
print("container volumes after:", w.guest("docker volume ls --format '{{.Name}}' | grep -c pre-restore").strip())
|
||||
@@ -0,0 +1,31 @@
|
||||
07:04:27 tester-1: 0.349.0|Up 3 days (healthy) traefik:v3.7.16|Up 4 days demo-hp: 0.349.0|Up 4 days (healthy) traefik:v3.7.16|Up 5 days demo-felhom: 0.349.0|Up 3 hours (healthy) traefik:v3.7.16|Up 3 hours
|
||||
07:04:47 tester-1: traefik:v3.7.17|Up Less than a second 0.350.0|Up 8 seconds (healthy) demo-hp: 0.350.0|Up 10 seconds (healthy) traefik:v3.7.16|Up 5 days demo-felhom: traefik:v3.7.17|Up 8 seconds 0.350.0|Up 14 seconds (healthy)
|
||||
07:05:06 tester-1: traefik:v3.7.17|Up 19 seconds 0.350.0|Up 27 seconds (healthy) demo-hp: traefik:v3.7.17|Up 12 seconds 0.350.0|Up 29 seconds (healthy) demo-felhom: traefik:v3.7.17|Up 27 seconds 0.350.0|Up 33 seconds (healthy)
|
||||
07:05:25 tester-1: traefik:v3.7.17|Up 38 seconds 0.350.0|Up 47 seconds (healthy) demo-hp: traefik:v3.7.17|Up 31 seconds 0.350.0|Up 48 seconds (healthy) demo-felhom: traefik:v3.7.17|Up 47 seconds 0.350.0|Up 52 seconds (healthy)
|
||||
07:05:44 tester-1: traefik:v3.7.17|Up 57 seconds 0.350.0|Up About a minute (healthy) demo-hp: traefik:v3.7.17|Up 50 seconds 0.350.0|Up About a minute (healthy) demo-felhom: traefik:v3.7.17|Up About a minute 0.350.0|Up About a minute (healthy)
|
||||
07:06:03 tester-1: traefik:v3.7.17|Up About a minute 0.350.0|Up About a minute (healthy) demo-hp: traefik:v3.7.17|Up About a minute 0.350.0|Up About a minute (healthy) demo-felhom: traefik:v3.7.17|Up About a minute 0.350.0|Up About a minute (healthy)
|
||||
07:06:22 tester-1: traefik:v3.7.17|Up About a minute 0.350.0|Up About a minute (healthy) demo-hp: traefik:v3.7.17|Up About a minute 0.350.0|Up About a minute (healthy) demo-felhom: traefik:v3.7.17|Up About a minute 0.350.0|Up About a minute (healthy)
|
||||
07:06:41 tester-1: traefik:v3.7.17|Up About a minute 0.350.0|Up 2 minutes (healthy) demo-hp: traefik:v3.7.17|Up About a minute 0.350.0|Up 2 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 2 minutes 0.350.0|Up 2 minutes (healthy)
|
||||
07:07:00 tester-1: traefik:v3.7.17|Up 2 minutes 0.350.0|Up 2 minutes (healthy) demo-hp: traefik:v3.7.17|Up 2 minutes 0.350.0|Up 2 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 2 minutes 0.350.0|Up 2 minutes (healthy)
|
||||
07:07:20 tester-1: traefik:v3.7.17|Up 2 minutes 0.350.0|Up 2 minutes (healthy) demo-hp: traefik:v3.7.17|Up 2 minutes 0.350.0|Up 2 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 2 minutes 0.350.0|Up 2 minutes (healthy)
|
||||
07:07:39 tester-1: traefik:v3.7.17|Up 2 minutes 0.350.0|Up 3 minutes (healthy) demo-hp: traefik:v3.7.17|Up 2 minutes 0.350.0|Up 3 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 3 minutes 0.350.0|Up 3 minutes (healthy)
|
||||
07:07:58 tester-1: traefik:v3.7.17|Up 3 minutes 0.350.0|Up 3 minutes (healthy) demo-hp: traefik:v3.7.17|Up 3 minutes 0.350.0|Up 3 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 3 minutes 0.350.0|Up 3 minutes (healthy)
|
||||
07:08:17 tester-1: traefik:v3.7.17|Up 3 minutes 0.350.0|Up 3 minutes (healthy) demo-hp: traefik:v3.7.17|Up 3 minutes 0.350.0|Up 3 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 3 minutes 0.350.0|Up 3 minutes (healthy)
|
||||
07:08:36 tester-1: traefik:v3.7.17|Up 3 minutes 0.350.0|Up 3 minutes (healthy) demo-hp: traefik:v3.7.17|Up 3 minutes 0.350.0|Up 3 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 3 minutes 0.350.0|Up 4 minutes (healthy)
|
||||
07:08:55 tester-1: traefik:v3.7.17|Up 4 minutes 0.350.0|Up 4 minutes (healthy) demo-hp: traefik:v3.7.17|Up 4 minutes 0.350.0|Up 4 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 4 minutes 0.350.0|Up 4 minutes (healthy)
|
||||
07:09:14 tester-1: traefik:v3.7.17|Up 4 minutes 0.350.0|Up 4 minutes (healthy) demo-hp: traefik:v3.7.17|Up 4 minutes 0.350.0|Up 4 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 4 minutes 0.350.0|Up 4 minutes (healthy)
|
||||
07:09:33 tester-1: traefik:v3.7.17|Up 4 minutes 0.350.0|Up 4 minutes (healthy) demo-hp: traefik:v3.7.17|Up 4 minutes 0.350.0|Up 4 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 4 minutes 0.350.0|Up 5 minutes (healthy)
|
||||
07:09:53 tester-1: traefik:v3.7.17|Up 5 minutes 0.350.0|Up 5 minutes (healthy) demo-hp: traefik:v3.7.17|Up 4 minutes 0.350.0|Up 5 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 5 minutes 0.350.0|Up 5 minutes (healthy)
|
||||
07:10:12 tester-1: traefik:v3.7.17|Up 5 minutes 0.350.0|Up 5 minutes (healthy) demo-hp: traefik:v3.7.17|Up 5 minutes 0.350.0|Up 5 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 5 minutes 0.350.0|Up 5 minutes (healthy)
|
||||
07:10:31 tester-1: traefik:v3.7.17|Up 5 minutes 0.350.0|Up 5 minutes (healthy) demo-hp: traefik:v3.7.17|Up 5 minutes 0.350.0|Up 5 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 5 minutes 0.350.0|Up 5 minutes (healthy)
|
||||
07:10:50 tester-1: traefik:v3.7.17|Up 6 minutes 0.350.0|Up 6 minutes (healthy) demo-hp: traefik:v3.7.17|Up 5 minutes 0.350.0|Up 6 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 6 minutes 0.350.0|Up 6 minutes (healthy)
|
||||
07:11:09 tester-1: traefik:v3.7.17|Up 6 minutes 0.350.0|Up 6 minutes (healthy) demo-hp: traefik:v3.7.17|Up 6 minutes 0.350.0|Up 6 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 6 minutes 0.350.0|Up 6 minutes (healthy)
|
||||
07:11:29 tester-1: traefik:v3.7.17|Up 6 minutes 0.350.0|Up 6 minutes (healthy) demo-hp: traefik:v3.7.17|Up 6 minutes 0.350.0|Up 6 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 6 minutes 0.350.0|Up 6 minutes (healthy)
|
||||
07:11:48 tester-1: traefik:v3.7.17|Up 7 minutes 0.350.0|Up 7 minutes (healthy) demo-hp: traefik:v3.7.17|Up 6 minutes 0.350.0|Up 7 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 7 minutes 0.350.0|Up 7 minutes (healthy)
|
||||
07:12:09 tester-1: traefik:v3.7.17|Up 7 minutes 0.350.0|Up 7 minutes (healthy) demo-hp: traefik:v3.7.17|Up 7 minutes 0.350.0|Up 7 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 7 minutes 0.350.0|Up 7 minutes (healthy)
|
||||
07:12:28 tester-1: traefik:v3.7.17|Up 7 minutes 0.350.0|Up 7 minutes (healthy) demo-hp: traefik:v3.7.17|Up 7 minutes 0.350.0|Up 7 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 7 minutes 0.350.0|Up 7 minutes (healthy)
|
||||
07:12:47 tester-1: traefik:v3.7.17|Up 8 minutes 0.350.0|Up 8 minutes (healthy) demo-hp: traefik:v3.7.17|Up 7 minutes 0.350.0|Up 8 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 8 minutes 0.350.0|Up 8 minutes (healthy)
|
||||
07:13:06 tester-1: traefik:v3.7.17|Up 8 minutes 0.350.0|Up 8 minutes (healthy) demo-hp: traefik:v3.7.17|Up 8 minutes 0.350.0|Up 8 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 8 minutes 0.350.0|Up 8 minutes (healthy)
|
||||
07:13:25 tester-1: traefik:v3.7.17|Up 8 minutes 0.350.0|Up 8 minutes (healthy) demo-hp: traefik:v3.7.17|Up 8 minutes 0.350.0|Up 8 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 8 minutes 0.350.0|Up 8 minutes (healthy)
|
||||
07:13:44 tester-1: traefik:v3.7.17|Up 8 minutes 0.350.0|Up 9 minutes (healthy) demo-hp: traefik:v3.7.17|Up 8 minutes 0.350.0|Up 9 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 9 minutes 0.350.0|Up 9 minutes (healthy)
|
||||
07:14:03 tester-1: traefik:v3.7.17|Up 9 minutes 0.350.0|Up 9 minutes (healthy) demo-hp: traefik:v3.7.17|Up 9 minutes 0.350.0|Up 9 minutes (healthy) demo-felhom: traefik:v3.7.17|Up 9 minutes 0.350.0|Up 9 minutes (healthy)
|
||||
@@ -0,0 +1,77 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Traefik GHSA-xv5x load test, scratch 9202 ONLY, from the LAN (the demo-hp host), bounded (brief 2026-11-03 Part 1.3):
|
||||
many short TLS connections, each one request with an `Authorization: NTLM` header, to the dashboard route (the controller
|
||||
answers it, so the request reaches a backend). Traefik's memory is read every 10 s from its cgroup. The load stops at once when
|
||||
memory passes twice its start figure, or at 300 s. Usage on demo-hp: traefik_load.py LABEL"""
|
||||
import multiprocessing as mp, os, re, socket, ssl, subprocess, sys, time
|
||||
|
||||
GUEST, ADDR, HOST = "9202", "192.168.0.158", "felhom.enkisfelhom.hu"
|
||||
MAX_S, STEP_S, WORKERS = 300, 10, 4
|
||||
REQ = (f"GET / HTTP/1.1\r\nHost: {HOST}\r\nUser-Agent: felhom-ghsa-xv5x-test\r\nAccept: */*\r\n"
|
||||
"Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=\r\n\r\n").encode()
|
||||
|
||||
|
||||
def worker(stop, n, codes):
|
||||
ctx = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
|
||||
ctx.check_hostname = False
|
||||
ctx.verify_mode = ssl.CERT_NONE
|
||||
while not stop.is_set():
|
||||
try:
|
||||
with socket.create_connection((ADDR, 443), timeout=10) as raw, ctx.wrap_socket(raw, server_hostname=HOST) as s:
|
||||
s.sendall(REQ)
|
||||
head = s.recv(4096)
|
||||
m = re.match(rb"HTTP/1\.1 (\d+)", head)
|
||||
key = int(m.group(1)) if m else 0
|
||||
with n.get_lock():
|
||||
n.value += 1
|
||||
codes[key if 0 <= key < 600 else 0] += 1
|
||||
except OSError:
|
||||
codes[1] += 1
|
||||
|
||||
|
||||
def guest(cmd):
|
||||
return subprocess.run(["pct", "exec", GUEST, "--", "sh", "-c", cmd], capture_output=True, text=True, timeout=30).stdout
|
||||
|
||||
|
||||
def mem():
|
||||
out = guest('id=$(docker inspect traefik --format {{.Id}}); d=/sys/fs/cgroup/system.slice/docker-$id.scope; '
|
||||
'cat $d/memory.current; grep -E "^anon " $d/memory.stat; docker inspect traefik --format {{.Image}}')
|
||||
lines = out.split()
|
||||
return int(lines[0]), int(lines[2])
|
||||
|
||||
|
||||
def main():
|
||||
label = sys.argv[1]
|
||||
print("#", label, "version:", guest("docker exec traefik traefik version | head -1").split()[-1], flush=True)
|
||||
print("#", label, "image:", guest("docker inspect traefik --format '{{.Config.Image}} {{.Image}}'").strip(), flush=True)
|
||||
cur0, anon0 = mem()
|
||||
stop, n = mp.Event(), mp.Value("q", 0)
|
||||
codes = mp.Array("q", 600)
|
||||
procs = [mp.Process(target=worker, args=(stop, n, codes), daemon=True) for _ in range(WORKERS)]
|
||||
print("t_s,connections,current_MiB,anon_MiB", flush=True)
|
||||
print(f"0,0,{cur0/2**20:.1f},{anon0/2**20:.1f}", flush=True)
|
||||
for p in procs:
|
||||
p.start()
|
||||
t0, why = time.time(), f"{MAX_S} s passed"
|
||||
while time.time() - t0 < MAX_S:
|
||||
time.sleep(STEP_S)
|
||||
cur, anon = mem()
|
||||
print(f"{int(time.time()-t0)},{n.value},{cur/2**20:.1f},{anon/2**20:.1f}", flush=True)
|
||||
if anon > 2 * anon0 or cur > 2 * cur0:
|
||||
why = f"memory passed twice its start (anon {anon0/2**20:.1f} -> {anon/2**20:.1f} MiB, current {cur0/2**20:.1f} -> {cur/2**20:.1f} MiB)"
|
||||
break
|
||||
stop.set()
|
||||
for p in procs:
|
||||
p.join(15)
|
||||
if p.is_alive():
|
||||
p.terminate()
|
||||
took = time.time() - t0
|
||||
print(f"# stopped: {why}; {n.value} connections in {took:.0f} s = {n.value/took:.0f}/s", flush=True)
|
||||
print("# answers:", {("failed" if i == 1 else "no status" if i == 0 else i): c for i, c in enumerate(codes) if c}, flush=True)
|
||||
for _ in range(3):
|
||||
time.sleep(STEP_S)
|
||||
cur, anon = mem()
|
||||
print(f"after-stop,{int(time.time()-t0)},{cur/2**20:.1f},{anon/2**20:.1f}", flush=True)
|
||||
|
||||
|
||||
main()
|
||||
@@ -0,0 +1,4 @@
|
||||
## before 2026-11-03T07:04:19Z
|
||||
tester-1: 0.349.0|Up 3 days (healthy) traefik:v3.7.16|Up 4 days
|
||||
demo-hp: 0.349.0|Up 4 days (healthy) traefik:v3.7.16|Up 5 days
|
||||
demo-felhom: 0.349.0|Up 3 hours (healthy) traefik:v3.7.16|Up 3 hours
|
||||
@@ -0,0 +1,51 @@
|
||||
=== root@192.168.0.154 (enkicsifelhom.hu)
|
||||
controller: gitea.dooplex.hu/admin/felhom-controller:0.350.0 Up 9 minutes (healthy)
|
||||
traefik: traefik:v3.7.17 sha256:a72cb2f4a2109f1ae52261c86d56b7d33a27dc5c4e211ce3c7835b772338b94f running version 3.7.17
|
||||
traefik repo digest: traefik@sha256:68ae5fe5b64ca166704b746a9e8afcd385e36b3f569a5691401bf652d57b3748
|
||||
containers: 10 total
|
||||
not running/unhealthy: none
|
||||
refusals since 2026-11-03T07:04:24Z: 0
|
||||
ERROR lines since: 0
|
||||
login page: 200
|
||||
file manager: 200
|
||||
route paste.enkicsifelhom.hu [privatebin]: 200
|
||||
route paperless.enkicsifelhom.hu [paperless-webserver]: 302
|
||||
route wiki.enkicsifelhom.hu [bookstack]: 302
|
||||
=== hp (enkisfelhom.hu)
|
||||
controller: gitea.dooplex.hu/admin/felhom-controller:0.350.0 Up 9 minutes (healthy)
|
||||
traefik: traefik:v3.7.17 sha256:a72cb2f4a2109f1ae52261c86d56b7d33a27dc5c4e211ce3c7835b772338b94f running version 3.7.17
|
||||
traefik repo digest: traefik@sha256:68ae5fe5b64ca166704b746a9e8afcd385e36b3f569a5691401bf652d57b3748
|
||||
containers: 26 total
|
||||
not running/unhealthy: none
|
||||
refusals since 2026-11-03T07:04:24Z: 0
|
||||
ERROR lines since: 0
|
||||
login page: 200
|
||||
file manager: 200
|
||||
route arcade.enkisfelhom.hu [romm]: 401
|
||||
route paste.enkisfelhom.hu [privatebin]: 200
|
||||
route plex.enkisfelhom.hu [plex]: 401
|
||||
route papir.enkisfelhom.hu [paperless-webserver]: 302
|
||||
route gist.enkisfelhom.hu [opengist]: 302
|
||||
route time.enkisfelhom.hu [kimai]: 302
|
||||
route ha.enkisfelhom.hu [home-assistant]: 200
|
||||
route docs.enkisfelhom.hu [docmost]: 200
|
||||
route books.enkisfelhom.hu [calibre-web]: 302
|
||||
route wiki.enkisfelhom.hu [bookstack]: 302
|
||||
route pdf.enkisfelhom.hu [bentopdf]: 200
|
||||
route travel.enkisfelhom.hu [adventurelog]: 200
|
||||
route travel.enkisfelhom.hu [adventurelog-frontend]: 200
|
||||
=== felhom-pve (demo-felhom.eu)
|
||||
controller: gitea.dooplex.hu/admin/felhom-controller:0.350.0 Up 10 minutes (healthy)
|
||||
traefik: traefik:v3.7.17 sha256:a72cb2f4a2109f1ae52261c86d56b7d33a27dc5c4e211ce3c7835b772338b94f running version 3.7.17
|
||||
traefik repo digest: traefik@sha256:68ae5fe5b64ca166704b746a9e8afcd385e36b3f569a5691401bf652d57b3748
|
||||
containers: 9 total
|
||||
not running/unhealthy: none
|
||||
refusals since 2026-11-03T07:04:24Z: 0
|
||||
ERROR lines since: 0
|
||||
login page: 200
|
||||
file manager: 200
|
||||
route sonarr.demo-felhom.eu [sonarr]: 401
|
||||
route radarr.demo-felhom.eu [radarr]: 401
|
||||
route torrent.demo-felhom.eu [qbittorrent]: 200
|
||||
route prowlarr.demo-felhom.eu [prowlarr]: 401
|
||||
route gist.demo-felhom.eu [opengist]: 302
|
||||
@@ -0,0 +1,10 @@
|
||||
controller: gitea.dooplex.hu/admin/felhom-controller:0.350.0-rc.1 Up 6 minutes (healthy)
|
||||
traefik: traefik:v3.7.17 sha256:a72cb2f4a2109f1ae52261c86d56b7d33a27dc5c4e211ce3c7835b772338b94f running version 3.7.17
|
||||
traefik repo digest: traefik@sha256:30ff62491aacdb862ceb8c9edcf2627da638d7deafdd4b6dab32fe34f8aa3e90
|
||||
containers: 6 total
|
||||
not running/unhealthy: none
|
||||
refusals since 2026-11-03T06:55:30Z: 0
|
||||
ERROR lines since: 0
|
||||
login page: 200
|
||||
file manager: 200
|
||||
route paperless.enkisfelhom.hu [paperless-webserver]: 302
|
||||
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
# walk_release.sh <ssh-host> <vmid> <domain> <since RFC3339> — the release box walk, read-only, from inside the guest:
|
||||
# the controller's image and health; Traefik's image and digest; every container up and not unhealthy; the controller log since
|
||||
# the switch (refusals, errors); the dashboard login page and the file manager through the box's own proxy (GET only);
|
||||
# every app route the box serves, through Traefik with its own Host (the public name is asked apart, from outside).
|
||||
H=$1; V=$2; D=$3; SINCE=$4
|
||||
ssh -o BatchMode=yes -o ConnectTimeout=15 "$H" "pct exec $V -- bash -s" <<EOF
|
||||
echo "controller: \$(docker ps --filter name=^/felhom-controller\$ --format '{{.Image}} {{.Status}}')"
|
||||
echo "traefik: \$(docker inspect traefik --format '{{.Config.Image}} {{.Image}} {{.State.Status}}') version \$(docker exec traefik traefik version | head -1 | awk '{print \$2}')"
|
||||
echo "traefik repo digest: \$(docker image inspect \$(docker inspect traefik --format '{{.Image}}') --format '{{join .RepoDigests " "}}')"
|
||||
echo "containers: \$(docker ps -a --format '{{.Names}}|{{.Status}}' | wc -l) total"
|
||||
bad=\$(docker ps -a --format '{{.Names}}|{{.Status}}' | grep -E 'unhealthy|Restarting|Exited|Dead|Created' || true)
|
||||
echo "not running/unhealthy: \${bad:-none}"
|
||||
echo "refusals since \$(echo $SINCE): \$(docker logs --since $SINCE felhom-controller 2>&1 | grep -ciE 'REFUSED a catalog definition|app_definition_refused|definition refused')"
|
||||
echo "ERROR lines since: \$(docker logs --since $SINCE felhom-controller 2>&1 | grep -c '\[ERROR\]')"
|
||||
docker logs --since $SINCE felhom-controller 2>&1 | grep '\[ERROR\]' | cut -c1-220 | tail -5
|
||||
echo "login page: \$(curl -sk -o /dev/null -w '%{http_code}' -H 'Host: felhom.$D' https://127.0.0.1/login)"
|
||||
echo "file manager: \$(curl -sk -o /dev/null -w '%{http_code}' -H 'Host: files.$D' https://127.0.0.1/)"
|
||||
for c in \$(docker ps --format '{{.Names}}'); do
|
||||
docker inspect \$c --format '{{json .Config.Labels}}' | grep -o 'Host(\`[^\`]*\`)' | sed 's/Host(\`//; s/\`)//' | sort -u | while read -r h; do
|
||||
echo "route \$h [\$c]: \$(curl -sk -m 20 -o /dev/null -w '%{http_code}' -H "Host: \$h" https://127.0.0.1/)"
|
||||
done
|
||||
done
|
||||
EOF
|
||||
@@ -0,0 +1,9 @@
|
||||
07:18:24 tester-1: traefik:v3.7.17|Up 13 minutes 0.350.0|Up 13 minutes ok demo-hp: traefik:v3.7.17|Up 13 minutes 0.350.0|Up 13 minutes ok demo-felhom: traefik:v3.7.17|Up 13 minutes 0.350.0|Up 13 minutes ok hub error/held/refused lines (3m): 0
|
||||
07:21:29 tester-1: traefik:v3.7.17|Up 16 minutes 0.350.0|Up 16 minutes ok demo-hp: traefik:v3.7.17|Up 16 minutes 0.350.0|Up 16 minutes ok demo-felhom: traefik:v3.7.17|Up 16 minutes 0.350.0|Up 16 minutes ok hub error/held/refused lines (3m): 0
|
||||
07:24:34 tester-1: traefik:v3.7.17|Up 19 minutes 0.350.0|Up 19 minutes ok demo-hp: traefik:v3.7.17|Up 19 minutes 0.350.0|Up 19 minutes ok demo-felhom: traefik:v3.7.17|Up 19 minutes 0.350.0|Up 20 minutes ok hub error/held/refused lines (3m): 0
|
||||
07:27:39 tester-1: traefik:v3.7.17|Up 22 minutes 0.350.0|Up 23 minutes ok demo-hp: traefik:v3.7.17|Up 22 minutes 0.350.0|Up 23 minutes ok demo-felhom: traefik:v3.7.17|Up 23 minutes 0.350.0|Up 23 minutes ok hub error/held/refused lines (3m): 0
|
||||
07:30:43 tester-1: traefik:v3.7.17|Up 25 minutes 0.350.0|Up 26 minutes ok demo-hp: traefik:v3.7.17|Up 25 minutes 0.350.0|Up 26 minutes ok demo-felhom: traefik:v3.7.17|Up 26 minutes 0.350.0|Up 26 minutes ok hub error/held/refused lines (3m): 0
|
||||
07:33:48 tester-1: traefik:v3.7.17|Up 29 minutes 0.350.0|Up 29 minutes ok demo-hp: traefik:v3.7.17|Up 28 minutes 0.350.0|Up 29 minutes ok demo-felhom: traefik:v3.7.17|Up 29 minutes 0.350.0|Up 29 minutes ok hub error/held/refused lines (3m): 0
|
||||
07:36:52 tester-1: traefik:v3.7.17|Up 32 minutes 0.350.0|Up 32 minutes ok demo-hp: traefik:v3.7.17|Up 31 minutes 0.350.0|Up 32 minutes ok demo-felhom: traefik:v3.7.17|Up 32 minutes 0.350.0|Up 32 minutes ok hub error/held/refused lines (3m): 0
|
||||
07:39:57 tester-1: traefik:v3.7.17|Up 35 minutes 0.350.0|Up 35 minutes ok demo-hp: traefik:v3.7.17|Up 35 minutes 0.350.0|Up 35 minutes ok demo-felhom: traefik:v3.7.17|Up 35 minutes 0.350.0|Up 35 minutes ok hub error/held/refused lines (3m): 2
|
||||
07:43:02 tester-1: traefik:v3.7.17|Up 38 minutes 0.350.0|Up 38 minutes ok demo-hp: traefik:v3.7.17|Up 38 minutes 0.350.0|Up 38 minutes ok demo-felhom: traefik:v3.7.17|Up 38 minutes 0.350.0|Up 38 minutes ok hub error/held/refused lines (3m): 0
|
||||
@@ -0,0 +1,3 @@
|
||||
2026-11-03T07:30:55Z
|
||||
HTTP 200
|
||||
Felhom — Doboz összekötése Felhom doboz összekötése Sikeres összekötés. A doboz kb. egy percen belül folytatja a telepítést. Ezt az oldalt bezárhatod — a beállítás a háttérben befejeződik, és a vezérlőpultod hamarosan e
|
||||
@@ -0,0 +1,236 @@
|
||||
Nov 03 08:30:23 box1103 systemd[1]: Starting felhom-bootstrap.service - Felhom host bootstrap (fetch + run felhom-host-install.sh unattended, retry until success)...
|
||||
Nov 03 08:30:23 box1103 felhom-bootstrap.sh[1217]: felhom-bootstrap: console: pvebanner.service masked (it would rewrite /etc/issue with the Proxmox admin URL on every boot)
|
||||
Nov 03 08:30:23 box1103 felhom-bootstrap.sh[1217]: felhom-bootstrap: console: /etc/issue is the Felhom text (no admin URL)
|
||||
Nov 03 08:30:24 box1103 felhom-bootstrap.sh[1217]: felhom-bootstrap: PAIRING mode (generic ISO, no baked customer/passphrase) — hub=https://hub.felhom.eu
|
||||
Nov 03 08:30:24 box1103 felhom-bootstrap.sh[1217]: felhom-bootstrap: registering unclaimed appliance at the hub
|
||||
Nov 03 08:30:24 box1103 felhom-bootstrap.sh[1217]: felhom-bootstrap: registered — appliance token stored (0600); waiting for the operator or a customer self-bind
|
||||
Nov 03 08:30:24 box1103 felhom-bootstrap.sh[1217]: felhom-bootstrap: console font -> Lat2-Terminus16 (Latin-2, ő/ű capable)
|
||||
Nov 03 08:30:24 box1103 felhom-bootstrap.sh[1217]: felhom-bootstrap: not bound yet — polling every 30s until the operator or a customer self-bind lands (this is the normal waiting state, not an error)
|
||||
Nov 03 08:30:39 box1103 systemd[1]: felhom-bootstrap.service: Main process exited, code=killed, status=15/TERM
|
||||
Nov 03 08:30:39 box1103 systemd[1]: felhom-bootstrap.service: Failed with result 'signal'.
|
||||
Nov 03 08:30:39 box1103 systemd[1]: Stopped felhom-bootstrap.service - Felhom host bootstrap (fetch + run felhom-host-install.sh unattended, retry until success).
|
||||
Nov 03 08:30:39 box1103 systemd[1]: Starting felhom-bootstrap.service - Felhom host bootstrap (fetch + run felhom-host-install.sh unattended, retry until success)...
|
||||
Nov 03 08:30:40 box1103 felhom-bootstrap.sh[1498]: felhom-bootstrap: console: pvebanner.service masked (it would rewrite /etc/issue with the Proxmox admin URL on every boot)
|
||||
Nov 03 08:30:40 box1103 felhom-bootstrap.sh[1498]: felhom-bootstrap: console: /etc/issue is the Felhom text (no admin URL)
|
||||
Nov 03 08:30:40 box1103 felhom-bootstrap.sh[1498]: felhom-bootstrap: PAIRING mode (generic ISO, no baked customer/passphrase) — hub=https://hub.felhom.eu
|
||||
Nov 03 08:30:40 box1103 felhom-bootstrap.sh[1498]: felhom-bootstrap: console font -> Lat2-Terminus16 (Latin-2, ő/ű capable)
|
||||
Nov 03 08:30:40 box1103 felhom-bootstrap.sh[1498]: felhom-bootstrap: not bound yet — polling every 30s until the operator or a customer self-bind lands (this is the normal waiting state, not an error)
|
||||
Nov 03 08:31:10 box1103 felhom-bootstrap.sh[1498]: felhom-bootstrap: bind DELIVERED — writing credentials to the env and switching to direct install
|
||||
Nov 03 08:31:10 box1103 felhom-bootstrap.sh[1498]: felhom-bootstrap: fetching host-install: https://felhom.eu/scripts/felhom-host-install.sh
|
||||
Nov 03 08:31:10 box1103 felhom-bootstrap.sh[1498]: felhom-bootstrap: running host-install (customer=Tester4 mode=appliance hub=https://hub.felhom.eu)
|
||||
Nov 03 08:31:10 box1103 felhom-bootstrap.sh[1716]: [INFO] auto-sized guest RAM: 5847 MiB (host 9943 MiB; clamp(host-4096, min 4096, max host-2048), ceiling host-1024)
|
||||
Nov 03 08:31:10 box1103 felhom-bootstrap.sh[1716]: [INFO] auto-sized guest cores: 5 (host 6 cores; host-1, min 2)
|
||||
Nov 03 08:31:10 box1103 felhom-bootstrap.sh[1716]: [INFO] felhom-host-install v1.36.1 — mode=appliance customer=Tester4 vmid=9201
|
||||
Nov 03 08:31:10 box1103 felhom-bootstrap.sh[1716]: [STEP] 1/8 pre-flight
|
||||
Nov 03 08:31:11 box1103 felhom-bootstrap.sh[1716]: [INFO] pve-manager/9.2.2/b9984c6d90a4bd80 (running kernel: 7.0.2-6-pve)
|
||||
Nov 03 08:31:13 box1103 felhom-bootstrap.sh[1716]: [INFO] node: box1103 (auto)
|
||||
Nov 03 08:31:13 box1103 felhom-bootstrap.sh[1716]: [INFO] agent config: /etc/felhom-agent/agent.json
|
||||
Nov 03 08:31:13 box1103 felhom-bootstrap.sh[1716]: [INFO] agent: not installed yet — will be fetched + installed in step 5/8
|
||||
Nov 03 08:31:13 box1103 felhom-bootstrap.sh[1716]: [INFO] local-lvm free: ~19 GiB
|
||||
Nov 03 08:31:13 box1103 felhom-bootstrap.sh[1716]: [WARN] local-lvm free ~19 GiB is below the recommended 120 GiB — the install continues; proceed only if you sized the grows deliberately
|
||||
Nov 03 08:31:13 box1103 felhom-bootstrap.sh[1716]: [INFO] free RAM: ~8277 MiB
|
||||
Nov 03 08:31:15 box1103 felhom-bootstrap.sh[1716]: [INFO] existing guests on this host: 0 (pct+qm)
|
||||
Nov 03 08:31:16 box1103 felhom-bootstrap.sh[1716]: [INFO] archive storage 'local' present
|
||||
Nov 03 08:31:19 box1103 felhom-bootstrap.sh[1716]: [INFO] acl storage 'felhom-pbs' not present yet — expected: the PBS-DR tier creates it; the grant is pre-positioned deliberately
|
||||
Nov 03 08:31:19 box1103 felhom-bootstrap.sh[1716]: [INFO] dnsmasq: not present before Felhom — recorded; uninstall will remove it again if we install it
|
||||
Nov 03 08:31:19 box1103 felhom-bootstrap.sh[1716]: [INFO] hub reachable (https://hub.felhom.eu)
|
||||
Nov 03 08:31:19 box1103 felhom-bootstrap.sh[1716]: [OK] customer 'Tester4' exists + passphrase valid
|
||||
Nov 03 08:31:20 box1103 felhom-bootstrap.sh[1716]: [INFO] golden: none local — will fetch + verify from Gitea in step 7/8
|
||||
Nov 03 08:31:23 box1103 felhom-bootstrap.sh[1716]: [OK] pre-flight passed
|
||||
Nov 03 08:31:23 box1103 felhom-bootstrap.sh[1716]: [STEP] 2/8 Proxmox API token
|
||||
Nov 03 08:31:28 box1103 felhom-bootstrap.sh[1716]: [OK] token minted (secret captured, not logged)
|
||||
Nov 03 08:31:57 box1103 felhom-bootstrap.sh[1716]: [OK] scoped ACL applied (Base@/, Guest@/pool/felhom + /vms/990000..990009, Store@[local local-lvm felhom-pbs])
|
||||
Nov 03 08:32:00 box1103 felhom-bootstrap.sh[1716]: [SKIP] old broad role FelhomAgent already absent
|
||||
Nov 03 08:32:01 box1103 felhom-bootstrap.sh[1716]: [STEP] 3/8 compute volume grows
|
||||
Nov 03 08:32:01 box1103 felhom-bootstrap.sh[1716]: [INFO] auto-computed from a 19 GiB thin pool (16 §7: 50/100/130 GiB)
|
||||
Nov 03 08:32:01 box1103 felhom-bootstrap.sh[1716]: [INFO] grows: rootfs +0G (->32G), data +26G (->50G, ONE volume)
|
||||
Nov 03 08:32:01 box1103 felhom-bootstrap.sh[1716]: [STEP] 4/8 host enrollment (POST /host-enroll)
|
||||
Nov 03 08:32:12 box1103 felhom-bootstrap.sh[1716]: [OK] host MINTED (first enroll)
|
||||
Nov 03 08:32:12 box1103 felhom-bootstrap.sh[1716]: [INFO] host_id: Tester4-58b20b (api_key captured, not logged)
|
||||
Nov 03 08:32:12 box1103 felhom-bootstrap.sh[1716]: [STEP] 4b/8 break-glass credential (root@pam console password → hub vault)
|
||||
Nov 03 08:32:12 box1103 felhom-bootstrap.sh[1716]: [INFO] recovery password vaulted at the hub (stored) — now setting it on root@pam
|
||||
Nov 03 08:32:12 box1103 chpasswd[2217]: pam_unix(chpasswd:chauthtok): password changed for root
|
||||
Nov 03 08:32:13 box1103 felhom-bootstrap.sh[1716]: [OK] root@pam password vaulted, set, and the PVE login takes it (retrieve via the operator /admin path; never logged here)
|
||||
Nov 03 08:32:13 box1103 felhom-bootstrap.sh[1716]: [WARN] NOTE: the root@pam password just CHANGED — the old one now fails at the PVE web GUI (:8006).
|
||||
Nov 03 08:32:13 box1103 felhom-bootstrap.sh[1716]: [WARN] Retrieve the new one at hub → host page (vaulted recovery credential).
|
||||
Nov 03 08:32:13 box1103 felhom-bootstrap.sh[1716]: [STEP] 5/8 agent install (fetch + verify + install)
|
||||
Nov 03 08:32:13 box1103 felhom-bootstrap.sh[1716]: [INFO] disabled pve-enterprise.sources (Enabled: no)
|
||||
Nov 03 08:32:13 box1103 felhom-bootstrap.sh[1716]: [INFO] disabled ceph.sources (Enabled: no)
|
||||
Nov 03 08:32:13 box1103 felhom-bootstrap.sh[1716]: [INFO] added pve-no-subscription.sources (suite=trixie)
|
||||
Nov 03 08:32:14 box1103 felhom-bootstrap.sh[1716]: [OK] apt repos aligned to no-subscription (changed; apt-get update OK)
|
||||
Nov 03 08:32:15 box1103 felhom-bootstrap.sh[1716]: [WARN] no git credential in controller.yaml — fetching artifacts ANONYMOUSLY (they are world-readable; sha256 verification unchanged)
|
||||
Nov 03 08:32:15 box1103 felhom-bootstrap.sh[1716]: [INFO] manifest: agent v0.171.0 (sha c888ca7ba22a1f68…), golden v0.344.0
|
||||
Nov 03 08:32:15 box1103 felhom-bootstrap.sh[1716]: [INFO] fetching agent binary v0.171.0 from Gitea …
|
||||
Nov 03 08:32:15 box1103 felhom-bootstrap.sh[1716]: [OK] verified sha256 c888ca7ba22a1f68… matches the hub manifest
|
||||
Nov 03 08:32:15 box1103 felhom-bootstrap.sh[1716]: [OK] installed /usr/local/bin/felhom-agent (felhom-agent 0.171.0)
|
||||
Nov 03 08:32:15 box1103 felhom-bootstrap.sh[1716]: [INFO] installing the 'sudo' package (required for the non-root agent model) …
|
||||
Nov 03 08:32:20 box1103 felhom-bootstrap.sh[1716]: [OK] sudo installed (Sudo version 1.9.16p2)
|
||||
Nov 03 08:32:20 box1103 felhom-bootstrap.sh[1716]: [INFO] installing the 'age' package (escrow ceremony identity-wrap dependency) …
|
||||
Nov 03 08:32:24 box1103 felhom-bootstrap.sh[1716]: [OK] age installed (1.2.1)
|
||||
Nov 03 08:32:24 box1103 useradd[2507]: new group: name=felhom-agent, GID=990
|
||||
Nov 03 08:32:24 box1103 useradd[2507]: new user: name=felhom-agent, UID=999, GID=990, home=/home/felhom-agent, shell=/usr/sbin/nologin, from=none
|
||||
Nov 03 08:32:24 box1103 felhom-bootstrap.sh[1716]: [OK] created service user felhom-agent
|
||||
Nov 03 08:32:24 box1103 usermod[2515]: add 'felhom-agent' to group 'systemd-journal'
|
||||
Nov 03 08:32:24 box1103 usermod[2515]: add 'felhom-agent' to shadow group 'systemd-journal'
|
||||
Nov 03 08:32:24 box1103 felhom-bootstrap.sh[1716]: [OK] added felhom-agent to systemd-journal (unprivileged journal read for NAS verify)
|
||||
Nov 03 08:32:26 box1103 useradd[2532]: new group: name=felhom-op, GID=1000
|
||||
Nov 03 08:32:26 box1103 useradd[2532]: new user: name=felhom-op, UID=1000, GID=1000, home=/home/felhom-op, shell=/bin/bash, from=none
|
||||
Nov 03 08:32:26 box1103 felhom-bootstrap.sh[1716]: [OK] verified sha256 95f977f6dc827185… matches the hub manifest
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2570]: os-apply: BUNDLE START agent=0.171.0 sha=95f977f6dc827185 authority=installer files=32 write=31 same=1 kept=0 skipped=0
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2571]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-mkfs-guarded (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2572]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-selfupdate-guarded (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2573]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-pbs-apply (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2574]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-backup-target-apply (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2575]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-vzdump-partial-clean (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2576]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-thin-check (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2577]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-internal-place (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2578]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-crash-guard (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2579]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-priv-apply (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2580]: os-apply: BUNDLE WROTE /var/lib/vz/snippets/felhom-guest-hook.sh (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2581]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-shared-parent.sh (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2582]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-shared-parent.service (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2583]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-crash-guard.service (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2584]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-crash-guard-check.service (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2585]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-crash-guard-check.timer (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2586]: os-apply: BUNDLE WROTE /etc/felhom/crash-guard.conf (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2587]: os-apply: BUNDLE WROTE /etc/grub.d/01_felhom_oneshot (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2588]: os-apply: BUNDLE WROTE /etc/grub.d/42_felhom_oneshot (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2589]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-agent.service (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2590]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-agent-rollback.service (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2591]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-agent.service.d/felhom-agent-limits.conf (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2592]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-mgmt-watchdog (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2593]: os-apply: BUNDLE WROTE /etc/tmpfiles.d/felhom-privsep.conf (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2594]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-mgmt-watchdog.service (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2595]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-mgmt-watchdog.timer (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2596]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-sshd.service (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2597]: os-apply: BUNDLE WROTE /etc/felhom-oob.nft (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2598]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-oob-nft.service (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2599]: os-apply: BUNDLE WROTE /etc/ssh/sshd_config.d/10-felhom-root-key-only.conf (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2600]: os-apply: BUNDLE WROTE /etc/sudoers.d/felhom-op (new)
|
||||
Nov 03 08:32:27 box1103 felhom-os-apply[2601]: os-apply: BUNDLE WROTE /etc/sudoers.d/felhom-agent (new)
|
||||
Nov 03 08:32:28 box1103 felhom-os-apply[2730]: os-apply: BUNDLE DONE agent=0.171.0 written=31 same=1 self-check=ok signers-created=False
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE START agent=0.171.0 sha=95f977f6dc827185 authority=installer files=32 write=31 same=1 kept=0 skipped=0
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-mkfs-guarded (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-selfupdate-guarded (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-pbs-apply (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-backup-target-apply (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-vzdump-partial-clean (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-thin-check (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-internal-place (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-crash-guard (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-priv-apply (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /var/lib/vz/snippets/felhom-guest-hook.sh (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-shared-parent.sh (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-shared-parent.service (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-crash-guard.service (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-crash-guard-check.service (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-crash-guard-check.timer (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/felhom/crash-guard.conf (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/grub.d/01_felhom_oneshot (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/grub.d/42_felhom_oneshot (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-agent.service (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-agent-rollback.service (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-agent.service.d/felhom-agent-limits.conf (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /usr/local/sbin/felhom-mgmt-watchdog (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/tmpfiles.d/felhom-privsep.conf (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-mgmt-watchdog.service (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-mgmt-watchdog.timer (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-sshd.service (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/felhom-oob.nft (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/systemd/system/felhom-oob-nft.service (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/ssh/sshd_config.d/10-felhom-root-key-only.conf (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/sudoers.d/felhom-op (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE WROTE /etc/sudoers.d/felhom-agent (new)
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[2733]: os-apply: BUNDLE DONE agent=0.171.0 written=31 same=1 self-check=ok signers-created=False
|
||||
Nov 03 08:32:28 box1103 felhom-bootstrap.sh[1716]: [OK] installed every root-owned file from config bundle v0.171.0 (sha 95f977f6dc827185…; checked, previous copies kept)
|
||||
Nov 03 08:32:29 box1103 felhom-bootstrap.sh[1716]: [OK] OOB felhom-sshd instance + static belt from the bundle (agent renders config + fills sets once oob.enabled)
|
||||
Nov 03 08:32:29 box1103 felhom-bootstrap.sh[1716]: [STEP] 5b/8 internal data place (Belső tárhely)
|
||||
Nov 03 08:32:31 box1103 felhom-bootstrap.sh[1716]: [INFO] no internal place: only -79 GiB free for it (pool 19, reserve 16, promised 0, planned 82; needs 20)
|
||||
Nov 03 08:32:31 box1103 felhom-bootstrap.sh[1716]: [STEP] 6/8 agent config + service
|
||||
Nov 03 08:32:32 box1103 felhom-bootstrap.sh[1716]: [WARN] backup target: DEGRADED — no eligible second drive, so the whole-system backup stays on the SYSTEM drive.
|
||||
Nov 03 08:32:32 box1103 felhom-bootstrap.sh[1716]: [WARN] It protects against file corruption but NOT against a disk failure. Attach a second drive and assign it in the dashboard.
|
||||
Nov 03 08:32:32 box1103 felhom-bootstrap.sh[1716]: [INFO] creating island bridge vmbr9 (portless, 169.254.253.1/30)
|
||||
Nov 03 08:32:32 box1103 felhom-bootstrap.sh[1716]: [OK] vmbr9 up: 169.254.253.1/30
|
||||
Nov 03 08:32:32 box1103 felhom-bootstrap.sh[1716]: [INFO] R-50 island ON: local_api=169.254.253.1:8443 (vmbr9); guest net1=169.254.253.2/30; lan_resolver.host_ip=192.168.0.126
|
||||
Nov 03 08:32:32 box1103 felhom-bootstrap.sh[1716]: [INFO] node=box1103 local_api=169.254.253.1:8443 tls_fp=DE:30:AC:4C:D2:A4…
|
||||
Nov 03 08:32:33 box1103 felhom-bootstrap.sh[1716]: [OK] wrote /etc/felhom-agent/agent.json (0600 felhom-agent)
|
||||
Nov 03 08:32:33 box1103 felhom-bootstrap.sh[1716]: [OK] agent --selftest (read-only) passed
|
||||
Nov 03 08:32:36 box1103 felhom-bootstrap.sh[1716]: [OK] felhom-agent service active (non-root felhom-agent reads the config OK)
|
||||
Nov 03 08:32:36 box1103 felhom-bootstrap.sh[1716]: [OK] wrote /etc/felhom/os-trust.json + operator-signers (felhom-op-1) — the root-owned slow-lane anchors
|
||||
Nov 03 08:32:36 box1103 felhom-bootstrap.sh[1716]: [STEP] 7/8 golden archive
|
||||
Nov 03 08:32:36 box1103 felhom-bootstrap.sh[1716]: [WARN] no git credential in controller.yaml — fetching artifacts ANONYMOUSLY (they are world-readable; sha256 verification unchanged)
|
||||
Nov 03 08:32:37 box1103 felhom-bootstrap.sh[1716]: [INFO] fetching golden v0.344.0 from Gitea → /var/lib/vz/dump/vzdump-lxc-9100-2026_11_03-08_32_37.tar.zst
|
||||
Nov 03 08:32:47 box1103 felhom-bootstrap.sh[1716]: [OK] verified sha256 767a90fe07ed47c8… matches the hub manifest
|
||||
Nov 03 08:32:47 box1103 felhom-bootstrap.sh[1716]: [OK] golden imported + verified: local:backup/vzdump-lxc-9100-2026_11_03-08_32_37.tar.zst
|
||||
Nov 03 08:32:48 box1103 felhom-bootstrap.sh[1716]: [STEP] 8/8 provision guest 9201
|
||||
Nov 03 08:32:49 box1103 felhom-bootstrap.sh[1716]: [SKIP] pool felhom already exists
|
||||
Nov 03 08:32:49 box1103 felhom-bootstrap.sh[4074]: === felhom-agent 0.171.0 selftest=provision (vmid=9201 customer=Tester4 hostname=tester4) ===
|
||||
Nov 03 08:32:49 box1103 felhom-bootstrap.sh[4074]: --- front half: bring-up (provision) local:backup/vzdump-lxc-9100-2026_11_03-08_32_37.tar.zst → vmid 9201 ---
|
||||
Nov 03 08:34:03 box1103 felhom-bootstrap.sh[4074]: time=2026-11-03T08:34:03.294+01:00 level=INFO msg="bring-up: pool membership re-asserted" vmid=9201 pool=felhom
|
||||
Nov 03 08:34:03 box1103 felhom-bootstrap.sh[4074]: [OK] front half: vmid 9201 up (boot+running) in 1m14s; MAC=BC:24:11:B5:1C:21
|
||||
Nov 03 08:34:03 box1103 felhom-bootstrap.sh[4074]: --- back half: mint per-guest token + populate bootstrap config mount ---
|
||||
Nov 03 08:34:03 box1103 sudo[5461]: root : PWD=/ ; USER=root ; COMMAND=/usr/bin/chown --reference=/var/lib/felhom-agent /var/lib/felhom-agent/guests /var/lib/felhom-agent/guests/9201
|
||||
Nov 03 08:34:03 box1103 sudo[5461]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
|
||||
Nov 03 08:34:03 box1103 sudo[5461]: pam_unix(sudo:session): session closed for user root
|
||||
Nov 03 08:34:03 box1103 sudo[5464]: root : PWD=/ ; USER=root ; COMMAND=/usr/bin/chown -R 100000:100000 /var/lib/felhom-agent/guests/9201/bootstrap
|
||||
Nov 03 08:34:03 box1103 sudo[5464]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
|
||||
Nov 03 08:34:03 box1103 sudo[5464]: pam_unix(sudo:session): session closed for user root
|
||||
Nov 03 08:34:03 box1103 sudo[5467]: root : PWD=/ ; USER=root ; COMMAND=/usr/sbin/pct set 9201 -mp9 /var/lib/felhom-agent/guests/9201/bootstrap,mp=/etc/felhom-bootstrap,ro=1
|
||||
Nov 03 08:34:03 box1103 sudo[5467]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
|
||||
Nov 03 08:34:04 box1103 sudo[5467]: pam_unix(sudo:session): session closed for user root
|
||||
Nov 03 08:34:04 box1103 sudo[5514]: root : PWD=/ ; USER=root ; COMMAND=/usr/sbin/pct set 9201 -onboot 1
|
||||
Nov 03 08:34:04 box1103 sudo[5514]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
|
||||
Nov 03 08:34:05 box1103 sudo[5514]: pam_unix(sudo:session): session closed for user root
|
||||
Nov 03 08:34:05 box1103 sudo[5824]: root : PWD=/ ; USER=root ; COMMAND=/usr/sbin/pct set 9201 --hookscript local:snippets/felhom-guest-hook.sh
|
||||
Nov 03 08:34:05 box1103 sudo[5824]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
|
||||
Nov 03 08:34:06 box1103 sudo[5824]: pam_unix(sudo:session): session closed for user root
|
||||
Nov 03 08:34:06 box1103 sudo[6230]: root : PWD=/ ; USER=root ; COMMAND=/usr/bin/mkdir -p /mnt/felhom-drives
|
||||
Nov 03 08:34:06 box1103 sudo[6230]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
|
||||
Nov 03 08:34:06 box1103 sudo[6230]: pam_unix(sudo:session): session closed for user root
|
||||
Nov 03 08:34:06 box1103 sudo[6233]: root : PWD=/ ; USER=root ; COMMAND=/usr/sbin/pct set 9201 -mp8 /mnt/felhom-drives,mp=/mnt/felhom-drives
|
||||
Nov 03 08:34:06 box1103 sudo[6233]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
|
||||
Nov 03 08:34:08 box1103 sudo[6233]: pam_unix(sudo:session): session closed for user root
|
||||
Nov 03 08:34:08 box1103 felhom-bootstrap.sh[4074]: time=2026-11-03T08:34:08.121+01:00 level=INFO msg="provision: back-half complete" vmid=9201 mount=mp9 guest_path=/etc/felhom-bootstrap endpoint=169.254.253.1:8443
|
||||
Nov 03 08:34:08 box1103 felhom-bootstrap.sh[4074]: [OK] back half: bootstrap mount mp9 → /etc/felhom-bootstrap on vmid 9201 (host dir /var/lib/felhom-agent/guests/9201/bootstrap)
|
||||
Nov 03 08:34:08 box1103 felhom-bootstrap.sh[4074]: local-api endpoint 169.254.253.1:8443 · leaf fp <long> · token: minted (not printed)
|
||||
Nov 03 08:34:08 box1103 felhom-bootstrap.sh[4074]: === selftest=provision OK — guest 9201 provisioned + bootstrap-mounted (KEPT) ===
|
||||
Nov 03 08:34:08 box1103 felhom-bootstrap.sh[4074]: next: reboot the guest → the golden's baked controller-bootstrap unit deploys the controller,
|
||||
Nov 03 08:34:08 box1103 felhom-bootstrap.sh[4074]: which PULLS its controller.yaml from the hub (retrieval passphrase) and merges in this local_api.
|
||||
Nov 03 08:34:08 box1103 felhom-bootstrap.sh[1716]: [OK] provision completed
|
||||
Nov 03 08:34:08 box1103 felhom-bootstrap.sh[1716]: [INFO] rebooting guest 9201 so the baked controller-bootstrap unit picks up the mount
|
||||
Nov 03 08:34:09 box1103 pct[6392]: <root@pam> starting task UPID:box1103:000018FE:00005F56:6AE98E71:vzreboot:9201:root@pam:
|
||||
Nov 03 08:34:09 box1103 pct[6398]: requesting reboot of CT 9201: UPID:box1103:000018FE:00005F56:6AE98E71:vzreboot:9201:root@pam:
|
||||
Nov 03 08:34:19 box1103 pct[6392]: <root@pam> end task UPID:box1103:000018FE:00005F56:6AE98E71:vzreboot:9201:root@pam: OK
|
||||
Nov 03 08:34:19 box1103 felhom-bootstrap.sh[1716]: [STEP] verify
|
||||
Nov 03 08:34:20 box1103 felhom-bootstrap.sh[1716]: [OK] pct status: running
|
||||
Nov 03 08:34:22 box1103 felhom-bootstrap.sh[1716]: [OK] onboot: 1
|
||||
Nov 03 08:34:23 box1103 felhom-bootstrap.sh[7448]: mp0: local-lvm:vm-9201-disk-1,mp=/var/lib/felhom,backup=1,size=50G
|
||||
Nov 03 08:34:23 box1103 felhom-bootstrap.sh[7448]: mp8: /mnt/felhom-drives,mp=/mnt/felhom-drives
|
||||
Nov 03 08:34:23 box1103 felhom-bootstrap.sh[7448]: rootfs: local-lvm:vm-9201-disk-0,size=32G
|
||||
Nov 03 08:34:25 box1103 felhom-bootstrap.sh[1716]: [OK] pool: guest 9201 is a member of felhom
|
||||
Nov 03 08:34:26 box1103 felhom-bootstrap.sh[1716]: [OK] acl: FelhomAgentBase@/ present (user+token)
|
||||
Nov 03 08:34:27 box1103 felhom-bootstrap.sh[1716]: [OK] acl: FelhomAgentGuest@/pool/felhom present (user+token)
|
||||
Nov 03 08:34:28 box1103 felhom-bootstrap.sh[1716]: [OK] acl: FelhomAgentStore@/storage/local present (user+token)
|
||||
Nov 03 08:34:30 box1103 felhom-bootstrap.sh[1716]: [OK] acl: FelhomAgentStore@/storage/local-lvm present (user+token)
|
||||
Nov 03 08:34:31 box1103 felhom-bootstrap.sh[1716]: [OK] acl: FelhomAgentStore@/storage/felhom-pbs present (user+token)
|
||||
Nov 03 08:34:33 box1103 felhom-bootstrap.sh[1716]: [OK] acl: FelhomAgentGuest@/vms/990000 present (user+token)
|
||||
Nov 03 08:34:34 box1103 felhom-bootstrap.sh[1716]: [OK] acl: FelhomAgentGuest@/vms/990001 present (user+token)
|
||||
Nov 03 08:34:35 box1103 felhom-bootstrap.sh[1716]: [OK] acl: FelhomAgentGuest@/vms/990002 present (user+token)
|
||||
Nov 03 08:34:37 box1103 felhom-bootstrap.sh[1716]: [OK] acl: FelhomAgentGuest@/vms/990003 present (user+token)
|
||||
Nov 03 08:34:40 box1103 felhom-bootstrap.sh[1716]: [OK] acl: FelhomAgentGuest@/vms/990004 present (user+token)
|
||||
Nov 03 08:34:42 box1103 felhom-bootstrap.sh[1716]: [OK] acl: FelhomAgentGuest@/vms/990005 present (user+token)
|
||||
Nov 03 08:34:43 box1103 felhom-bootstrap.sh[1716]: [OK] acl: FelhomAgentGuest@/vms/990006 present (user+token)
|
||||
Nov 03 08:34:45 box1103 felhom-bootstrap.sh[1716]: [OK] acl: FelhomAgentGuest@/vms/990007 present (user+token)
|
||||
Nov 03 08:34:46 box1103 felhom-bootstrap.sh[1716]: [OK] acl: FelhomAgentGuest@/vms/990008 present (user+token)
|
||||
Nov 03 08:34:47 box1103 felhom-bootstrap.sh[1716]: [OK] acl: FelhomAgentGuest@/vms/990009 present (user+token)
|
||||
Nov 03 08:34:47 box1103 felhom-bootstrap.sh[1716]: [OK] authz signers: 2 (operator-signed self-update armed)
|
||||
Nov 03 08:34:48 box1103 felhom-bootstrap.sh[1716]: [OK] controller: Up 8 seconds (healthy) (after ~0s)
|
||||
Nov 03 08:34:50 box1103 felhom-bootstrap.sh[1716]: [INFO] controller image: gitea.dooplex.hu/admin/felhom-controller:0.350.0
|
||||
Nov 03 08:34:51 box1103 felhom-bootstrap.sh[1716]: [WARN] cloudflared not visible yet
|
||||
Nov 03 08:34:51 box1103 felhom-bootstrap.sh[1716]: [INFO] (confirm in the hub UI that host Tester4-58b20b reports guest 9201)
|
||||
Nov 03 08:34:51 box1103 felhom-bootstrap.sh[1716]: [OK] Day-0 provision SUCCESS — vmid=9201 host_id=Tester4-58b20b customer=Tester4 golden=local:backup/vzdump-lxc-9100-2026_11_03-08_32_37.tar.zst
|
||||
Nov 03 08:34:51 box1103 felhom-bootstrap.sh[1716]: [INFO] root@pam was rotated + vaulted at step 4b — retrieve at hub → host page (the old GUI password no longer works).
|
||||
Nov 03 08:34:51 box1103 felhom-bootstrap.sh[1498]: felhom-bootstrap: host-install SUCCESS — writing done-flag, disabling unit, scrubbing secrets
|
||||
Nov 03 08:34:51 box1103 systemd[1]: felhom-bootstrap.service: Deactivated successfully.
|
||||
Nov 03 08:34:51 box1103 systemd[1]: Finished felhom-bootstrap.service - Felhom host bootstrap (fetch + run felhom-host-install.sh unattended, retry until success).
|
||||
Nov 03 08:34:51 box1103 systemd[1]: felhom-bootstrap.service: Consumed 1min 54.782s CPU time, 887.9M memory peak.
|
||||
|
After Width: | Height: | Size: 90 KiB |
|
After Width: | Height: | Size: 155 KiB |
|
After Width: | Height: | Size: 136 KiB |
|
After Width: | Height: | Size: 129 KiB |
|
After Width: | Height: | Size: 133 KiB |
|
After Width: | Height: | Size: 148 KiB |
|
After Width: | Height: | Size: 132 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 140 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
@@ -0,0 +1 @@
|
||||
Install pressed 07:26:33Z
|
||||
@@ -0,0 +1,2 @@
|
||||
479a480
|
||||
> ART_AGENT_VER=0.172.0; ART_AGENT_SHA=2c0222cd01713f65c627d6d17c18b4a8b2b1e0c39881db0df7ccb17de48e24c7; ART_BUNDLE_SHA=cc34b0bc3346ffd6
|
||||
@@ -0,0 +1,111 @@
|
||||
|
||||
[0;32m[INFO][0m felhom-host-install v1.36.1 — mode=uninstall
|
||||
|
||||
[0;34m[STEP][0m UNINSTALL — local host teardown
|
||||
[0;32m[INFO][0m vmid 9201 looks like a Felhom guest (has the /etc/felhom-bootstrap mount)
|
||||
[0;32m[INFO][0m pct config 9201:
|
||||
arch: amd64
|
||||
cores: 5
|
||||
features: nesting=1,keyctl=1
|
||||
hookscript: local:snippets/felhom-guest-hook.sh
|
||||
hostname: tester4
|
||||
memory: 5847
|
||||
mp0: local-lvm:vm-9201-disk-1,mp=/var/lib/felhom,backup=1,size=50G
|
||||
mp8: /mnt/felhom-drives,mp=/mnt/felhom-drives
|
||||
mp9: /var/lib/felhom-agent/guests/9201/bootstrap,mp=/etc/felhom-bootstrap,ro=1
|
||||
net0: name=eth0,bridge=vmbr0,hwaddr=BC:24:11:B5:1C:21,ip=dhcp,type=veth
|
||||
net1: name=eth1,bridge=vmbr9,hwaddr=BC:24:11:F5:D8:D1,ip=169.254.253.2/30,type=veth
|
||||
onboot: 1
|
||||
ostype: debian
|
||||
rootfs: local-lvm:vm-9201-disk-0,size=32G
|
||||
swap: 5847
|
||||
unprivileged: 1
|
||||
Type the vmid (9201) to confirm PERMANENT destruction: 9201
|
||||
Logical volume "vm-9201-disk-0" successfully removed.
|
||||
Logical volume "vm-9201-disk-1" successfully removed.
|
||||
[0;32m[OK][0m guest 9201 destroyed
|
||||
[0;34m[STEP][0m host-level removal
|
||||
Removed '/etc/systemd/system/multi-user.target.wants/felhom-agent.service'.
|
||||
[0;32m[OK][0m removed /etc/felhom-agent (the agent config and every copy of it)
|
||||
Removed '/etc/systemd/system/multi-user.target.wants/wg-quick@wg-felhom.service'.
|
||||
[0;32m[OK][0m WireGuard tunnel to the Felhom off-site endpoint is down (wg-quick@wg-felhom disabled, conf removed)
|
||||
Removed '/etc/systemd/system/timers.target.wants/felhom-mgmt-watchdog.timer'.
|
||||
Removed '/etc/systemd/system/multi-user.target.wants/felhom-sshd.service'.
|
||||
Removed '/etc/systemd/system/multi-user.target.wants/felhom-oob-nft.service'.
|
||||
[0;1;39mThe unit files have no installation config (WantedBy=, RequiredBy=, UpheldBy=,[0m
|
||||
[0;1;39mAlso=, or Alias= settings in the [Install] section, and DefaultInstance= for[0m
|
||||
[0;1;39mtemplate units). This means they are not meant to be enabled or disabled using systemctl.[0m
|
||||
[0;1;39m [0m
|
||||
[0;1;39mPossible reasons for having these kinds of units are:[0m
|
||||
[0;1;39m• A unit may be statically enabled by being symlinked from another unit's[0m
|
||||
[0;1;39m .wants/, .requires/, or .upholds/ directory.[0m
|
||||
[0;1;39m• A unit's purpose may be to act as a helper for some other unit which has[0m
|
||||
[0;1;39m a requirement dependency on it.[0m
|
||||
[0;1;39m• A unit may be started when needed via activation (socket, path, timer,[0m
|
||||
[0;1;39m D-Bus, udev, scripted systemctl call, ...).[0m
|
||||
[0;1;39m• In case of template units, the unit is meant to be enabled with some[0m
|
||||
[0;1;39m instance name specified.[0m
|
||||
Removed '/etc/systemd/system/pve-guests.service.wants/felhom-shared-parent.service'.
|
||||
Removed '/etc/systemd/system/multi-user.target.wants/felhom-shared-parent.service'.
|
||||
Generating grub configuration file ...
|
||||
Found linux image: /boot/vmlinuz-7.0.2-6-pve
|
||||
Found initrd image: /boot/initrd.img-7.0.2-6-pve
|
||||
Found memtest86+ 64bit EFI image: /boot/memtest86+x64.efi
|
||||
Found memtest86+ 32bit EFI image: /boot/memtest86+ia32.efi
|
||||
Found memtest86+ 64bit image: /boot/memtest86+x64.bin
|
||||
Found memtest86+ 32bit image: /boot/memtest86+ia32.bin
|
||||
Adding boot menu entry for UEFI Firmware Settings ...
|
||||
done
|
||||
[0;32m[INFO][0m dnsmasq was installed by Felhom (recorded at install) — stopping + disabling it
|
||||
Synchronizing state of dnsmasq.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
|
||||
Executing: /usr/lib/systemd/systemd-sysv-install disable dnsmasq
|
||||
Removed '/etc/systemd/system/multi-user.target.wants/dnsmasq.service'.
|
||||
[0;32m[INFO][0m dnsmasq: removing the package(s) Felhom installed: dnsmasq dnsmasq-base
|
||||
Reading package lists... 0%Reading package lists... 100%Reading package lists... Done
|
||||
Building dependency tree... 0%Building dependency tree... 0%Building dependency tree... 50%Building dependency tree... 50%Building dependency tree... Done
|
||||
Reading state information... 0% Reading state information... 48%Reading state information... Done
|
||||
The following packages will be REMOVED:
|
||||
dnsmasq* dnsmasq-base*
|
||||
0 upgraded, 0 newly installed, 2 to remove and 194 not upgraded.
|
||||
After this operation, 1,303 kB disk space will be freed.
|
||||
(Reading database ... (Reading database ... 5%(Reading database ... 10%(Reading database ... 15%(Reading database ... 20%(Reading database ... 25%(Reading database ... 30%(Reading database ... 35%(Reading database ... 40%(Reading database ... 45%(Reading database ... 50%(Reading database ... 55%(Reading database ... 60%(Reading database ... 65%(Reading database ... 70%(Reading database ... 75%(Reading database ... 80%(Reading database ... 85%(Reading database ... 90%(Reading database ... 95%(Reading database ... 100%(Reading database ... 52606 files and directories currently installed.)
|
||||
Removing dnsmasq (2.91-1+deb13u2) ...
|
||||
Removing dnsmasq-base (2.91-1+deb13u2) ...
|
||||
Processing triggers for dbus (1.16.2-2) ...
|
||||
Processing triggers for man-db (2.13.1-1) ...
|
||||
(Reading database ... (Reading database ... 5%(Reading database ... 10%(Reading database ... 15%(Reading database ... 20%(Reading database ... 25%(Reading database ... 30%(Reading database ... 35%(Reading database ... 40%(Reading database ... 45%(Reading database ... 50%(Reading database ... 55%(Reading database ... 60%(Reading database ... 65%(Reading database ... 70%(Reading database ... 75%(Reading database ... 80%(Reading database ... 85%(Reading database ... 90%(Reading database ... 95%(Reading database ... 100%(Reading database ... 52554 files and directories currently installed.)
|
||||
Purging configuration files for dnsmasq-base (2.91-1+deb13u2) ...
|
||||
Purging configuration files for dnsmasq (2.91-1+deb13u2) ...
|
||||
[0;32m[OK][0m dnsmasq removed — the next install starts from a clean slate, as a first install
|
||||
[0;36m[SKIP][0m old broad role FelhomAgent already absent
|
||||
Removed volume 'local:backup/vzdump-lxc-9100-2026_11_03-08_32_37.tar.zst'
|
||||
[0;32m[OK][0m removed golden vzdump(s) from local
|
||||
|
||||
[0;34m[STEP][0m kept vs wiped — read before pulling drives or closing the customer out
|
||||
WIPED (this run):
|
||||
- guest 9201 (container + its OS/Docker/user-data volumes)
|
||||
- the felhom-agent: binary, unit, sudoers (+ its copies), state dir, service user, and its config
|
||||
directory with every copy of the config in it
|
||||
- the WireGuard tunnel to the Felhom off-site endpoint (wg-quick@wg-felhom disabled, /etc/wireguard/wg-felhom.conf removed)
|
||||
- self-update artifacts: guarded wrapper, A/B slots (.prev/.new.*), rollback unit, start-limit drop-in
|
||||
- break-glass watchdog + OOB artifacts (where present); guest-hook snippet; dnsmasq snippets; the mkfs, pbs-apply,
|
||||
backup-target-apply, os-apply and priv-apply wrappers; the crash guard; the config-bundle record
|
||||
- pveum: the Felhom roles/user/token/scoped ACL; the emptied felhom pool
|
||||
- the install state file
|
||||
- the golden vzdump (--remove-golden)
|
||||
KEPT (lives on deliberately — remove/rotate these out-of-band if the customer is leaving):
|
||||
- the enrolled drives + ALL data under /mnt/felhom-drives — unmounted only, NEVER wiped;
|
||||
the drives are physically removable now.
|
||||
- the hub host/customer record + report history (operator UI / DB)
|
||||
- this host's WireGuard PEER on the hub and the off-site endpoint (its /32 and public key) — the
|
||||
tunnel is down from this side; delete the peer in the hub (operator) if the customer is leaving
|
||||
- the vmbr9 island bridge stanza in /etc/network/interfaces (host-internal, no port; a reinstall
|
||||
reuses it) — to remove it: delete the stanza, then ifreload -a
|
||||
- the appliance ISO's first-boot files: /etc/felhom/.bootstrap-done, /etc/felhom/appliance-pairing-code,
|
||||
felhom-bootstrap.service (disabled, fired once) — not this script's; remove by hand if wanted
|
||||
- the escrow blob in the hub, if one exists (operator UI)
|
||||
- the hub-vaulted root@pam recovery credential — the box KEEPS the password step 4b set; rotate it if the box leaves Felhom management
|
||||
|
||||
[0;32m[OK][0m UNINSTALL complete — removed: guest 9201, the felhom-agent (unit/sudoers/binary/state/config+baks/user + selfupdate-artifacts/shared-parent/mkfs-wrapper/pbs-apply-wrapper/hook-snippet/dnsmasq-snippets), the pveum role/user/token/ACL, the felhom pool, and /var/lib/felhom-install/state.json.
|
||||
[0;32m[INFO][0m golden vzdump: removed.
|
||||
[0;32m[INFO][0m NOTE: the 'sudo' package was left INSTALLED (a system package, never ours to remove). dnsmasq is removed only when the install-time record says Felhom installed it; a resolver that pre-dated Felhom is never touched. The host record still exists in the hub — remove it there if desired.
|
||||
@@ -0,0 +1,21 @@
|
||||
Formatting '/mnt/hdd_1/images/9383/vm-9383-disk-0.raw', fmt=raw size=68719476736 preallocation=off
|
||||
scsi0: successfully created disk 'nvme-scratch:9383/vm-9383-disk-0.raw,size=64G'
|
||||
Formatting '/mnt/hdd_1/images/9383/vm-9383-disk-1.raw', fmt=raw size=51539607552 preallocation=off
|
||||
scsi1: successfully created disk 'nvme-scratch:9383/vm-9383-disk-1.raw,size=48G'
|
||||
update VM 9383: -boot order=scsi0;ide2
|
||||
boot: order=scsi0;ide2
|
||||
cores: 6
|
||||
cpu: host
|
||||
ide2: local:iso/felhom-installer-1.30.0-pve9.2-1.iso,media=cdrom,size=1665356K
|
||||
memory: 10240
|
||||
meta: creation-qemu=11.0.3,ctime=1793690549
|
||||
name: release1103-box
|
||||
net0: virtio=BC:24:11:7F:70:56,bridge=vmbr0
|
||||
ostype: l26
|
||||
scsi0: nvme-scratch:9383/vm-9383-disk-0.raw,size=64G
|
||||
scsi1: nvme-scratch:9383/vm-9383-disk-1.raw,size=48G
|
||||
scsihw: virtio-scsi-single
|
||||
smbios1: uuid=fff0e2e4-30f3-4d2b-9adc-a52e5ff4e3a8
|
||||
vga: std
|
||||
vmgenid: b102eae9-0848-460d-8e63-e6ac7c94756f
|
||||
STARTED
|
||||
@@ -0,0 +1,27 @@
|
||||
[release-agent] building 0.172.0 …
|
||||
[release-agent] built ok: sha256 2c0222cd01713f65c627d6d17c18b4a8b2b1e0c39881db0df7ccb17de48e24c7
|
||||
[release-agent] config bundle built: sha256 cc34b0bc3346ffd6a4ba80fe9269852dced8c56c9503c8b14a50d9ded2961cce
|
||||
[release-agent] tagging v0.172.0 at ecbb0cc …
|
||||
[release-agent] publishing …
|
||||
[publish-agent] publishing /tmp/felhom-agent-svqoSn (16393888 bytes, sha256 2c0222cd01713f65…) → https://gitea.dooplex.hu/api/packages/admin/generic/felhom-agent/0.172.0/felhom-agent
|
||||
[publish-agent] pre-delete existing artifact: HTTP 404 (404/204 expected)
|
||||
[publish-agent] upload OK (HTTP 201)
|
||||
[publish-agent] round-trip GET verified (sha256 matches)
|
||||
[publish-agent] DONE. Record in the hub operator UI (Configs → Day-0 artifacts): agent 0.172.0 / 2c0222cd01713f65c627d6d17c18b4a8b2b1e0c39881db0df7ccb17de48e24c7
|
||||
[release-agent] config bundle published (HTTP 201)
|
||||
[release-agent] pushing v0.172.0 …
|
||||
To https://gitea.dooplex.huAGENT_VERSION=0.172.0
|
||||
AGENT_SHA256=2c0222cd01713f65c627d6d17c18b4a8b2b1e0c39881db0df7ccb17de48e24c7
|
||||
|
||||
RELEASED — and installable, verified by download, not by this script's own say-so.
|
||||
|
||||
version : 0.172.0
|
||||
tag : v0.172.0
|
||||
sha256 : 2c0222cd01713f65c627d6d17c18b4a8b2b1e0c39881db0df7ccb17de48e24c7
|
||||
bundle : cc34b0bc3346ffd6a4ba80fe9269852dced8c56c9503c8b14a50d9ded2961cce (felhom-config-bundle.json — vouch it with the agent)
|
||||
|
||||
NOT VOUCHED. Vouching is what points machines at this version and stays you/admin/felhom-agent.git
|
||||
* [new tag] v0.172.0 -> v0.172.0
|
||||
[release-agent] verifying by independent download …
|
||||
r deliberate act:
|
||||
hub operator UI → Configs → Day-0 artifacts. Until then boxes keep installing the previous one.
|
||||
@@ -0,0 +1,7 @@
|
||||
## boot 2026-11-03T07:18:39Z
|
||||
drill VM reverted to virgin and cold-booted (RUNBOOK-manual-build §4.0); pve-manager/9.2.2
|
||||
pveam update: update successful; template debian-13-standard_13.6-1_amd64.tar.zst (checksum verified)
|
||||
build-golden.sh from felhom-agent ecbb0cc, sha256 645b3b65… (the same file as the 0.349.0 bake)
|
||||
token + registry user copied file->file from sec; unit properties grep for the token value: 0
|
||||
token in bake.log: 0 (control with the token appended: 1)
|
||||
registry login in the archive: tar listing for .docker/config.json = 0
|
||||
@@ -0,0 +1,3 @@
|
||||
## round trip 2026-11-03T07:27:16Z
|
||||
sha256 082e2e040de5615300da3ec8bc48fe6761ee0e6375dcc732e5cba82086e5e06b bytes 639545403
|
||||
bake said 082e2e040de5615300da3ec8bc48fe6761ee0e6375dcc732e5cba82086e5e06b
|
||||
@@ -0,0 +1,11 @@
|
||||
== teardown 2026-11-03T07:27:19Z
|
||||
purging CT 9100 from related configurations..
|
||||
0
|
||||
ls: cannot access '/root/.gitea-token': No such file or directory
|
||||
ls: cannot access '/root/.gitea-user': No such file or directory
|
||||
ls: cannot access '/root/bake-run.sh': No such file or directory
|
||||
ls: cannot access '/root/bake.log': No such file or directory
|
||||
qemu running: 0
|
||||
revert rc=0
|
||||
ID TAG VM_SIZE DATE VM_CLOCK ICOUNT
|
||||
1 virgin 0 B 2026-07-03 14:12:15 0000:00:00.000 0
|
||||
@@ -0,0 +1,46 @@
|
||||
# Golden 0.350.0 — bake + publish, 2026-11-03 (release brief, Part 2; it replaces 0.349.0)
|
||||
|
||||
Why: golden 0.349.0 (`../golden-0.349.0-2026-11-03/`, baked the same morning, never vouched) still holds Traefik v3.7.16,
|
||||
which has GHSA-xv5x-242w-7hf7 (R-1354). The operator: „Do not vouch 0.349.0." Procedure: 0.349.0's README, the same
|
||||
recipe. Controller 0.350.0 was already the global floor (07:18:16 UTC, MinAgent 0.158.1).
|
||||
|
||||
| | Previous (`../golden-0.349.0-2026-11-03/`) | This bake |
|
||||
|---|---|---|
|
||||
| `build-golden.sh` | v3.2.0, `645b3b65…` | same file |
|
||||
| Controller | `felhom-controller:0.349.0` | **`felhom-controller:0.350.0`** (MinAgent **0.158.1**, image `sha256:9ee53908…`) |
|
||||
| Traefik baked | v3.7.16 | **v3.7.17** |
|
||||
| Docker engine | `os-docker-20261026-190351` | same six pairs |
|
||||
| Template | `debian-13-standard_13.6-1_amd64.tar.zst` | same |
|
||||
| Token | from `sec`, file → file | same |
|
||||
|
||||
## Pass markers (from `bake.log`, this folder)
|
||||
|
||||
```
|
||||
[golden] build-golden.sh v3.2.0 — baking controller gitea.dooplex.hu/admin/felhom-controller:0.350.0
|
||||
[golden] Docker engine set PINNED to the approved release: containerd.io=2.4.2-3~debian.13~trixie … docker-compose-plugin=5.6.1-1~debian.13~trixie
|
||||
docker OK (overlay2; data-root /var/lib/docker)
|
||||
[golden] baking infra images (4): traefik:v3.7.17 cloudflare/cloudflared:2026.10.4 gtstef/filebrowser:1.5.8-stable gitea.dooplex.hu/admin/felhom-samba:1.2.0 …
|
||||
INFO: including mount point rootfs ('/') in backup
|
||||
INFO: including mount point mp0 ('/var/lib/felhom') in backup
|
||||
[golden] upload OK (HTTP 201)
|
||||
GOLDEN_VERSION=0.350.0
|
||||
GOLDEN_SHA256=082e2e040de5615300da3ec8bc48fe6761ee0e6375dcc732e5cba82086e5e06b
|
||||
```
|
||||
|
||||
No `excluding`, no `FATAL`, no `GOLDEN_DOCKER_PKGS not set`; the unit deactivated successfully. Round trip: the registry's
|
||||
file downloaded and hashed = the bake's sha, 639,545,403 bytes (`02-round-trip.txt`). Token: the unit's properties grep = 0;
|
||||
the committed log grep = 0, with a working control (= 1). The bake's one `WARNING` is docker's own line about the login in the
|
||||
build guest; the script removes the login before it archives, and a listing of the archive for `.docker/config.json` reads 0 on
|
||||
both the bake's file and the registry's copy. Teardown: `03-teardown.txt`. No controller push after the bake.
|
||||
|
||||
## The fresh install
|
||||
|
||||
`../../audits/release-2026-11-03/part2/README.md`.
|
||||
|
||||
## Vouch — the operator's act (never CC's)
|
||||
|
||||
Three fields together (runbook §4.1 step 5), Configuration → Day-0 artifacts. **Do not vouch 0.349.0.**
|
||||
|
||||
- golden **0.350.0**, sha256 `082e2e040de5615300da3ec8bc48fe6761ee0e6375dcc732e5cba82086e5e06b`
|
||||
- agent: **0.171.0** (`c888ca7ba22a1f689059081575814a725e2edcecbb6bcc56829e9d9de88202a5`), unless 0.172.0 is vouched first or with it
|
||||
- min_agent **0.158.1** (unchanged)
|
||||
@@ -0,0 +1,342 @@
|
||||
[golden] build-golden.sh v3.2.0 — baking controller gitea.dooplex.hu/admin/felhom-controller:0.350.0
|
||||
[golden] creating build LXC 9100 (nesting=1,keyctl=1, unprivileged; rootfs 32G + ONE data volume 24G @ /var/lib/felhom, backup=1) …
|
||||
Logical volume "vm-9100-disk-0" created.
|
||||
Logical volume pve/vm-9100-disk-0 changed.
|
||||
Creating filesystem with 8388608 4k blocks and 2097152 inodes
|
||||
Filesystem UUID: 413c14f0-88b6-4a52-bf2d-19599d36ea9e
|
||||
Superblock backups stored on blocks:
|
||||
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
|
||||
4096000, 7962624
|
||||
Logical volume "vm-9100-disk-1" created.
|
||||
Logical volume pve/vm-9100-disk-1 changed.
|
||||
Creating filesystem with 6291456 4k blocks and 1572864 inodes
|
||||
Filesystem UUID: 86c833a3-3e17-445e-898c-758c59ad2639
|
||||
Superblock backups stored on blocks:
|
||||
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
|
||||
extracting archive '/var/lib/vz/template/cache/debian-13-standard_13.6-1_amd64.tar.zst'
|
||||
Total bytes read: 553512960 (528MiB, 69MiB/s)
|
||||
Detected container architecture: amd64
|
||||
Creating SSH host key 'ssh_host_rsa_key' - this may take some time ...
|
||||
done: SHA256:VsTwEc0CjWdWEjmAHivAlXisZ+kgqGb+Jai/fQUxA2I root@felhom-golden
|
||||
Creating SSH host key 'ssh_host_ecdsa_key' - this may take some time ...
|
||||
done: SHA256:x32WRu/WfX1BYbxFHTOYCWc/g/2avpl+dONDathu72k root@felhom-golden
|
||||
Creating SSH host key 'ssh_host_ed25519_key' - this may take some time ...
|
||||
done: SHA256:RWXwVsb/zQ81nB7+a2MIrgEeN0Ad+F/NY2pGADa4Q9I root@felhom-golden
|
||||
[golden] starting + installing Docker (official repo, trixie channel) …
|
||||
[golden] Docker engine set PINNED to the approved release: containerd.io=2.4.2-3~debian.13~trixie docker-buildx-plugin=0.38.1-1~debian.13~trixie docker-ce=5:29.9.2-1~debian.13~trixie docker-ce-cli=5:29.9.2-1~debian.13~trixie docker-ce-rootless-extras=5:29.9.2-1~debian.13~trixie docker-compose-plugin=5.6.1-1~debian.13~trixie
|
||||
apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct!
|
||||
perl: warning: Setting locale failed.
|
||||
perl: warning: Please check that your locale settings:
|
||||
LANGUAGE = (unset),
|
||||
LC_ALL = (unset),
|
||||
LC_CTYPE = (unset),
|
||||
LC_NUMERIC = (unset),
|
||||
LC_COLLATE = (unset),
|
||||
LC_TIME = (unset),
|
||||
LC_MESSAGES = (unset),
|
||||
LC_MONETARY = (unset),
|
||||
LC_ADDRESS = (unset),
|
||||
LC_IDENTIFICATION = (unset),
|
||||
LC_MEASUREMENT = (unset),
|
||||
LC_PAPER = (unset),
|
||||
LC_TELEPHONE = (unset),
|
||||
LC_NAME = (unset),
|
||||
LANG = "en_US.UTF-8"
|
||||
are supported and installed on your system.
|
||||
perl: warning: Falling back to the standard locale ("C").
|
||||
locale: Cannot set LC_CTYPE to default locale: No such file or directory
|
||||
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
|
||||
locale: Cannot set LC_ALL to default locale: No such file or directory
|
||||
apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct!
|
||||
perl: warning: Setting locale failed.
|
||||
perl: warning: Please check that your locale settings:
|
||||
LANGUAGE = (unset),
|
||||
LC_ALL = (unset),
|
||||
LC_CTYPE = (unset),
|
||||
LC_NUMERIC = (unset),
|
||||
LC_COLLATE = (unset),
|
||||
LC_TIME = (unset),
|
||||
LC_MESSAGES = (unset),
|
||||
LC_MONETARY = (unset),
|
||||
LC_ADDRESS = (unset),
|
||||
LC_IDENTIFICATION = (unset),
|
||||
LC_MEASUREMENT = (unset),
|
||||
LC_PAPER = (unset),
|
||||
LC_TELEPHONE = (unset),
|
||||
LC_NAME = (unset),
|
||||
LANG = "en_US.UTF-8"
|
||||
are supported and installed on your system.
|
||||
perl: warning: Falling back to the standard locale ("C").
|
||||
locale: Cannot set LC_CTYPE to default locale: No such file or directory
|
||||
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
|
||||
locale: Cannot set LC_ALL to default locale: No such file or directory
|
||||
installed: containerd.io 2.4.2-3~debian.13~trixie
|
||||
installed: docker-buildx-plugin 0.38.1-1~debian.13~trixie
|
||||
installed: docker-ce 5:29.9.2-1~debian.13~trixie
|
||||
installed: docker-ce-cli 5:29.9.2-1~debian.13~trixie
|
||||
installed: docker-ce-rootless-extras 5:29.9.2-1~debian.13~trixie
|
||||
installed: docker-compose-plugin 5.6.1-1~debian.13~trixie
|
||||
[golden] no approved guest release given - the template versions stay; first-night count vs an approved release: n/a
|
||||
[golden] pending Debian upgrades in the baked guest (what a FUTURE approval may bring): 54
|
||||
[golden] baking daemon.json: classic overlay2 driver (containerd-snapshotter OFF) + log rotation …
|
||||
[golden] wiring the single data volume (R-165 variant V-c): /var/lib/felhom/{docker,sys_drive} -> binds …
|
||||
[golden] verifying Docker works in the build guest (storage driver should be overlay2 on the ext4 data volume) …
|
||||
Unable to find image 'hello-world:latest' locally
|
||||
latest: Pulling from library/hello-world
|
||||
4f55086f7dd0: Pulling fs layer
|
||||
4f55086f7dd0: Verifying Checksum
|
||||
4f55086f7dd0: Download complete
|
||||
4f55086f7dd0: Pull complete
|
||||
Digest: sha256:c567b231f65614688711a75f31518a064258a51d442117a3e771a3a8fdba78ef
|
||||
Status: Downloaded newer image for hello-world:latest
|
||||
docker OK (overlay2; data-root /var/lib/docker)
|
||||
live-restore: on
|
||||
/var/lib/docker is a real mount: /dev/mapper/pve-vm--9100--disk--1[/docker] ext4
|
||||
/mnt/sys_drive is a real mount: /dev/mapper/pve-vm--9100--disk--1[/sys_drive] ext4
|
||||
both paths are ONE filesystem: /dev/mapper/pve-vm--9100--disk--1 23317576
|
||||
[golden] baking the in-guest controller image gitea.dooplex.hu/admin/felhom-controller:0.350.0 (no registry cred at deploy) …
|
||||
|
||||
WARNING! Your credentials are stored unencrypted in '/root/.docker/config.json'.
|
||||
Configure a credential helper to remove this warning. See
|
||||
https://docs.docker.com/go/credential-store/
|
||||
|
||||
0.350.0: Pulling from admin/felhom-controller
|
||||
ecc510c1e359: Pulling fs layer
|
||||
c3f83389ce1b: Pulling fs layer
|
||||
e81c1fce9826: Pulling fs layer
|
||||
63a1406b1961: Pulling fs layer
|
||||
d747c9b6922d: Pulling fs layer
|
||||
f566b4c9671c: Pulling fs layer
|
||||
e853ea6ba36f: Pulling fs layer
|
||||
d747c9b6922d: Waiting
|
||||
f566b4c9671c: Waiting
|
||||
e853ea6ba36f: Waiting
|
||||
63a1406b1961: Waiting
|
||||
e81c1fce9826: Verifying Checksum
|
||||
e81c1fce9826: Download complete
|
||||
c3f83389ce1b: Verifying Checksum
|
||||
c3f83389ce1b: Download complete
|
||||
d747c9b6922d: Verifying Checksum
|
||||
d747c9b6922d: Download complete
|
||||
63a1406b1961: Verifying Checksum
|
||||
63a1406b1961: Download complete
|
||||
f566b4c9671c: Verifying Checksum
|
||||
f566b4c9671c: Download complete
|
||||
e853ea6ba36f: Verifying Checksum
|
||||
e853ea6ba36f: Download complete
|
||||
ecc510c1e359: Verifying Checksum
|
||||
ecc510c1e359: Download complete
|
||||
ecc510c1e359: Pull complete
|
||||
c3f83389ce1b: Pull complete
|
||||
e81c1fce9826: Pull complete
|
||||
63a1406b1961: Pull complete
|
||||
d747c9b6922d: Pull complete
|
||||
f566b4c9671c: Pull complete
|
||||
e853ea6ba36f: Pull complete
|
||||
Digest: sha256:9ee53908e6d95f0340c41bf4eaba954280084a8e6927de59779440e3551df261
|
||||
Status: Downloaded newer image for gitea.dooplex.hu/admin/felhom-controller:0.350.0
|
||||
gitea.dooplex.hu/admin/felhom-controller:0.350.0
|
||||
[golden] asking the controller which infra images it manages …
|
||||
[golden] baking infra images (4): traefik:v3.7.17 cloudflare/cloudflared:2026.10.4 gtstef/filebrowser:1.5.8-stable gitea.dooplex.hu/admin/felhom-samba:1.2.0 …
|
||||
v3.7.17: Pulling from library/traefik
|
||||
7b229517ed22: Pulling fs layer
|
||||
e52609d2f1c3: Pulling fs layer
|
||||
55e31fcee501: Pulling fs layer
|
||||
7167651855ea: Pulling fs layer
|
||||
7167651855ea: Waiting
|
||||
7b229517ed22: Verifying Checksum
|
||||
7b229517ed22: Download complete
|
||||
e52609d2f1c3: Download complete
|
||||
7167651855ea: Verifying Checksum
|
||||
7167651855ea: Download complete
|
||||
55e31fcee501: Verifying Checksum
|
||||
55e31fcee501: Download complete
|
||||
7b229517ed22: Pull complete
|
||||
e52609d2f1c3: Pull complete
|
||||
55e31fcee501: Pull complete
|
||||
7167651855ea: Pull complete
|
||||
Digest: sha256:68ae5fe5b64ca166704b746a9e8afcd385e36b3f569a5691401bf652d57b3748
|
||||
Status: Downloaded newer image for traefik:v3.7.17
|
||||
docker.io/library/traefik:v3.7.17
|
||||
2026.10.4: Pulling from cloudflare/cloudflared
|
||||
2cc7ee286bf3: Pulling fs layer
|
||||
c172f21841df: Pulling fs layer
|
||||
218cf840d0d9: Pulling fs layer
|
||||
f6069939f718: Pulling fs layer
|
||||
d6b1b89eccac: Pulling fs layer
|
||||
2780920e5dbf: Pulling fs layer
|
||||
7c12895b777b: Pulling fs layer
|
||||
3214acf345c0: Pulling fs layer
|
||||
52630fc75a18: Pulling fs layer
|
||||
dd64bf2dd177: Pulling fs layer
|
||||
b839dfae01f6: Pulling fs layer
|
||||
ebddc55facdc: Pulling fs layer
|
||||
a0921f9d8de9: Pulling fs layer
|
||||
b96fe2995f90: Pulling fs layer
|
||||
810e2b405a08: Pulling fs layer
|
||||
bd8962e29291: Pulling fs layer
|
||||
cac2ae0193cb: Pulling fs layer
|
||||
eb8da9d09a5e: Pulling fs layer
|
||||
dd64bf2dd177: Waiting
|
||||
b839dfae01f6: Waiting
|
||||
ebddc55facdc: Waiting
|
||||
a0921f9d8de9: Waiting
|
||||
b96fe2995f90: Waiting
|
||||
810e2b405a08: Waiting
|
||||
bd8962e29291: Waiting
|
||||
cac2ae0193cb: Waiting
|
||||
eb8da9d09a5e: Waiting
|
||||
f6069939f718: Waiting
|
||||
d6b1b89eccac: Waiting
|
||||
2780920e5dbf: Waiting
|
||||
7c12895b777b: Waiting
|
||||
3214acf345c0: Waiting
|
||||
52630fc75a18: Waiting
|
||||
2cc7ee286bf3: Verifying Checksum
|
||||
2cc7ee286bf3: Download complete
|
||||
c172f21841df: Verifying Checksum
|
||||
c172f21841df: Download complete
|
||||
218cf840d0d9: Verifying Checksum
|
||||
218cf840d0d9: Download complete
|
||||
f6069939f718: Download complete
|
||||
d6b1b89eccac: Verifying Checksum
|
||||
d6b1b89eccac: Download complete
|
||||
2780920e5dbf: Verifying Checksum
|
||||
2780920e5dbf: Download complete
|
||||
7c12895b777b: Verifying Checksum
|
||||
7c12895b777b: Download complete
|
||||
3214acf345c0: Verifying Checksum
|
||||
3214acf345c0: Download complete
|
||||
52630fc75a18: Verifying Checksum
|
||||
52630fc75a18: Download complete
|
||||
2cc7ee286bf3: Pull complete
|
||||
dd64bf2dd177: Verifying Checksum
|
||||
dd64bf2dd177: Download complete
|
||||
b839dfae01f6: Verifying Checksum
|
||||
b839dfae01f6: Download complete
|
||||
ebddc55facdc: Verifying Checksum
|
||||
ebddc55facdc: Download complete
|
||||
a0921f9d8de9: Verifying Checksum
|
||||
a0921f9d8de9: Download complete
|
||||
c172f21841df: Pull complete
|
||||
810e2b405a08: Verifying Checksum
|
||||
810e2b405a08: Download complete
|
||||
bd8962e29291: Verifying Checksum
|
||||
bd8962e29291: Download complete
|
||||
b96fe2995f90: Verifying Checksum
|
||||
b96fe2995f90: Download complete
|
||||
cac2ae0193cb: Verifying Checksum
|
||||
cac2ae0193cb: Download complete
|
||||
eb8da9d09a5e: Verifying Checksum
|
||||
eb8da9d09a5e: Download complete
|
||||
218cf840d0d9: Pull complete
|
||||
f6069939f718: Pull complete
|
||||
d6b1b89eccac: Pull complete
|
||||
2780920e5dbf: Pull complete
|
||||
7c12895b777b: Pull complete
|
||||
3214acf345c0: Pull complete
|
||||
52630fc75a18: Pull complete
|
||||
dd64bf2dd177: Pull complete
|
||||
b839dfae01f6: Pull complete
|
||||
ebddc55facdc: Pull complete
|
||||
a0921f9d8de9: Pull complete
|
||||
b96fe2995f90: Pull complete
|
||||
810e2b405a08: Pull complete
|
||||
bd8962e29291: Pull complete
|
||||
cac2ae0193cb: Pull complete
|
||||
eb8da9d09a5e: Pull complete
|
||||
Digest: sha256:c6c7ae1d5dfdcb094ad344ed68ccffc26635c9c6be80965664c33baf064b0515
|
||||
Status: Downloaded newer image for cloudflare/cloudflared:2026.10.4
|
||||
docker.io/cloudflare/cloudflared:2026.10.4
|
||||
1.5.8-stable: Pulling from gtstef/filebrowser
|
||||
e2de96513ba9: Pulling fs layer
|
||||
93c39e448959: Pulling fs layer
|
||||
b7597036c324: Pulling fs layer
|
||||
c6591d351da9: Pulling fs layer
|
||||
4f4fb700ef54: Pulling fs layer
|
||||
74aec9809d97: Pulling fs layer
|
||||
9f7b5accdf20: Pulling fs layer
|
||||
19114688b75e: Pulling fs layer
|
||||
2067d5df1f91: Pulling fs layer
|
||||
5669e416ca05: Pulling fs layer
|
||||
08c322a8a1d4: Pulling fs layer
|
||||
19114688b75e: Waiting
|
||||
2067d5df1f91: Waiting
|
||||
5669e416ca05: Waiting
|
||||
08c322a8a1d4: Waiting
|
||||
c6591d351da9: Waiting
|
||||
4f4fb700ef54: Waiting
|
||||
74aec9809d97: Waiting
|
||||
9f7b5accdf20: Waiting
|
||||
e2de96513ba9: Verifying Checksum
|
||||
e2de96513ba9: Download complete
|
||||
c6591d351da9: Verifying Checksum
|
||||
c6591d351da9: Download complete
|
||||
4f4fb700ef54: Verifying Checksum
|
||||
4f4fb700ef54: Download complete
|
||||
b7597036c324: Verifying Checksum
|
||||
b7597036c324: Download complete
|
||||
93c39e448959: Verifying Checksum
|
||||
93c39e448959: Download complete
|
||||
9f7b5accdf20: Download complete
|
||||
e2de96513ba9: Pull complete
|
||||
19114688b75e: Verifying Checksum
|
||||
19114688b75e: Download complete
|
||||
2067d5df1f91: Verifying Checksum
|
||||
2067d5df1f91: Download complete
|
||||
74aec9809d97: Verifying Checksum
|
||||
74aec9809d97: Download complete
|
||||
08c322a8a1d4: Verifying Checksum
|
||||
08c322a8a1d4: Download complete
|
||||
5669e416ca05: Verifying Checksum
|
||||
5669e416ca05: Download complete
|
||||
93c39e448959: Pull complete
|
||||
b7597036c324: Pull complete
|
||||
c6591d351da9: Pull complete
|
||||
4f4fb700ef54: Pull complete
|
||||
74aec9809d97: Pull complete
|
||||
9f7b5accdf20: Pull complete
|
||||
19114688b75e: Pull complete
|
||||
2067d5df1f91: Pull complete
|
||||
5669e416ca05: Pull complete
|
||||
08c322a8a1d4: Pull complete
|
||||
Digest: sha256:68455d4953bad8e984e1bc5d112ed1e9c918a0a04f104c13c9ece50790308894
|
||||
Status: Downloaded newer image for gtstef/filebrowser:1.5.8-stable
|
||||
docker.io/gtstef/filebrowser:1.5.8-stable
|
||||
1.2.0: Pulling from admin/felhom-samba
|
||||
e2de96513ba9: Already exists
|
||||
0ddbc9f3a6b6: Pulling fs layer
|
||||
ce57a3f93416: Pulling fs layer
|
||||
fb94eeec2fe1: Pulling fs layer
|
||||
fb94eeec2fe1: Verifying Checksum
|
||||
fb94eeec2fe1: Download complete
|
||||
ce57a3f93416: Verifying Checksum
|
||||
ce57a3f93416: Download complete
|
||||
0ddbc9f3a6b6: Verifying Checksum
|
||||
0ddbc9f3a6b6: Download complete
|
||||
0ddbc9f3a6b6: Pull complete
|
||||
ce57a3f93416: Pull complete
|
||||
fb94eeec2fe1: Pull complete
|
||||
Digest: sha256:da96f25033827fbb77d0ee398e86fe5b744e2f29be9de898994533340c97acf9
|
||||
Status: Downloaded newer image for gitea.dooplex.hu/admin/felhom-samba:1.2.0
|
||||
gitea.dooplex.hu/admin/felhom-samba:1.2.0
|
||||
[golden] baking the controller-bootstrap unit (deploys the BAKED controller from the config mount) …
|
||||
Created symlink '/etc/systemd/system/multi-user.target.wants/felhom-controller-bootstrap.service' → '/etc/systemd/system/felhom-controller-bootstrap.service'.
|
||||
[golden] baking the controller-bootstrap PATH unit (starts the service on bootstrap-mount hot-plug — B1) …
|
||||
Created symlink '/etc/systemd/system/multi-user.target.wants/felhom-controller-bootstrap.path' → '/etc/systemd/system/felhom-controller-bootstrap.path'.
|
||||
[golden] baking the first-boot SSH host-key regeneration unit (F3) …
|
||||
Created symlink '/etc/systemd/system/multi-user.target.wants/felhom-regen-hostkeys.service' → '/etc/systemd/system/felhom-regen-hostkeys.service'.
|
||||
[golden] identity-clean + minimize …
|
||||
[golden] stop + archive …
|
||||
INFO: including mount point rootfs ('/') in backup
|
||||
INFO: including mount point mp0 ('/var/lib/felhom') in backup
|
||||
INFO: archive file size: 609MB
|
||||
INFO: Finished Backup of VM 9100 (00:00:26)
|
||||
[golden] DONE. golden archive volid: local:backup/vzdump-lxc-9100-2026_11_03-08_24_17.tar.zst (rootfs 32G + ONE data volume 24G @ /var/lib/felhom, all in the archive)
|
||||
[golden] publishing golden (639545403 bytes, sha256 082e2e040de56153…) → https://gitea.dooplex.hu/api/packages/admin/generic/felhom-golden/0.350.0/golden.tar.zst
|
||||
[golden] pre-delete existing: HTTP 404 (404/204 expected)
|
||||
[golden] upload OK (HTTP 201)
|
||||
GOLDEN_VERSION=0.350.0
|
||||
GOLDEN_SHA256=082e2e040de5615300da3ec8bc48fe6761ee0e6375dcc732e5cba82086e5e06b
|
||||
[golden] Record in the hub operator UI (Configs → Day-0 artifacts): golden 0.350.0 / 082e2e040de5615300da3ec8bc48fe6761ee0e6375dcc732e5cba82086e5e06b
|
||||
[golden] (the build guest 9100 is stopped; destroy it with: pct destroy 9100 --purge)
|
||||
@@ -1,4 +1,4 @@
|
||||
## Unreleased — next hub release; commit only, 2026-11-02 night
|
||||
## v0.179.0 (2026-11-03) — no „does not answer" alarm after the restart mail of the same episode (R-1352)
|
||||
|
||||
- **R-1352 — the „does not answer" alarm is not mailed after the restart mail of the same episode.** The alarm and the restart lie 2
|
||||
minutes apart and reports 15, so both reached the hub in one report; the operator read the restart first and then „the agent
|
||||
|
||||