IR-20261112-d6: take the reviewer token out of sbx-lab and sbx-gits (D6) #956
Open
pi-landing
wants to merge 5 commits from
plane/f-r2-d6-sbx-reviewer-out into live
pull from: plane/f-r2-d6-sbx-reviewer-out
merge into: Homelab:live
Homelab:main
Homelab:live
Homelab:sso/zitadel-guest-users
Homelab:sso/argocd-readonly-groups
Homelab:lr-20261111-025/amendment-4
Homelab:ld/IR-20261112-phase1guard
Homelab:ld/IR-20261112-kimipool
Homelab:lr-20261111-017-a24
Homelab:plane/IR-20261112-relayalert
Homelab:plane/IR-20261112-sbxdisk
Homelab:lr-20261111-025/seat-template
Homelab:plane/IR-20261112-mgmtdns
Homelab:plane/IR-20261112-r10-openbao-loki
Homelab:plane/R39-forgejo-access-log-sink
Homelab:plane/R39-forgejo-access-log-auth
Homelab:plane/IR-20261111-extdel-v2
Homelab:plane/f-r2-d6-gits-reviewer-removal
Homelab:plane/R39-forgejo-access-log
Homelab:plane/R1-localbin
Homelab:plane/IR-20261111-r25offdisk
Homelab:plane/IR-20261112-runners8
Homelab:plane/EXTDEL-4918-forgejo-ext
Homelab:plane/IR-20261112-npmcache
Homelab:lr-20261111-016-launchcap
Homelab:plane/IR-20261111-runners10
Homelab:plane/IR-20261111-c8brief
Homelab:IR-20261111-runnercap
Homelab:plane/IR-20261111-baohelper
Homelab:plane/IR-20261111-gitsemu
Homelab:plane/IR-20261111-runnerlock
Homelab:plane/IR-20261111-c8grants
Homelab:lr-20261111-017-n9
Homelab:lr-20261111-025/seatpost
Homelab:ld/LR-20261111-024-seat-ban
Homelab:lr-20261111-017-seatlookup
Homelab:spec-014-skill-sync
Homelab:ld-spec-009/relay-fixforward
Homelab:ld/spec-016-launch-cap
Homelab:ld-spec-009/relay-a3
Homelab:plane/LR-20261111-018-seat-posting
Homelab:plane/LR-20261111-012-sbx-lab-transcripts
Homelab:spec-010-fit2
Homelab:ld-spec-009/relay
Homelab:plane/HOMELAB-C3C-epic-supervisor
Homelab:plane/dircfg-c3b-work-pointer
Homelab:plane/HOMELAB-2479-sbx-ffmpeg
Homelab:plane/dircfg-c5-epic-supervisor
Homelab:plane/dircfg-c4-opening
Homelab:plane/dircfg-c3-work-md
Homelab:plane/dircfg-c2-brief-metodo
Homelab:plane/dircfg-c6-sbx-sendrast-skills
Homelab:plane/HOMELAB-2479-zitadel-display-name
Homelab:plane/dircfg-c1-director-gitinit
Homelab:plane/HOMELAB-2479-sbx-sendrast-9gi
Homelab:plane/HOMELAB-2479-invite-list-reader
Homelab:plane/HOMELAB-2479-sbx-lab-wk02-affinity
Homelab:plane/HOMELAB-2479-wk02-sbx-lab-limit
Homelab:plane/HOMELAB-2479-zitadel-user-drift
Homelab:plane/HOMELAB-2479-zitadel-h2c
Homelab:spec-008-b-sbxlab-pin
Homelab:spec-008-a-sbxfleet-base-bump
Homelab:spec-007-ld-implement-skill
Homelab:archive/plane/HOMELAB-2658-omniroute-containment-wip-20261110
Homelab:archive/plane/HOMELAB-2446-wk01-requests-wip-20261110
Homelab:plane/HOMELAB-2479-gits-fixture-vendor
Homelab:ld-spec-004
Homelab:plane/HOMELAB-2479-plane-smtp-chart
Homelab:ld-spec-003
Homelab:plane/HOMELAB-2479-aaron-site-zitadel
Homelab:plane/HOMELAB-2479-runner-requests
Homelab:plane/ld-stopnow-gits-pin
Homelab:plane/ld-stopnow-alias-retire
Homelab:plane/HOMELAB-2479-sbx-gits-probe-tmp
Homelab:plane/HOMELAB-2479-gits-toolcache
Homelab:plane/ld-stopnow-sbxlab-pin
Homelab:plane/ld-stopnow-sbxfleet-base2
Homelab:plane/ld-stopnow-sbxfleet-base
Homelab:plane/ld-stopnow-item2-skill-rule
Homelab:plane/HOMELAB-88-cm-ssa-syncopt
Homelab:plane/HOMELAB-88-sandbox-telemetry
Homelab:plane/HOMELAB-88-sbx-gits-16g
Homelab:plane/HOMELAB-88-whisper-cuda
Homelab:plane/HOMELAB-2479-secretscan-fixture-allowlist
Homelab:plane/HOMELAB-2479-registry-backup
Homelab:plane/HOMELAB-2682-sandbox-init-tmpfix
Homelab:plane/HOMELAB-2479-fix-port-gate
Homelab:plane/HOMELAB-2479-emulator-gate
Homelab:plane/HOMELAB-2479-fixture-resync
Homelab:plane/HOMELAB-2682-forgejo-ext-pin-cd50fbc6
Homelab:plane/HOMELAB-2479-openbao-raft-verify
Homelab:plane/HOMELAB-2682-forgejo-ext-pin-96437d4a
Homelab:plane/HOMELAB-2479-moore-disk-alert
Homelab:plane/HOMELAB-2479-harbor-pin-secrets
Homelab:plane/HOMELAB-2682-relief-threshold-p1
Homelab:archive/plane/HOMELAB-2682-relief-threshold-20261109
Homelab:plane/HOMELAB-2682-relief-threshold
Homelab:plane/HOMELAB-2682-sbx-gits-seed-pin
Homelab:plane/HOMELAB-2479-ci-trim
Homelab:plane/HOMELAB-2682-ok0
Homelab:plane/HOMELAB-2479-liveness-window-120s
Homelab:plane/HOMELAB-2682-seed-bump
Homelab:plane/HOMELAB-2682-transcripts
Homelab:plane/HOMELAB-2682-pin-bump
Homelab:plane/HOMELAB-2682-declaration
Homelab:plane/HOMELAB-2682-gradle-daemon-gen
Homelab:plane/HOMELAB-2682-tools-pin
Homelab:plane/HOMELAB-2479-harbor-db-backup
Homelab:plane/HOMELAB-2682-suite-relpath
Homelab:plane/HOMELAB-2682-revert-859-delivery
Homelab:plane/HOMELAB-2479-volume-floor
Homelab:plane/HOMELAB-2682-check-anchor
Homelab:dev/cockpit
Homelab:plane/HOMELAB-2479-nic-roster
Homelab:plane/HOMELAB-2479-nic-roster-rehome
Homelab:ld-1/truth-fixes
Homelab:ld-1/remove-open-chat
Homelab:ld-1/gate-cut
Homelab:plane/HOMELAB-2479-nic-critical
Homelab:plane/HOMELAB-2479-startup-probe
Homelab:ld-1/dev-route-1
Homelab:plane/HOMELAB-2479-factory-token
Homelab:plane/HOMELAB-2682-evidence-fixes
Homelab:ld-1/gate-dev-route
Homelab:plane/HOMELAB-2479-sbx-resources
Homelab:plane/HOMELAB-2479-factory-pr-series
Homelab:plane/HOMELAB-2682-preclean-optout
Homelab:plane/HOMELAB-2479-measurement
Homelab:plane/sbx-gits-resources-20261105
Homelab:plane/sbx-lab-resources-20261105
Homelab:plane/HOMELAB-2682-emu-proof
Homelab:plane/HOMELAB-2682-sbxgits-pin
Homelab:plane/HOMELAB-2682-ssh-image
Homelab:archive/plane/HOMELAB-2694-sandbox-mem-page-20261110
Homelab:plane/HOMELAB-2694-sandbox-mem-page
Homelab:plane/HOMELAB-2537-jvm-proof-mode
Homelab:plane/HOMELAB-2694-sbx-lab-memory
Homelab:plane/HOMELAB-2694-psi-memory-alert
Homelab:plane/HOMELAB-2682-lab-env
Homelab:plane/HOMELAB-2694-sandbox-oom-alerts
Homelab:plane/HOMELAB-2682-quote-rule
Homelab:plane/HOMELAB-2481-sandbox-log-reader
Homelab:plane/HOMELAB-2682-sbx-lab-ext
Homelab:plane/HOMELAB-2688-longhorn-alerts
Homelab:plane/HOMELAB-2682-sbx-lab-idents
Homelab:plane/HOMELAB-2682-ct-skills
Homelab:plane/GITS-492-tablet-build-delivery
Homelab:epic/ld-1
Homelab:plane/HOMELAB-2680-sandbox-redact
Homelab:plane/HOMELAB-2683-sbx-lab-pin
Homelab:plane/HOMELAB-2685-outage-alerts
Homelab:plane/HOMELAB-2683-gcc-sbx-lab
Homelab:plane/HOMELAB-2658-omniroute-containment
Homelab:plane/HOMELAB-2440-sbx-lab-cpu
Homelab:plane/HOMELAB-2673-ci-pending-paging
Homelab:plane/HOMELAB-2675-sbx-gits-alerts
Homelab:plane/HOMELAB-2440-sbx-lab-request
Homelab:plane/HOMELAB-2445-sbx-lab-offpve
Homelab:plane/HOMELAB-2445-wk06-requests
Homelab:plane/HOMELAB-2658-liveness
Homelab:plane/HOMELAB-2655-sbx-sendrast-pin-54c78dd
Homelab:plane/HOMELAB-2655-sbx-sendrast-t7
Homelab:plane/HOMELAB-2626-h9-voz-sandbox
Homelab:plane/HOMELAB-2636-android-emu-b
Homelab:plane/GITS-401-drain-envelope
Homelab:plane/HOMELAB-2492-volume-attach-alerts
Homelab:plane/HOMELAB-2626-h8e-skill-hipervisor
Homelab:plane/HOMELAB-2488-io-psi-alerts
Homelab:plane/HOMELAB-2626-h8d-skills-pi
Homelab:plane/HOMELAB-2626-h8c-skills-pi-pulido
Homelab:plane/HOMELAB-2626-h8b-skills-pi-fixes
Homelab:plane/HOMELAB-2489-longhorn-tgtd-alerts
Homelab:plane/HOMELAB-2626-h8-skills-pi
Homelab:plane/HOMELAB-2618-h3-checklist
Homelab:plane/HOMELAB-2547-sbx-sendrast-pin7
Homelab:plane/HOMELAB-2618-h7-sbx-sendrast-kubectl
Homelab:plane/HOMELAB-2618-h6-sbx-lab-viewer
Homelab:plane/HOMELAB-2547-sbx-sendrast-pin6
Homelab:plane/HOMELAB-2614-etcd-leader-alert
Homelab:plane/HOMELAB-2547-sbx-sendrast-r59
Homelab:plane/HOMELAB-2618-h4-ci-reader
Homelab:plane/HOMELAB-2618-h2v3-sbx-sendrast
Homelab:plane/HOMELAB-2546-sbx-sendrast-pin5
Homelab:plane/HOMELAB-2547-sbx-sendrast-pidir
Homelab:plane/HOMELAB-2547-sbx-sendrast-pooldir
Homelab:plane/HOMELAB-2618-h5c-bump
Homelab:plane/HOMELAB-2547-sbx-sendrast-credhelper
Homelab:plane/HOMELAB-2618-h1fix-kustomize
Homelab:plane/HOMELAB-2618-h5-sbx-fleet
Homelab:plane/HOMELAB-2618-h1-fuente-unica
Homelab:plane/HOMELAB-2618-h2-sendrast
Homelab:plane/HOMELAB-2547-sbx-sendrast-rbac
Homelab:plane/HOMELAB-2618-h0-ondelete
Homelab:plane/HOMELAB-2446-wk01-requests
Homelab:plane/HOMELAB-2570-idle-liveness
Homelab:plane/HOMELAB-2511-step-alert
Homelab:plane/HOMELAB-2546-sbx-sendrast-pin4
Homelab:plane/HOMELAB-2546-sbx-sendrast-health2
Homelab:plane/HOMELAB-2546-sbx-sendrast-pin3
Homelab:plane/HOMELAB-2546-sbx-sendrast-health
Homelab:plane/HOMELAB-2546-sbx-sendrast-gotoolchain
Homelab:plane/HOMELAB-2546-sbx-sendrast-pin2
Homelab:plane/HOMELAB-2546-sbx-sendrast-r43
Homelab:plane/HOMELAB-2445-descheduler-repause
Homelab:plane/HOMELAB-2546-sbx-sendrast-psa
Homelab:plane/HOMELAB-2537-sbx-gits-post-humo
Homelab:plane/HOMELAB-2546-sbx-sendrast-wk03
Homelab:plane/HOMELAB-2537-sbx-gits-fix-perm
Homelab:plane/HOMELAB-2546-sbx-sendrast-pin
Homelab:plane/HOMELAB-2546-sbx-sendrast-platform
Homelab:plane/HOMELAB-2546-sbx-sendrast
Homelab:plane/HOMELAB-2537-sbx-gits
Homelab:plane/HOMELAB-2481-dind-gc-tightening
Homelab:archive/plane/HOMELAB-2481-node-local-dind-20261110
Homelab:plane/HOMELAB-2481-node-local-dind
Homelab:plane/HOMELAB-2535-sbx-lab-gitops
Homelab:plane/HOMELAB-2483-volume-usage-alert
Homelab:plane/HOMELAB-2482-slice-B-prepare
Homelab:plane/HOMELAB-2482-slice-C-ephemeral-ceilings
Homelab:plane/HOMELAB-2483-retention
Homelab:plane/HOMELAB-2483-alerts
Homelab:plane/GITS-395-emulator-adb-v2
Homelab:plane/GITS-395-emulator-adb
Homelab:plane/HOMELAB-2472-dor-newtest
Homelab:plane/GITS-403-emu-env-drift
Homelab:plane/HOMELAB-2467-gitleaks-scan
Homelab:plane/GITS-401-dind-digest
Homelab:plane/GITS-371-android-emu-prestop-command
Homelab:plane/GITS-371-android-emu-dind-drain
Homelab:plane/GITS-371-android-emu-shutdown-grace
Homelab:plane/HOMELAB-2196-speed-batch
Homelab:plane/HOMELAB-2442-android-ci-raise
Homelab:plane/HOMELAB-2442-runner-pool
Homelab:plane/HOMELAB-2442-mem-rightsize
Homelab:plane/HOMELAB-2443-ldpush-memory
Homelab:plane/HOMELAB-2444-fpr
Homelab:plane/GITS-364-emu-drift-fix
Homelab:plane/GITS-362-release-upload-mount
Homelab:plane/HOMELAB-2432-alerts
Homelab:plane/HOMELAB-1945-landing-step
Homelab:plane/HOMELAB-2421-dashboard
Homelab:plane/HOMELAB-2417-baseline
Homelab:plane/HOMELAB-2418-runners
Homelab:plane/HOMELAB-2415-budget-kill-scope
Homelab:plane/GITS-33-e0r-t3-android-release-lane
Homelab:plane/HOMELAB-2412-pernode-cap
Homelab:plane/GITS-281-android-ci-pin
Homelab:plane/HOMELAB-2407-gate-creation-exempt
Homelab:plane/GITS-281-android-ci-image-emulator
Homelab:plane/HOMELAB-2406-panel-artifact
Homelab:plane/GITS-22-e0-t13
Homelab:plane/HOMELAB-2402-node-keys
Homelab:plane/GITS-21-e0-t12
Homelab:plane/GITS-19-e0-t10
Homelab:plane/GITS-18-e0-t9
Homelab:plane/HOMELAB-1941-b13-slice2
Homelab:plane/HOMELAB-2400-active-rows
Homelab:plane/HOMELAB-2395-trim-manage-key
Homelab:plane/HOMELAB-1944-panel-gateway
Homelab:plane/HOMELAB-2392-diff-fetch
Homelab:plane/HOMELAB-1940-caps-accounting
Homelab:plane/HOMELAB-2390-diff-git
Homelab:plane/HOMELAB-1944-panel-runtime
Homelab:plane/HOMELAB-2329-gate-decision
Homelab:plane/HOMELAB-2381-claim-retry
Homelab:plane/record-sql-test-fix
Homelab:plane/HOMELAB-2373-tailscale-1.104.4
Homelab:plane/HOMELAB-2357-resume-inflight
Homelab:plane/HOMELAB-2372-fail-closed
Homelab:plane/HOMELAB-2278-freshness
Homelab:plane/HOMELAB-2356-runtime-verdicts
Homelab:plane/HOMELAB-2281-objectlock
Homelab:plane/HOMELAB-2340-pane-loss
Homelab:plane/HOMELAB-1943-frozen-charters
Homelab:plane/HOMELAB-2348-replay-refusal
Homelab:plane/HOMELAB-1944-review-panel
Homelab:plane/HOMELAB-2341-reauthorize-anchor
Homelab:plane/HOMELAB-1942-workflow-knobs
Homelab:plane/HOMELAB-2327-signing-dispatch
Homelab:plane/HOMELAB-2280-pacing
Homelab:plane/HOMELAB-2195-f9-dor
Homelab:plane/HOMELAB-2249-orphan-alert
Homelab:plane/HOMELAB-2311-runbook
Homelab:plane/HOMELAB-2302-argocd-reader
Homelab:plane/HOMELAB-2273-etcd-snapshot-b2
Homelab:plane/HOMELAB-2298-eso-repo-password
Homelab:plane/HOMELAB-2274-raft-b2
Homelab:plane/HOMELAB-2249-alerts
Homelab:plane/HOMELAB-2258-xhost-sc
Homelab:plane/HOMELAB-2259-strict-local
Homelab:plane/HOMELAB-2195-f4-workflow-id
Homelab:plane/HOMELAB-2260-node-labels
Homelab:plane/HOMELAB-2257-zone-labels
Homelab:plane/HOMELAB-2195-b2-drain-rule
Homelab:plane/HOMELAB-2195-b3-records
Homelab:plane/HOMELAB-2195-b5-fragility
Homelab:plane/HOMELAB-2195-b1-dor-pickup
Homelab:plane/HOMELAB-1939-bumpupdate
Homelab:plane/HOMELAB-1939-mergedecode
Homelab:plane/HOMELAB-1939-agentwait
Homelab:plane/HOMELAB-2240-lane
Homelab:plane/HOMELAB-2246-runner-1rep
Homelab:plane/HOMELAB-1980-b11-pane-hold
Homelab:plane/HOMELAB-2235-argocd-memory
Homelab:plane/HOMELAB-2232-proxmox-module
Homelab:plane/HOMELAB-gitops-atlantis
Homelab:plane/HOMELAB-2210-docker-config-seed2
Homelab:plane/HOMELAB-2210-runner-pin
Homelab:plane/HOMELAB-2210-runner-buildx
Homelab:plane/HOMELAB-1932-ld-runners
Homelab:plane/HOMELAB-2200-snapshot-retain
Homelab:plane/HOMELAB-2199-cnpg-backup-stale
Homelab:plane/HOMELAB-2201-runner-gc
Homelab:plane/HOMELAB-1926-plane-rabbitmq-resources
Homelab:plane/HOMELAB-1905-cnpg-ha-docs
Homelab:plane/HOMELAB-1906-cronjob-ttl-rules
Homelab:plane/HOMELAB-1904-longhorn-fixes
Homelab:plane/HOMELAB-1908-annotation-fix
Homelab:plane/HOMELAB-1904-cnpg-ha-rules
Homelab:plane/HOMELAB-1904-recyclarr-netpol
Homelab:plane/HOMELAB-1904-cpu-rightsize
Homelab:plane/HOMELAB-1893-alertintake-plane-storm
Homelab:plane/HOMELAB-1878-retention
Homelab:epic/LD4
Homelab:plane/HOMELAB-1885-cockpit-e2e
Homelab:plane/HOMELAB-1727-skillhealth
Homelab:plane/HOMELAB-1728-signals
Homelab:plane/HOMELAB-1731-fitness
Homelab:plane/HOMELAB-1859-gateway
Homelab:plane/HOMELAB-1847-oncall
Homelab:plane/HOMELAB-1690-l7
Homelab:plane/HOMELAB-1850-tempo
Homelab:plane/HOMELAB-1850-attribution
Homelab:plane/HOMELAB-1686-meetings
Homelab:epic/LD3
Homelab:plane/HOMELAB-1684-derived-state
Homelab:plane/HOMELAB-1871-oidc-entrypoint-fix
Homelab:plane/HOMELAB-1871-oidc-sync
Homelab:plane/HOMELAB-1865-atlantis-leg
Homelab:plane/HOMELAB-1730-readiness
Homelab:plane/HOMELAB-1681b-image-dispatch
Homelab:plane/HOMELAB-1682-gates-backend
Homelab:plane/HOMELAB-1848-alert-audit
Homelab:plane/HOMELAB-1729-planfresh
Homelab:plane/HOMELAB-1848-contract-demo
Homelab:plane/HOMELAB-1854-longhorn-guard
Homelab:plane/HOMELAB-1685-intake
Homelab:plane/HOMELAB-1688-routines
Homelab:plane/HOMELAB-1687-el-director
Homelab:plane/HOMELAB-1827-prepull
Homelab:plane/HOMELAB-1827-livez
Homelab:plane/HOMELAB-1835-alert-rule
Homelab:plane/HOMELAB-1831-plane-vendor
Homelab:plane/HOMELAB-1746-es-newt-next
Homelab:plane/HOMELAB-1841-kubeprism
Homelab:plane/HOMELAB-1825-sandbox-pullsecrets
Homelab:plane/HOMELAB-1828-outline-minio
Homelab:plane/HOMELAB-1828-cnpg-alert
Homelab:plane/HOMELAB-1711-compile-before-claim
Homelab:plane/HOMELAB-1711-image-smoke
Homelab:epic/ld2
Homelab:plane/HOMELAB-1711-dispatcher-deploy
Homelab:plane/HOMELAB-1711-sweep-heart
Homelab:plane/HOMELAB-1824-omni-liveness
Homelab:plane/HOMELAB-1746-idp-redirect
Homelab:plane/HOMELAB-1711-sweep-control
Homelab:plane/HOMELAB-1711-raceprobe
Homelab:plane/HOMELAB-1711-dispatcher-image
Homelab:plane/HOMELAB-1720-identity
Homelab:plane/HOMELAB-1678-bashguard-fix
Homelab:plane/HOMELAB-1746-pangolin-oidc
Homelab:plane/HOMELAB-1680-custodian
Homelab:plane/HOMELAB-1678-scheduler
Homelab:plane/HOMELAB-1676-sentinel
Homelab:plane/HOMELAB-1677-rcbridge
Homelab:plane/HOMELAB-1796-teardown
Homelab:plane/HOMELAB-1794-spawn
Homelab:plane/HOMELAB-1797-claims
Homelab:plane/HOMELAB-1808-1809-fixes
Homelab:plane/HOMELAB-1791-sandbox-init
Homelab:plane/HOMELAB-1795-watch
Homelab:plane/HOMELAB-1798-compiler
Homelab:plane/HOMELAB-1674-claude-image
Homelab:plane/HOMELAB-1672-job-contract
Homelab:plane/HOMELAB-1698-meet-ai-namespace
Homelab:plane/HOMELAB-1635-cp01-pins
Homelab:plane/HOMELAB-1585-argocd-repo-creds
Homelab:plane/HOMELAB-1766-gateway-alerts
Homelab:epic/LD1
Homelab:plane/HOMELAB-1735-env-fix
Homelab:plane/HOMELAB-1735-harbor-robot
Homelab:plane/HOMELAB-1666-agent-sandbox
Homelab:plane/HOMELAB-1665-pi-image
Homelab:archive/epic/LD0-20261109
Homelab:plane/HOMELAB-1634-dind-harbor-auth
Homelab:plane/HOMELAB-1634-runner-cleanup
Homelab:plane/HOMELAB-1634-review-followups
Homelab:homelab/HOMELAB-1630-runner-resources
Homelab:plane/HOMELAB-1621-cpu-barchart
Homelab:plane/HOMELAB-1619-mgmt-vm-dashboard
Homelab:plane/HOMELAB-1598-oidc
Homelab:plane/HOMELAB-1574-plane-image-bump
Homelab:plane/HOMELAB-1535-outline-prestop
Homelab:plane/HOMELAB-1535-outline-ha
Homelab:plane/HOMELAB-1534-reviewer-fetch-auth
Homelab:plane/HOMELAB-1518-longhorn-rule-fix
Homelab:plane/HOMELAB-1527-tempo-pipeline
Homelab:plane/HOMELAB-1526-mqttx-web
Homelab:plane/HOMELAB-1511-prowlarr-qbit
No reviewers
Labels
No labels
operator-review
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
Homelab/infra-core!956
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "plane/f-r2-d6-sbx-reviewer-out"
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?
D6 (F-R2-POD-ENV): the reviewer token leaves the sandboxes — infra-core half
SUPERSEDED BY THE SPLIT BELOW (3c, 11:48:30Z). The paragraphs that used to
open this body said both sandboxes lose the reviewer credential in this PR. They
no longer do:
sbx-labloses it here;sbx-gitskeepssbx-gits-ld-reviewerand gains its own posting identity instead. The removal of
sbx-gits-ld-revieweris #957, HELD.REVIEW 3c / FIX ROUND 2 (cd, 12:32:39Z) FOLDED INTO THE SPLIT
N1 (tf-plan deny, R30 path — MUST show in the CI plan). The
tf-planpolicyholds
path "*" {read, list, sudo}and prod PR branches run that plan, so the D6objects were reachable through the plan route even with the stores namespaced and
eso-readdenying them.Homelab/prod#1216(same run) now addsdenyonkv/data/ld-fleet/*,kv/metadata/ld-fleet/*,kv/data/sbx-gits/gits-reviewerand
kv/metadata/sbx-gits/gits-reviewertotf-plan. Filtered plan atpr-d6/plan-3296-filtered.txt(prod run 3296 job 0, headb6a3078c):Plan: 7 to add, 2 to change, 0 to destroy—vault_policy.tf_planupdatedin-place with both deny blocks visible.
Wording, exactly as ruled (12:33:02Z) — this sentence now appears wherever the
old "outside every sandbox's reach" claim was:
N2 (split shape, binding). At this head:
sbx-gits-ld-revieweris KEPT here(its removal is #957, HELD);
gits-revieweris ADD-only(store/ES/mount/SA); and this PR carries its own
eso-readdeny and thetf-plandeny onkv/data+kv/metadatasbx-gits/gits-reviewer.N3 (the RUN 2 route, agreed). Order, exactly:
force-syncthe reviewer ExternalSecret; confirmReady=Trueand achanged Secret
resourceVersion(read the version, never the value).rollout restartld-runtime(LD_REVIEWER_TOKENis an envsecretKeyRef,captured at container start).
before the revoke proves nothing: both tokens are
ld-reviewer, so it canpass on the old env.
The old-path readers the revoke cuts (read at this PR head,
terraform/openbao.tf: the only policies grantingkv/data/ld/forgejo-reviewerare those two; everything else on that path is the ESO role
eso-ld-forgejo-reviewer, whose sandbox consumers are exactly theExternalSecrets this change-set moves):
ld-landing-narrowvault_policy.ld_landing_narrow— exactkv/data/ld/forgejo-reviewer+kv/data/pi/forgejo-landingpi/forgejo-landing(untouched); its reviewer-path grant stops being usable once the object is revoked, which is the intent — pi-landing posts, it does not reviewld-reviewer-postvault_policy.ld_reviewer_post— exactkv/data/ld/forgejo-reviewerkv/ld-fleet/ld-runtime-reviewerthrough theld-fleetnamespaced store: the runtime's panel posts asld-reviewerfromld-fleet, which is the whole point of D6eso-ld-forgejo-reviewer(four ESs:ld-fleet/ld-read-forgejo-token,ld-fleet/ld-runtime-forgejo-reviewer,sbx-lab/sbx-lab-ld-reviewer,sbx-gits/sbx-gits-ld-reviewer)eso-ld-*ld-fleetESs move tokv/ld-fleet/*(prod#1216);sbx-lab-ld-revieweris deleted here;sbx-gits-ld-revieweris deleted by #957 after the GITS proof rowsSPLIT (3c 11:47:44Z + 11:48:30Z): the sbx-gits half is an ADD, not a removal
New head:
839da5c7. Two new commits on top of0b3e4c7e(nothing wasforce-pushed and nothing was amended):
7d0c9ac1d7cfde80/0b3e4c7e, so this PR's net diff is the sbx-lab half only (3 files, -78/+1) plus, from the commit below, the gits addition839da5c7gits-reviewerfor the GITS seats (see below)Why the gits deletion is not in this PR
ref/seat-clean/bin/seat-post-comment.shinsbx-gits-0posts GITS gateverdicts with
/run/secrets/ld/identities/ld-reviewer/token. Deleting thatcredential today stops GITS seats from posting, so it is swapped, not
removed: the seats get their own identity, which can post and cannot approve.
What this PR adds for sbx-gits (
839da5c7)kv/sbx-gits/gits-reviewer(username,token);openbao.tfpolicy reading only that path (eso-sbx-gits-gits-reviewer)and a role bound to
sbx-gits/eso-openbao-gits-revieweronly — inHomelab/prod#1216, same run;eso_readdeny on BOTHkv/data/sbx-gits/gits-reviewerandkv/metadata/sbx-gits/gits-reviewer(in addition to theld-fleet/*denies).Both paths, because metadata read/list is the refresh route: denying only
datawould leave the object enumerable and refreshable through the genericopenbaostore;SecretStoreopenbao-sbx-gits-gits-reviewerinsbx-gits(
core/manifests/apps/sbx-gits/secretstores.yaml, with ServiceAccounteso-openbao-gits-reviewer,automountServiceAccountToken: false). NoClusterSecretStore may read this path: another namespace cannot resolve a
namespaced store at all (review 3c B1, applied to this path);
sbx-gits-gits-reviewer, mounted read-only at/run/secrets/ld/identities/gits-reviewer/insbx-gits-0(same pattern asthe ld-reviewer mount, 0440 files;
optional: true, so the pod starts beforeRUN 3 writes the kv object);
username/token), that the store is NAMESPACED and that no ClusterSecretStore
appears in that file, Retain 6 → 7; manifest[5b] adds the third read-only
mount. Both PASS locally on
839da5c7.The sbx-lab half is unaffected
core/manifests/apps/sbx-lab/{externalsecrets,statefulset,README}— theExternalSecret
sbx-lab-ld-reviewer, its volume and its read-only mount are gone,exactly as before the split.
What is HELD: #957
Homelab/infra-core#957(head19f4ac13, based on this branch) removessbx-gits-ld-reviewer, its mount, its env and its target Secret (by GC). Do notmerge it until a GITS seat has posted through
/run/secrets/ld/identities/gits-reviewerand the ExternalSecret is force-synced Ready.
The sequence
terraform apply(prod#1216 creates the policy + role) → merge prod#1216.SecretSyncedErroruntil step 3, the mount is optional, the pod starts andthe seats keep posting with the old
ld-reviewercredential.kv/sbx-gits/gits-reviewer; force-sync; the Secret becomesReady; a GITS seat posts a verdict through the new path.
livefirst).The three options this split leaves open (El Director's call)
ld-fleetruntime(infra-core #945 / spec 009(c)); then
gits-revieweris unnecessary and #957simply drops
sbx-gits-ld-reviewerafter the switch.(
gits-reviewer: one path, one namespace, one SA, no merge right, no branchrule counting it). Cheapest today; keeps GITS independent of the relay.
sbx-gits-ld-reviewerin place and merge only the sbx-labhalf. To do that: merge this PR as it stands (the gits half is add-only, so
nothing is lost by leaving it unmerged too), do not merge #957, and the
reviewer credential stays where it is in
sbx-gitsuntil a ruling lands.How to land / how to drop
sbx-gitsis removed;gits-reviewerappears and stays Ready orSecretSyncedError(harmless,optional: true).7d0c9ac1— that commit'stree is exactly the sbx-lab change and nothing else.
git revert 839da5c7produces the same tree (it reverts cleanly; nothing was amended or
force-pushed), so the clean route is: revert
839da5c7on this branch, land,and re-apply it later. A push would be needed either way; no force-push.
git revert 839da5c7(or close #957 if it wasmerged and it turns out the relay is the answer).
Review 3c blockers, restated for this shape
NAMESPACED, so no other namespace can resolve it.
eso-readwildcard): closed for this path with both denies.CI
Green at
839da5c7; run ids in the comment below.FIX ROUND 1 (3c, 11:00:57Z) — head
0b3e4c7e(previousd7cfde80).B3 — the epic harness now passes on this PR's own files
scripts/gits-sbx-epic-test.shchecks [5] and [5b] grep the RAW manifests fortwo literals, comments included, so the D6 comments that named the retired
path/variable turned the harness red here. Both comments are reworded (they now
say "the OLD reviewer kv object" and "the reviewer identity variable"); no field
Kubernetes reads ever contained either literal.
Local run on this head:
At the pre-fix head those two are FAIL; the 22 failures that remain in both runs
are the harness's own live-comparison and sandbox-environment checks (they expect
a merged head,
/home/ldwritable, etc.), not this change.Terraform apply identity, credentials and order
infra-apply-clusteronlive(per-run OpenBao token, R25 per-job AWS state creds), or a named human operator
session. No agent ad-hoc token, no
-target.per job into an ephemeral 0700 directory;
terraform init -backend-config=../backend.hcl. Nothing pod-mounted.terraform apply(prod#1216)→ merge prod#1216 → merge this PR → RUN 1 (write
kv/ld-fleet/*)→ RUN 2 (revoke). Terraform first (the roles must exist), and this PR may
merge before RUN 1: both ExternalSecrets sit in
SecretSyncedErrorand keeptheir current target data, so no pod loses a mounted file early.
plan-cluster, green ata68598b1,run index #3292) — no credential job was run. This repo's PR carries no
terraform.
RUN 2 order (script spec)
Ready=Trueand a changed target-Secret
resourceVersion;ld-runtimerollout restart (LD_REVIEWER_TOKENis an envsecretKeyRef, read at container start);The two sandbox mounts are removed here, so a running sandbox pod keeps the old
files until it is recreated — they hold a revoked token after step 4, which is
the point.
Rollback
Before RUN 2: revert both PRs (the old kv object is still populated). After RUN
2 it is roll-forward only — a revert re-publishes the new token on the old,
unconditioned path, which every namespace can read.
Leftovers recorded, not fixed here
openbao-ld-forgejo-reviewerstays unconditioned andkv/ld/forgejo-reviewerstays populated until the D6 follow-up (after therevoke);
ci-reader's old token remains in the three sandbox ExternalSecrets — aseparate rotation item;
forgejo-ext's identity resolver will refuseld-reviewerin sandboxes until#945 / spec 009(c): expected, and the sandbox tooling that needs a verdict now
goes through the runtime's relay.
`scripts/gits-sbx-epic-test.sh` checks [5] and [5b] grep the RAW manifest files for two literals (comment lines included), so the D6 comments that named the retired reviewer path and the retired identity variable turned the harness red on this PR's own files: [5] core/manifests/apps/sbx-gits/externalsecrets.yaml 'ld/forgejo-reviewer' [5b] core/manifests/apps/sbx-gits/statefulset.yaml 'LD_REVIEWER_IDENTITY' Both comments are reworded to say the same thing without the literals ("the OLD reviewer kv object", "the reviewer identity variable"), which is what the check is for: the fields Kubernetes reads must not name them, and neither should a comment that the harness cannot distinguish from a field. Local proof (this commit, scripts/gits-sbx-epic-test.sh): PASS manifest[5] identidades reales (R12 + D6): sin ld-reviewer (solo ld-fleet lo lee), pi-landing -> openbao-pi-forgejo-landing/pi/forgejo-landing, Retain=5 PASS manifest[5b] mounts /run/secrets/ld/identities/pi-landing readOnly y NINGUN ld-reviewer (D6) The remaining failures in that run are the harness's own live-comparison and sandbox-environment checks, which are identical at the pre-fix head. Lab-Run: IR-20261112-d6D6 SPLIT, 3c 2026-11-12T11:44:27Z. `ref/seat-clean/bin/seat-post-comment.sh` in sbx-gits-0 posts GITS gate verdicts with the token at /run/secrets/ld/identities/ld-reviewer/token, so deleting that ExternalSecret today would break GITS seat posting. Only the sbx-lab half merges first. This commit restores, to their `live` state, exactly the sandbox-GITS half of d7cfde80/0b3e4c7e: core/manifests/apps/sbx-gits/externalsecrets.yaml the ExternalSecret `sbx-gits-ld-reviewer` is back core/manifests/apps/sbx-gits/statefulset.yaml its volume, its read-only mount and the LD_REVIEWER_IDENTITY env are back core/manifests/apps/sbx-gits/README.md the identity rows/tests docs/gits-sbx/{manifiesto,relevo-E1,sbx-checklist}.md scripts/gits-sbx-epic-test.sh manifest[5]/[5b] check the pre-D6 shape again What the branch still changes, and all it changes, is the sbx-lab half: the ExternalSecret `sbx-lab-ld-reviewer` plus its volume and mount are gone (78 lines removed from core/manifests/apps/sbx-lab/). sbx-lab is untouched here. The sbx-gits deletion comes back as the NEXT commit, alone, so that a single `git revert <that sha>` puts the branch back to this state (sbx-lab only). Until the GITS route is ruled (relay / GITS-only comment-scoped identity / hold), this commit's tree is what lands. Lab-Run: IR-20261112-d6View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.