HOMELAB-2682: chore(sbx): forgejo-ext seed pin 96437d4a -> cd50fbc6 #884
No reviewers
Labels
No labels
operator-review
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Homelab/infra-core!884
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "plane/HOMELAB-2682-forgejo-ext-pin-cd50fbc6"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Pin bump only — the
forgejoextension seed in both epic sandboxes moves96437d4a→cd50fbc6, theHomelab/pi-extensionsmainhead the #115 and #114landings left behind:
7435cbe) — the comment tool refuses anexpected_identitythatdeclares the operator, at resolution, before
GET /userand before any write.91aa75f) — the open-finding refusal message prints only resolutionforms that actually close a finding (a bare number does not), and
--resolve-reviewstates its own scope on itsresolution:line.What moved
scripts/gits-sbx-forgejo-ext-gen.shUPSTREAM_REFis the ONE shared literal;the script emits BOTH objects from it with one
emit_data, so both move together:ConfigMap/sbx-gits-forgejo-ext(sbx-gits)core/manifests/apps/sbx-gits/forgejo-ext.yamlConfigMap/sbx-lab-forgejo-ext(sbx-lab)core/manifests/apps/sbx-lab/forgejo-ext.yamlBoth are well under the ~1 MiB ConfigMap ceiling.
Of the nine runtime files four differ between the two shas —
landing.ts,verdict.ts,api.ts,index.ts(docs/forgejo.mdandtests/from the samemerges are not in the emitted set). Both objects keep the same 9 keys in the same
order, the same names/namespaces/labels and the same
filesannotation. The onlyother moved lines are the
source-refannotation, the two header pin literals andthe computed embedded-size line.
Changed paths — exactly three:
Verified
scripts/gits-sbx-forgejo-ext-gen.sh --check→ exit 0, BOTH objects IN SYNCat
cd50fbc65a1c277dd4baf4a55267acd0de4d7dcf.data:block are byte-identical (sha256) to thecd50fbc6tree, extracted withgit archive cd50fbc6:forgejo— not taken from aworking copy. The four changed keys hash to
landing.ts cbaad94d,verdict.ts 5cd88db6,api.ts 50c67355,index.ts f9360550(the same bytes now placed on the mgmt drop).
96437d4avalues(
types.ts 0756be4d,verdict-cli.ts eed3d54f,comment-as.ts 43805c03,package.json 96e8de56,tsconfig.json 5587a987).sbx-sendrast isolation
Structural, not incidental, and re-checked against this PR's generated output:
no
sbx-commonorsbx-sendrastpath is touched;git diff --name-only -- core/manifests/apps/sbx-common core/manifests/apps/sbx-sendrastis empty (0 paths).
sbx-sendrastcarries nosbx-forgejo-extvolume and no/run/sbx-forgejo-extmount, and has zero textual references to theextension. The generator has no sendrast output path at all; this PR adds none.
sbx-common/extensions.list(whoseSHA256SUMSrefreshes in place onsync) is not touched and names no
forgejoentry, so this change cannot reachthe Sendrast render. sbx-sendrast stays at 55;
/opt/sendrast-directoruntouched.sbx-sendrast/sbx-common. (The stringdoes occur inside the emitted
landing.tsas pre-existing character data — theupstream help text naming the flows
legacyPanelOwnersprotects — unchanged bythis PR.)
Rollout
No cluster action and no image. The ConfigMaps are regenerated in Git only; each
namespace's
seed-pi-agentinitContainer re-copies its tree on boot(
SEED_FORGEJO_EXT=1,rm -rf+ fresh copy — Git wins), so both pods pick thenew seed up at their next restart. A session already running keeps the old tree
until its pod restarts. Until then the change is carried on the work copies by hand
(both sandbox work copies and the mgmt drop are at
cd50fbc6already; the seedpins are what make it survive a restart).
Verdict of record — ld-reviewer — head
bbdbe6375e: APPROVEmodel: omniroute/deepseek-flash
session: 01a1b382-b66d-70d7-89c1-cc05d3b1abbf
Blockers
None.
What I measured (not taken from the PR body)
Scope.
git fetch origin refs/pull/884/head(FETCH_HEAD ==bbdbe63…, matching thehead this verdict names);
git diff --name-status 018ff488 bbdbe63returns exactly threepaths —
core/manifests/apps/sbx-gits/forgejo-ext.yaml,core/manifests/apps/sbx-lab/forgejo-ext.yaml,scripts/gits-sbx-forgejo-ext-gen.sh(numstat 105/12, 105/12, 14/1).git diff --name-only 018ff488 bbdbe63 -- core/manifests/apps/sbx-common core/manifests/apps/sbx-sendrastis 0 paths,and no added/removed line in the whole diff matches
sbx-sendrast|sbx-common. The sharedsbx-commontree is untouched, so the Sendrast render cannot be reached by this change.Bundle integrity. Both ConfigMaps parsed out of the PR head (
git show bbdbe63:…), 9 flatforgejo.<file>keys each,source-ref: cd50fbc6…. Hashed per key and compared togit archive cd50fbc65a1c277dd4baf4a55267acd0de4d7dcf:forgejo, extracted from a freshlyfetched
Homelab/pi-extensionsorigin/main(I re-fetched before reading it;cd50fbc6is onorigin/main, and is the merge of #114 on top of #115/7435cbe). All 9 keys in BOTH objects aresha256-equal to their upstream file. The two objects'
data:bodies are also byte-identical toeach other.
Which files actually moved (old pin
96437d4avs new, measured, not asserted): changed =index.ts 1cbbb92a→f9360550,api.ts 118b7504→50c67355,landing.ts 1f7c6a03→cbaad94d,verdict.ts 84546148→5cd88db6; unchanged =types.ts 0756be4d,verdict-cli.ts eed3d54f,comment-as.ts 43805c03,package.json 96e8de56,tsconfig.json 5587a987. The four changedprefixes are the four the PR names.
Generator.
UPSTREAM_REF='cd50fbc65a1c277dd4baf4a55267acd0de4d7dcf'; the script's only twooutput paths are
OUT_GITS/OUT_LAB(the sbx-gits and sbx-lab objects) written through onewrite_one, and the diff adds no third path.--check, run by me in a throwaway root layoutholding the two PR-head objects, with
SRC= my owngit archiveextraction:exit 0,
sbx-gits/forgejo-ext.yaml is IN SYNC(622080B) andsbx-lab/forgejo-ext.yaml is IN SYNC(622821B) at
cd50fbc6. Negative control so a no-op check cannot pass for a green one: flipping asingle byte in the lab object makes it report
DRIFTEDand exit 1. Both objects stay well underthe 1 MiB ConfigMap ceiling.
Non-blocking note, style only: the added pin paragraph restates the previous paragraph's closing
two sentences verbatim (the script's documented convention is one paragraph per bump, and the
previous bump did the same). Prose duplication, no effect on the emitted objects.
Exposure
Read-only throughout:
git fetch+git diff/git show/git archiveonHomelab/infra-coreand
Homelab/pi-extensions, YAML parsing and sha256 in Python, and the generator's own--checkplus one locally mutated copy. Nothing was written to either repo, no cluster access, no comment
or review other than this one.