R-1299 CLOSED: the clean-up window button (hub 0.174.0/0.174.1, live grant + cancel on tester-1); R-1326 filed (hub start-up vs liveness); R-1237 updated (46 dead names removed with sec rm); 07/05 design lines; secrets runbook: sec rm
gates / gates (push) Successful in 1m59s
gates / gates (push) Successful in 1m59s
This commit is contained in:
1 parent
714ee236b2
commit
f633d48bab
14 files changed
+553
-7
No files matched your search
@@ -0,0 +1,41 @@
|
||||
# R-1299 — the one-time clean-up window gets a button (hub 0.174.0 → 0.174.1), and `sec rm` (cc-secrets 0.3.0), 2026-10-27 evening
|
||||
|
||||
## The button
|
||||
|
||||
- **Where:** customer page → „Backup & DR" tab → card „Off-site clean-up window" (0.174.0 had it in the Overview's Backup
|
||||
card; the operator looked under Backup & DR first, so 0.174.1 moved it). Shown only when the box reports off-site
|
||||
enabled.
|
||||
- **Shows:** the weekly switch, the normal cap (half the snapshots, at least 5), a waiting one-time grant and its limit,
|
||||
the last window (id, time, result, count, cap).
|
||||
- **Form:** optional limit → confirm step (a GET; names the customer and the limit; stores nothing) → POST to the SAME
|
||||
route as the script address, `/offsite/window-grant/<customer>`, rule unchanged (`wr(grpOffsite)`), the page's CSRF.
|
||||
A waiting grant shows „Cancel the waiting window".
|
||||
- **Bound:** a raised limit above the store's measured snapshot count is refused (a window cannot remove more than exist);
|
||||
the 500 ceiling stays. D55's 260-for-373 stays possible.
|
||||
- **Record:** every grant and cancel writes an operator-only info event `offsite_window_grant` (who, customer, limit) and a
|
||||
log line.
|
||||
|
||||
## Live check (operator's clicks; nothing removed)
|
||||
|
||||
1. 0.174.0, 20:07 CET: the operator granted ONE window on tester-1 with the normal cap through the confirm step (screenshots
|
||||
in the session). Hub DB (with WAL): `offsite_window_grant:tester-1 = 1`; log „ONE clean-up window granted for tester-1
|
||||
with the normal cap, by operator session". **No event row** — the defect below.
|
||||
2. 0.174.1, 20:42 CET: the operator pressed „Cancel the waiting window" under Backup & DR. Hub DB: the grant is empty; ONE
|
||||
stored row `offsite_window_grant` info „the waiting one-time window was cancelled (by operator session)",
|
||||
`{"by":"operator session","cancelled":true}`, source hub; the log line matches.
|
||||
|
||||
**Defect found by step 1 and fixed in 0.174.1:** the event went only to the dispatcher, which writes no row (it routes
|
||||
mail; info routes nowhere). The test had asserted the dispatcher CALL; it now reads the STORED rows — red with 0.174.0's
|
||||
shape (`redproof-0174.1.txt`).
|
||||
|
||||
## Deploys
|
||||
|
||||
0.174.0: `sha256:4f9ee04a…` from `d85198b8` (CI 2433), live 19:25 CET. 0.174.1: `sha256:bb43f88a…` from `de57c090` (CI
|
||||
2437), live 20:26 CET. Both built from a clean clone (the shared clone held another session's uncommitted installer
|
||||
edit), hub-only ArgoCD sync, Synced/Healthy, 0 restarts. Start-up 36 s / 31 s against a liveness kill at ~65 s → R-1326.
|
||||
|
||||
## `sec rm` and the tidy-up
|
||||
|
||||
cc-secrets 0.3.0 (`dc82cf9`): one name per call, unknown refused, `rm NAME` commit + push, undo by `git revert`. 7 tests,
|
||||
2 red-proofs (28/28 in all). The operator approved removing 46 dead names; `sec-rm.txt` holds the run (names only): 92 →
|
||||
46 names, every removal committed and pushed, `sec doctor` all OK after.
|
||||
@@ -0,0 +1,170 @@
|
||||
[0;36m[STEP][0m 0/3 — Checking the registry: is 0.174.0 already published?
|
||||
[0;32m[INFO][0m 0.174.0 is not present in the registry — proceeding.
|
||||
[0;36m[STEP][0m 1/3 — Pulling latest code (the tree must be clean and at origin/main)...
|
||||
|
||||
[0;32m[INFO][0m ╔══════════════════════════════════════╗
|
||||
[0;32m[INFO][0m ║ felhom-hub build ║
|
||||
[0;32m[INFO][0m ╚══════════════════════════════════════╝
|
||||
[0;32m[INFO][0m Version: 0.174.0 (build-hub.sh v1.25.0)
|
||||
[0;32m[INFO][0m Commit: d85198b8
|
||||
[0;32m[INFO][0m Source: /tmp/claude-1000/-mnt-5-hdd-felhom-eu-git/0b76c4d7-9b39-4e4e-869d-d0d2c6006331/scratchpad/felhom-eu-clean/hub
|
||||
[0;32m[INFO][0m Build: /mnt/5_hdd/felhom.eu/build/felhom-hub/workspace
|
||||
[0;32m[INFO][0m Image: gitea.dooplex.hu/admin/felhom-hub:0.174.0
|
||||
|
||||
[0;36m[STEP][0m 2/3 — Syncing source to workspace...
|
||||
[0;32m[INFO][0m Source synced to /mnt/5_hdd/felhom.eu/build/felhom-hub/workspace
|
||||
[0;32m[INFO][0m App assets synced (263 files)
|
||||
[0;32m[INFO][0m Package structure verified ✓
|
||||
[0;32m[INFO][0m Running go mod tidy...
|
||||
[0;36m[STEP][0m 3/3 — 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: 1.46kB done
|
||||
#1 DONE 0.0s
|
||||
|
||||
#2 [internal] load metadata for docker.io/library/golang:1.27.3-alpine3.24@sha256:b8c9b82affbbb82a020bbcf998dad2ba9516944ac7e883524642a481a9505e9c
|
||||
#2 ...
|
||||
|
||||
#3 [auth] library/alpine: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/alpine:3.24.2@sha256:294b683cb724975bec92580e1e685676bd4b50bda910ddb8c51d4cabeaec77e6
|
||||
#5 DONE 1.1s
|
||||
|
||||
#2 [internal] load metadata for docker.io/library/golang:1.27.3-alpine3.24@sha256:b8c9b82affbbb82a020bbcf998dad2ba9516944ac7e883524642a481a9505e9c
|
||||
#2 DONE 1.8s
|
||||
|
||||
#6 [internal] load .dockerignore
|
||||
#6 transferring context: 2B done
|
||||
#6 DONE 0.0s
|
||||
|
||||
#7 [stage-1 1/5] FROM docker.io/library/alpine:3.24.2@sha256:294b683cb724975bec92580e1e685676bd4b50bda910ddb8c51d4cabeaec77e6
|
||||
#7 resolve docker.io/library/alpine:3.24.2@sha256:294b683cb724975bec92580e1e685676bd4b50bda910ddb8c51d4cabeaec77e6 0.0s done
|
||||
#7 DONE 0.0s
|
||||
|
||||
#8 [builder 1/6] FROM docker.io/library/golang:1.27.3-alpine3.24@sha256:b8c9b82affbbb82a020bbcf998dad2ba9516944ac7e883524642a481a9505e9c
|
||||
#8 resolve docker.io/library/golang:1.27.3-alpine3.24@sha256:b8c9b82affbbb82a020bbcf998dad2ba9516944ac7e883524642a481a9505e9c 0.0s done
|
||||
#8 DONE 0.0s
|
||||
|
||||
#9 [internal] load build context
|
||||
#9 transferring context: 22.60MB 0.3s done
|
||||
#9 DONE 0.3s
|
||||
|
||||
#8 [builder 1/6] FROM docker.io/library/golang:1.27.3-alpine3.24@sha256:b8c9b82affbbb82a020bbcf998dad2ba9516944ac7e883524642a481a9505e9c
|
||||
#8 DONE 0.2s
|
||||
|
||||
#8 [builder 1/6] FROM docker.io/library/golang:1.27.3-alpine3.24@sha256:b8c9b82affbbb82a020bbcf998dad2ba9516944ac7e883524642a481a9505e9c
|
||||
#8 extracting sha256:7b229517ed222597277036d94892173207d01a731ab3a88eeb1de2e963a2c788 0.1s done
|
||||
#8 sha256:c8e3100880d834be60a9562375f4c5018b2cb26d64591bd0060aa3a80b935f43 126B / 126B 0.2s done
|
||||
#8 sha256:82e0bb27ae78502103ed383ed33346f88a83943fb7bd93977850d5890ee8fb3b 0B / 71.15MB 0.3s
|
||||
#8 sha256:c012d78a862fe59ae6789c91f982ea68a882c9c44bbde97013914458dcdd9c4c 0B / 244.47kB 0.2s
|
||||
#8 sha256:82e0bb27ae78502103ed383ed33346f88a83943fb7bd93977850d5890ee8fb3b 11.53MB / 71.15MB 0.6s
|
||||
#8 sha256:c012d78a862fe59ae6789c91f982ea68a882c9c44bbde97013914458dcdd9c4c 244.47kB / 244.47kB 0.7s done
|
||||
#8 extracting sha256:c012d78a862fe59ae6789c91f982ea68a882c9c44bbde97013914458dcdd9c4c 0.1s done
|
||||
#8 sha256:82e0bb27ae78502103ed383ed33346f88a83943fb7bd93977850d5890ee8fb3b 35.65MB / 71.15MB 0.9s
|
||||
#8 sha256:82e0bb27ae78502103ed383ed33346f88a83943fb7bd93977850d5890ee8fb3b 49.28MB / 71.15MB 1.1s
|
||||
#8 sha256:82e0bb27ae78502103ed383ed33346f88a83943fb7bd93977850d5890ee8fb3b 59.77MB / 71.15MB 1.2s
|
||||
#8 sha256:82e0bb27ae78502103ed383ed33346f88a83943fb7bd93977850d5890ee8fb3b 71.15MB / 71.15MB 1.4s
|
||||
#8 sha256:82e0bb27ae78502103ed383ed33346f88a83943fb7bd93977850d5890ee8fb3b 71.15MB / 71.15MB 1.5s done
|
||||
#8 extracting sha256:82e0bb27ae78502103ed383ed33346f88a83943fb7bd93977850d5890ee8fb3b
|
||||
#8 extracting sha256:82e0bb27ae78502103ed383ed33346f88a83943fb7bd93977850d5890ee8fb3b 5.5s done
|
||||
#8 DONE 7.3s
|
||||
|
||||
#8 [builder 1/6] FROM docker.io/library/golang:1.27.3-alpine3.24@sha256:b8c9b82affbbb82a020bbcf998dad2ba9516944ac7e883524642a481a9505e9c
|
||||
#8 extracting sha256:c8e3100880d834be60a9562375f4c5018b2cb26d64591bd0060aa3a80b935f43 0.0s done
|
||||
#8 extracting sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 0.0s done
|
||||
#8 DONE 7.3s
|
||||
|
||||
#10 [builder 2/6] WORKDIR /app
|
||||
#10 DONE 1.0s
|
||||
|
||||
#11 [builder 3/6] COPY go.mod go.sum* ./
|
||||
#11 DONE 0.0s
|
||||
|
||||
#12 [builder 4/6] RUN go mod download || true
|
||||
#12 DONE 8.5s
|
||||
|
||||
#13 [builder 5/6] COPY . .
|
||||
#13 DONE 0.3s
|
||||
|
||||
#14 [builder 6/6] RUN go mod tidy && CGO_ENABLED=0 go build -ldflags "-s -w -X main.Version=0.174.0 -X main.BuildTime=2026-10-27T18:21:23Z" -o /felhom-hub ./cmd/hub/
|
||||
#14 0.393 go: downloading gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
|
||||
#14 0.428 go: downloading modernc.org/fileutil v1.3.40
|
||||
#14 0.428 go: downloading github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e
|
||||
#14 0.444 go: downloading golang.org/x/term v0.47.0
|
||||
#14 0.604 go: downloading modernc.org/ccgo/v4 v4.30.1
|
||||
#14 0.604 go: downloading modernc.org/goabi0 v0.2.0
|
||||
#14 0.604 go: downloading golang.org/x/tools v0.38.0
|
||||
#14 0.604 go: downloading modernc.org/cc/v4 v4.27.1
|
||||
#14 0.960 go: downloading modernc.org/opt v0.1.4
|
||||
#14 0.960 go: downloading modernc.org/sortutil v1.2.1
|
||||
#14 0.960 go: downloading modernc.org/strutil v1.2.1
|
||||
#14 0.960 go: downloading modernc.org/token v1.1.0
|
||||
#14 1.085 go: downloading modernc.org/gc/v2 v2.6.5
|
||||
#14 1.085 go: downloading golang.org/x/mod v0.29.0
|
||||
#14 1.085 go: downloading modernc.org/gc/v3 v3.1.1
|
||||
#14 1.189 go: downloading github.com/hashicorp/golang-lru/v2 v2.0.7
|
||||
#14 1.591 go: downloading golang.org/x/sync v0.17.0
|
||||
#14 DONE 23.2s
|
||||
|
||||
#15 [stage-1 2/5] RUN apk add --no-cache ca-certificates tzdata
|
||||
#15 CACHED
|
||||
|
||||
#16 [stage-1 3/5] COPY --from=builder /felhom-hub /usr/local/bin/felhom-hub
|
||||
#16 DONE 0.5s
|
||||
|
||||
#17 [stage-1 4/5] RUN mkdir -p /data /etc/felhom-hub
|
||||
#17 DONE 0.6s
|
||||
|
||||
#18 [stage-1 5/5] COPY assets/ /usr/share/felhom/assets-seed/
|
||||
#18 DONE 0.7s
|
||||
|
||||
#19 exporting to image
|
||||
#19 exporting layers
|
||||
#19 exporting layers 3.1s done
|
||||
#19 exporting manifest sha256:d0107a4fbc74cb575ab0ffdf9313560c09f5346604850cc63f9b94a094652a50 0.1s done
|
||||
#19 exporting config sha256:9fd122d68270b24d81dff95b3ae0bd8087c395d88fe6dc1b0ec9a245b1c5fa41 0.0s done
|
||||
#19 exporting attestation manifest sha256:3116065764acf34a6699cfbb21347c49b143104754c9a8139da589cdd8516d83 0.0s done
|
||||
#19 exporting manifest list sha256:4f9ee04a9ff7c108a37a411be3c3de521b6acccb431c9e550c3567f7211e2e94 0.0s done
|
||||
#19 naming to gitea.dooplex.hu/admin/felhom-hub:0.174.0 done
|
||||
#19 unpacking to gitea.dooplex.hu/admin/felhom-hub:0.174.0
|
||||
#19 unpacking to gitea.dooplex.hu/admin/felhom-hub:0.174.0 0.3s done
|
||||
#19 DONE 3.6s
|
||||
[0;32m[INFO][0m Pushing...
|
||||
The push refers to repository [gitea.dooplex.hu/admin/felhom-hub]
|
||||
93c1eb832da7: Waiting
|
||||
44136fa355b3: Waiting
|
||||
c89750c9a8b7: Waiting
|
||||
e2de96513ba9: Waiting
|
||||
e2de96513ba9: Layer already exists
|
||||
93c1eb832da7: Layer already exists
|
||||
44136fa355b3: Already exists
|
||||
979db3c09e54: Pushed
|
||||
c89750c9a8b7: Pushed
|
||||
eb8433490c74: Pushed
|
||||
142d086ef218: Pushed
|
||||
0.174.0: digest: sha256:4f9ee04a9ff7c108a37a411be3c3de521b6acccb431c9e550c3567f7211e2e94 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-hub:0.174.0
|
||||
[0;32m[INFO][0m Size: 73M
|
||||
|
||||
[0;32m[INFO][0m Image pushed to registry.
|
||||
|
||||
[0;32m[INFO][0m Deploy to k3s — GitOps ONLY. The manifest in git is the source of truth:
|
||||
[0;32m[INFO][0m 1. bump the image tag in /tmp/claude-1000/-mnt-5-hdd-felhom-eu-git/0b76c4d7-9b39-4e4e-869d-d0d2c6006331/scratchpad/felhom-eu-clean/manifests/hub.yaml to 0.174.0, commit, push
|
||||
[0;32m[INFO][0m 2. hard-refresh + sync the ArgoCD app (auto-sync is OFF — the sync is deliberate):
|
||||
[0;32m[INFO][0m sudo kubectl -n argocd annotate application felhom argocd.argoproj.io/refresh=hard --overwrite
|
||||
[0;32m[INFO][0m sudo kubectl -n argocd patch application felhom --type merge \
|
||||
[0;32m[INFO][0m -p '"{"operation":"initiatedBy":{"username":"cc"}}"' -p '"{"operation":"sync":{"syncStrategy":{"apply":{}}}}"'
|
||||
[0;32m[INFO][0m
|
||||
[0;32m[INFO][0m NEVER `kubectl set image` or `kubectl apply` by hand — ArgoCD reverts it on the next
|
||||
[0;32m[INFO][0m sync, so the change looks applied, works for a while, and then silently disappears.
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
[0;36m[STEP][0m 0/3 — Checking the registry: is 0.174.1 already published?
|
||||
[0;32m[INFO][0m 0.174.1 is not present in the registry — proceeding.
|
||||
[0;36m[STEP][0m 1/3 — Pulling latest code (the tree must be clean and at origin/main)...
|
||||
|
||||
[0;32m[INFO][0m ╔══════════════════════════════════════╗
|
||||
[0;32m[INFO][0m ║ felhom-hub build ║
|
||||
[0;32m[INFO][0m ╚══════════════════════════════════════╝
|
||||
[0;32m[INFO][0m Version: 0.174.1 (build-hub.sh v1.25.0)
|
||||
[0;32m[INFO][0m Commit: de57c090
|
||||
[0;32m[INFO][0m Source: /tmp/claude-1000/-mnt-5-hdd-felhom-eu-git/0b76c4d7-9b39-4e4e-869d-d0d2c6006331/scratchpad/felhom-eu-clean/hub
|
||||
[0;32m[INFO][0m Build: /mnt/5_hdd/felhom.eu/build/felhom-hub/workspace
|
||||
[0;32m[INFO][0m Image: gitea.dooplex.hu/admin/felhom-hub:0.174.1
|
||||
|
||||
[0;36m[STEP][0m 2/3 — Syncing source to workspace...
|
||||
[0;32m[INFO][0m Source synced to /mnt/5_hdd/felhom.eu/build/felhom-hub/workspace
|
||||
[0;32m[INFO][0m App assets synced (263 files)
|
||||
[0;32m[INFO][0m Package structure verified ✓
|
||||
[0;32m[INFO][0m Running go mod tidy...
|
||||
[0;36m[STEP][0m 3/3 — 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: 1.46kB done
|
||||
#1 DONE 0.0s
|
||||
|
||||
#2 [internal] load metadata for docker.io/library/alpine:3.24.2@sha256:294b683cb724975bec92580e1e685676bd4b50bda910ddb8c51d4cabeaec77e6
|
||||
#2 ...
|
||||
|
||||
#3 [auth] library/alpine: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/golang:1.27.3-alpine3.24@sha256:b8c9b82affbbb82a020bbcf998dad2ba9516944ac7e883524642a481a9505e9c
|
||||
#5 DONE 1.6s
|
||||
|
||||
#2 [internal] load metadata for docker.io/library/alpine:3.24.2@sha256:294b683cb724975bec92580e1e685676bd4b50bda910ddb8c51d4cabeaec77e6
|
||||
#2 DONE 1.6s
|
||||
|
||||
#6 [internal] load .dockerignore
|
||||
#6 transferring context: 2B done
|
||||
#6 DONE 0.0s
|
||||
|
||||
#7 [internal] load build context
|
||||
#7 transferring context: 22.60MB 0.2s done
|
||||
#7 DONE 0.2s
|
||||
|
||||
#8 [stage-1 1/5] FROM docker.io/library/alpine:3.24.2@sha256:294b683cb724975bec92580e1e685676bd4b50bda910ddb8c51d4cabeaec77e6
|
||||
#8 resolve docker.io/library/alpine:3.24.2@sha256:294b683cb724975bec92580e1e685676bd4b50bda910ddb8c51d4cabeaec77e6
|
||||
#8 resolve docker.io/library/alpine:3.24.2@sha256:294b683cb724975bec92580e1e685676bd4b50bda910ddb8c51d4cabeaec77e6 0.5s done
|
||||
#8 DONE 0.5s
|
||||
|
||||
#9 [builder 1/6] FROM docker.io/library/golang:1.27.3-alpine3.24@sha256:b8c9b82affbbb82a020bbcf998dad2ba9516944ac7e883524642a481a9505e9c
|
||||
#9 resolve docker.io/library/golang:1.27.3-alpine3.24@sha256:b8c9b82affbbb82a020bbcf998dad2ba9516944ac7e883524642a481a9505e9c 0.5s done
|
||||
#9 DONE 0.6s
|
||||
|
||||
#10 [builder 3/6] COPY go.mod go.sum* ./
|
||||
#10 CACHED
|
||||
|
||||
#11 [builder 2/6] WORKDIR /app
|
||||
#11 CACHED
|
||||
|
||||
#12 [builder 4/6] RUN go mod download || true
|
||||
#12 CACHED
|
||||
|
||||
#13 [builder 5/6] COPY . .
|
||||
#13 DONE 1.2s
|
||||
|
||||
#14 [builder 6/6] RUN go mod tidy && CGO_ENABLED=0 go build -ldflags "-s -w -X main.Version=0.174.1 -X main.BuildTime=2026-10-27T19:22:07Z" -o /felhom-hub ./cmd/hub/
|
||||
#14 0.852 go: downloading gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
|
||||
#14 0.888 go: downloading modernc.org/fileutil v1.3.40
|
||||
#14 0.888 go: downloading github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e
|
||||
#14 0.952 go: downloading golang.org/x/term v0.47.0
|
||||
#14 1.848 go: downloading modernc.org/goabi0 v0.2.0
|
||||
#14 1.848 go: downloading modernc.org/cc/v4 v4.27.1
|
||||
#14 1.848 go: downloading golang.org/x/tools v0.38.0
|
||||
#14 1.848 go: downloading modernc.org/ccgo/v4 v4.30.1
|
||||
#14 1.976 go: downloading modernc.org/token v1.1.0
|
||||
#14 1.976 go: downloading modernc.org/sortutil v1.2.1
|
||||
#14 1.976 go: downloading modernc.org/strutil v1.2.1
|
||||
#14 1.976 go: downloading modernc.org/opt v0.1.4
|
||||
#14 2.061 go: downloading modernc.org/gc/v2 v2.6.5
|
||||
#14 2.061 go: downloading golang.org/x/mod v0.29.0
|
||||
#14 2.061 go: downloading modernc.org/gc/v3 v3.1.1
|
||||
#14 2.195 go: downloading github.com/hashicorp/golang-lru/v2 v2.0.7
|
||||
#14 2.659 go: downloading golang.org/x/sync v0.17.0
|
||||
#14 DONE 23.6s
|
||||
|
||||
#15 [stage-1 2/5] RUN apk add --no-cache ca-certificates tzdata
|
||||
#15 CACHED
|
||||
|
||||
#16 [stage-1 3/5] COPY --from=builder /felhom-hub /usr/local/bin/felhom-hub
|
||||
#16 DONE 0.1s
|
||||
|
||||
#17 [stage-1 4/5] RUN mkdir -p /data /etc/felhom-hub
|
||||
#17 DONE 0.3s
|
||||
|
||||
#18 [stage-1 5/5] COPY assets/ /usr/share/felhom/assets-seed/
|
||||
#18 DONE 0.2s
|
||||
|
||||
#19 exporting to image
|
||||
#19 exporting layers
|
||||
#19 exporting layers 1.7s done
|
||||
#19 exporting manifest sha256:52497a2e4ced33643f95e2461b55c7632e271e6f30c2b4c1570e5274e1b69d7a done
|
||||
#19 exporting config sha256:590eb0076b318559b5b7f3136359f369e2ee24ff9ace6cd9baedf44369282fc4 done
|
||||
#19 exporting attestation manifest sha256:a310eaff8556f58dccd2ff8d2dcb4c3992fbeb1b4cdee1e97c821f8ef5e8eb21 0.0s done
|
||||
#19 exporting manifest list sha256:bb43f88acd59b8b20914381932eb2d9f779d44c190c34d3349eed91d37ce71fb done
|
||||
#19 naming to gitea.dooplex.hu/admin/felhom-hub:0.174.1 done
|
||||
#19 unpacking to gitea.dooplex.hu/admin/felhom-hub:0.174.1
|
||||
#19 unpacking to gitea.dooplex.hu/admin/felhom-hub:0.174.1 0.3s done
|
||||
#19 DONE 2.1s
|
||||
[0;32m[INFO][0m Pushing...
|
||||
The push refers to repository [gitea.dooplex.hu/admin/felhom-hub]
|
||||
44136fa355b3: Waiting
|
||||
93c1eb832da7: Waiting
|
||||
e2de96513ba9: Waiting
|
||||
63f117ea3134: Waiting
|
||||
44136fa355b3: Waiting
|
||||
93c1eb832da7: Waiting
|
||||
e2de96513ba9: Waiting
|
||||
63f117ea3134: Waiting
|
||||
63f117ea3134: Waiting
|
||||
b83b40f86264: Waiting
|
||||
44136fa355b3: Waiting
|
||||
93c1eb832da7: Layer already exists
|
||||
e2de96513ba9: Waiting
|
||||
e2de96513ba9: Layer already exists
|
||||
44136fa355b3: Already exists
|
||||
63f117ea3134: Pushed
|
||||
36e3e6d81e76: Pushed
|
||||
b83b40f86264: Pushed
|
||||
f65c9a964e26: Pushed
|
||||
0.174.1: digest: sha256:bb43f88acd59b8b20914381932eb2d9f779d44c190c34d3349eed91d37ce71fb 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-hub:0.174.1
|
||||
[0;32m[INFO][0m Size: 73M
|
||||
|
||||
[0;32m[INFO][0m Image pushed to registry.
|
||||
|
||||
[0;32m[INFO][0m Deploy to k3s — GitOps ONLY. The manifest in git is the source of truth:
|
||||
[0;32m[INFO][0m 1. bump the image tag in /tmp/claude-1000/-mnt-5-hdd-felhom-eu-git/0b76c4d7-9b39-4e4e-869d-d0d2c6006331/scratchpad/felhom-eu-clean/manifests/hub.yaml to 0.174.1, commit, push
|
||||
[0;32m[INFO][0m 2. hard-refresh + sync the ArgoCD app (auto-sync is OFF — the sync is deliberate):
|
||||
[0;32m[INFO][0m sudo kubectl -n argocd annotate application felhom argocd.argoproj.io/refresh=hard --overwrite
|
||||
[0;32m[INFO][0m sudo kubectl -n argocd patch application felhom --type merge \
|
||||
[0;32m[INFO][0m -p '"{"operation":"initiatedBy":{"username":"cc"}}"' -p '"{"operation":"sync":{"syncStrategy":{"apply":{}}}}"'
|
||||
[0;32m[INFO][0m
|
||||
[0;32m[INFO][0m NEVER `kubectl set image` or `kubectl apply` by hand — ArgoCD reverts it on the next
|
||||
[0;32m[INFO][0m sync, so the change looks applied, works for a while, and then silently disappears.
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
### 1: the block removed from the page
|
||||
--- FAIL: TestR1299_ThePageShowsTheWindowBlockPerBranch (0.30s)
|
||||
offsite_window_test.go:80: the page lacks "id=\"offsite-window\""
|
||||
offsite_window_test.go:80: the page lacks "id=\"window-form\""
|
||||
offsite_window_test.go:80: the page lacks "name=\"window\" value=\"confirm\""
|
||||
offsite_window_test.go:80: the page lacks "Normal cap per window"
|
||||
offsite_window_test.go:80: the page lacks "20 (half the snapshots"
|
||||
offsite_window_test.go:80: the page lacks "at most 40"
|
||||
offsite_window_test.go:80: the page lacks "none waiting"
|
||||
### 2: max_remove ignored
|
||||
--- FAIL: TestR1299_AGrantThroughTheFormStoresOneGrantWithItsLimit (0.14s)
|
||||
offsite_window_test.go:118: stored grant: pending=true max=0, want true 33
|
||||
--- FAIL: TestR1299_WithoutACountOnlyTheCeilingBounds (0.16s)
|
||||
offsite_window_test.go:178: stored max 0, want 260
|
||||
FAIL
|
||||
FAIL gitea.dooplex.hu/admin/felhom-hub/internal/web 1.466s
|
||||
FAIL
|
||||
### 3: no upper bound
|
||||
--- FAIL: TestR1299_ThePageShowsTheWindowBlockPerBranch (0.32s)
|
||||
offsite_window_test.go:91: a limit above the snapshot count must render the refusal at the confirm step, not the confirm
|
||||
--- FAIL: TestR1299_RefusalsStoreNothing (0.74s)
|
||||
offsite_window_test.go:160: above the snapshot count: 303 Location="/customers/acme?flash=window_granted#offsite-window"
|
||||
offsite_window_test.go:163: above the snapshot count: a grant was stored
|
||||
offsite_window_test.go:166: above the snapshot count: 1 event(s) for a refused request
|
||||
offsite_window_test.go:160: script above the snapshot count: 200 Location=""
|
||||
offsite_window_test.go:163: script above the snapshot count: a grant was stored
|
||||
### 4: no confirm check
|
||||
--- FAIL: TestR1299_RefusalsStoreNothing (0.72s)
|
||||
offsite_window_test.go:160: no confirm step: 303 Location="/customers/acme?flash=window_granted#offsite-window"
|
||||
offsite_window_test.go:163: no confirm step: a grant was stored
|
||||
offsite_window_test.go:166: no confirm step: 1 event(s) for a refused request
|
||||
FAIL
|
||||
FAIL gitea.dooplex.hu/admin/felhom-hub/internal/web 1.613s
|
||||
FAIL
|
||||
### 5: cancel not handled
|
||||
--- FAIL: TestR1299_CancelRemovesAWaitingGrant (0.13s)
|
||||
offsite_window_test.go:193: cancel with none waiting: Location="/customers/acme?flash=window_needs_confirm#offsite-window"
|
||||
FAIL
|
||||
FAIL gitea.dooplex.hu/admin/felhom-hub/internal/web 1.607s
|
||||
FAIL
|
||||
@@ -0,0 +1,8 @@
|
||||
### 0.174.0's shape: dispatcher only, no row
|
||||
--- FAIL: TestR1299_AGrantThroughTheFormStoresOneGrantWithItsLimit (0.14s)
|
||||
offsite_window_test.go:142: stored rows: [] — want ONE info offsite_window_grant row naming the limit and who
|
||||
--- FAIL: TestR1299_CancelRemovesAWaitingGrant (0.13s)
|
||||
offsite_window_test.go:235: stored rows: [] — want ONE cancel row
|
||||
### the block back in the Overview card (0.174.0's place)
|
||||
--- FAIL: TestR1299_ThePageShowsTheWindowBlockPerBranch (0.28s)
|
||||
offsite_window_test.go:95: the window block must sit in the Backup & DR tab (panel at 56541, block at 12480) — where the operator looked first
|
||||
@@ -0,0 +1,46 @@
|
||||
CC_D55_WINDOW: removed; committed and pushed; undo: git revert of the `rm CC_D55_WINDOW` commit
|
||||
HUB_TOKEN_D55_WINDOW: removed; committed and pushed; undo: git revert of the `rm HUB_TOKEN_D55_WINDOW` commit
|
||||
REHEARSAL_2026_10_20_APP_BOOKSTACK: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_APP_BOOKSTACK` commit
|
||||
REHEARSAL_2026_10_20_APP_RADICALE: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_APP_RADICALE` commit
|
||||
REHEARSAL_2026_10_20_APP_VAULTADMIN: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_APP_VAULTADMIN` commit
|
||||
REHEARSAL_2026_10_20_BIND_TOKEN: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_BIND_TOKEN` commit
|
||||
REHEARSAL_2026_10_20_BIND_TOKEN_B7: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_BIND_TOKEN_B7` commit
|
||||
REHEARSAL_2026_10_20_BOOKSTACK_TOKEN: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_BOOKSTACK_TOKEN` commit
|
||||
REHEARSAL_2026_10_20_DASH_PW: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_DASH_PW` commit
|
||||
REHEARSAL_2026_10_20_FAMILY_IRISZ: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_FAMILY_IRISZ` commit
|
||||
REHEARSAL_2026_10_20_FAMILY_KATA: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_FAMILY_KATA` commit
|
||||
REHEARSAL_2026_10_20_FAMILY_ODON: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_FAMILY_ODON` commit
|
||||
REHEARSAL_2026_10_20_INSTALL_ROOTPW: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_INSTALL_ROOTPW` commit
|
||||
REHEARSAL_2026_10_20_IRISZ_PW: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_IRISZ_PW` commit
|
||||
REHEARSAL_2026_10_20_KATA_PW: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_KATA_PW` commit
|
||||
REHEARSAL_2026_10_20_ODON_PW: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_ODON_PW` commit
|
||||
REHEARSAL_2026_10_20_OLD_BIND_TOKEN: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_OLD_BIND_TOKEN` commit
|
||||
REHEARSAL_2026_10_20_PAIRING_CODE: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_PAIRING_CODE` commit
|
||||
REHEARSAL_2026_10_20_PAIRING_CODE_B7: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_PAIRING_CODE_B7` commit
|
||||
REHEARSAL_2026_10_20_SETUP_CODE: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_SETUP_CODE` commit
|
||||
REHEARSAL_2026_10_20_SETUP_CODE_B7: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_SETUP_CODE_B7` commit
|
||||
REHEARSAL_2026_10_20_SMB_PW: removed; committed and pushed; undo: git revert of the `rm REHEARSAL_2026_10_20_SMB_PW` commit
|
||||
FIXES_2026_10_21_BIND_TOKEN: removed; committed and pushed; undo: git revert of the `rm FIXES_2026_10_21_BIND_TOKEN` commit
|
||||
FIXES_2026_10_21_PAIRING_CODE: removed; committed and pushed; undo: git revert of the `rm FIXES_2026_10_21_PAIRING_CODE` commit
|
||||
FIXES_2026_10_21_ROOTPW: removed; committed and pushed; undo: git revert of the `rm FIXES_2026_10_21_ROOTPW` commit
|
||||
FIXES_2026_10_21_SETUP_CODE: removed; committed and pushed; undo: git revert of the `rm FIXES_2026_10_21_SETUP_CODE` commit
|
||||
NIGHT_2026_10_21_BIND_TOKEN: removed; committed and pushed; undo: git revert of the `rm NIGHT_2026_10_21_BIND_TOKEN` commit
|
||||
NIGHT_2026_10_21_PAIRING_CODE: removed; committed and pushed; undo: git revert of the `rm NIGHT_2026_10_21_PAIRING_CODE` commit
|
||||
NIGHT_2026_10_21_ROOTPW: removed; committed and pushed; undo: git revert of the `rm NIGHT_2026_10_21_ROOTPW` commit
|
||||
NIGHT_2026_10_21_SETUP_CODE: removed; committed and pushed; undo: git revert of the `rm NIGHT_2026_10_21_SETUP_CODE` commit
|
||||
NIGHT_2026_10_23_BIND_TOKEN: removed; committed and pushed; undo: git revert of the `rm NIGHT_2026_10_23_BIND_TOKEN` commit
|
||||
NIGHT_2026_10_23_DASH_PW: removed; committed and pushed; undo: git revert of the `rm NIGHT_2026_10_23_DASH_PW` commit
|
||||
NIGHT_2026_10_23_PAIRING_CODE: removed; committed and pushed; undo: git revert of the `rm NIGHT_2026_10_23_PAIRING_CODE` commit
|
||||
NIGHT_2026_10_23_ROOTPW: removed; committed and pushed; undo: git revert of the `rm NIGHT_2026_10_23_ROOTPW` commit
|
||||
NIGHT_2026_10_23_SETUP_CODE: removed; committed and pushed; undo: git revert of the `rm NIGHT_2026_10_23_SETUP_CODE` commit
|
||||
NIGHT_2026_10_23_VAULTED_ROOTPW: removed; committed and pushed; undo: git revert of the `rm NIGHT_2026_10_23_VAULTED_ROOTPW` commit
|
||||
RIG_2026_10_25_DASH_PW: removed; committed and pushed; undo: git revert of the `rm RIG_2026_10_25_DASH_PW` commit
|
||||
RIG_2026_10_25_SETUP_CODE: removed; committed and pushed; undo: git revert of the `rm RIG_2026_10_25_SETUP_CODE` commit
|
||||
REL_2026_10_26_ROOTPW: removed; committed and pushed; undo: git revert of the `rm REL_2026_10_26_ROOTPW` commit
|
||||
SWEEP_2026_10_24_BIND_TOKEN: removed; committed and pushed; undo: git revert of the `rm SWEEP_2026_10_24_BIND_TOKEN` commit
|
||||
SWEEP_2026_10_24_DASH_PW: removed; committed and pushed; undo: git revert of the `rm SWEEP_2026_10_24_DASH_PW` commit
|
||||
SWEEP_2026_10_24_PAIRING_CODE: removed; committed and pushed; undo: git revert of the `rm SWEEP_2026_10_24_PAIRING_CODE` commit
|
||||
SWEEP_2026_10_24_ROOTPW: removed; committed and pushed; undo: git revert of the `rm SWEEP_2026_10_24_ROOTPW` commit
|
||||
SWEEP_2026_10_24_SETUP_CODE: removed; committed and pushed; undo: git revert of the `rm SWEEP_2026_10_24_SETUP_CODE` commit
|
||||
R_C11_REWALK: removed; committed and pushed; undo: git revert of the `rm R_C11_REWALK` commit
|
||||
R_PART4: removed; committed and pushed; undo: git revert of the `rm R_PART4` commit
|
||||
Reference in new issue
Block a user