feat: stage remaining applications on GitOps group access #185
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
homelab/apps!185
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/homeit-474-remaining-access"
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?
Summary
Migrate the remaining 16 OIDC applications from unmanaged access to GitOps groups: each app's own group OR shared/admin, matching the verified Mealie canary. Application groups start empty; administrator membership remains centrally declared. Morten approved full rollout on HOMEIT-474.
This PR is the complete Security review target. Its 16 commits retain per-app rollback boundaries. Before merging, the owner will temporarily block automatic/manual sync for precisely these 16 apps using an AppProject deny window, then release one app at a time only after the previous app passes live authorization. The temporary window is removed after completion.
Evidence
Merge danger
Door: two-way for declared membership/grants. Managed clients deliberately stay closed if allowedGroups is removed; a blind chart downgrade does not restore legacy allow-all.
Blast radius: household. Every staged merge changes one application's fresh IdP authorization. Existing app sessions/tokens are not forcibly revoked. No application image, PVC, credential, user provisioning or release publishing change.
Rollback and verification
Reviewed
f82e0acceeagainst2ea2c625f3. Standards: no blocking findings. Independently rendered all 16 charts using published packages verified against fresh index SHA256: one empty-member prod/ AuthentikGroup per chart, group/client serverRef shared/authentik, allowedGroups exactly prod/ plus shared/admin. All other objects compare equal after dropping only helm.sh/chart labels; client specs otherwise identical, including Dragonfly public client, redirects, grants/scopes/subject/signing key and Netbird redirects/subject mode. No image source, exposure, RBAC, host privilege or credential change in this diff. Spec: no blocking source findings. Exact-head Forgejo status confirms Woodpecker #472 SUCCESS. Independently read Argo Applications: all 16 Synced/Healthy at baseline; apps AppProject syncWindows absent. AuthentikGroup/Client reads are Forbidden to this role; server dry-runs, remote membership/bindings and native canary results are supplied evidence from base main docs/evidence/authentik-mealie-canary.json, not independent live verification. Non-blocking operational constraints: install and verify the exact-16 deny window (including manual sync denial) BEFORE merge, then release one name at a time and require current Ready/AccessReady, exact UID/PK/membership/bindings and guard, unchanged provider, fresh Morten code issuance and unrelated akadmin denial before proceeding. Stop/close on failure; recover through Git retaining explicit managed allowedGroups, never blind downgrade/delete groups. Existing sessions/tokens are not revoked; record per-app lifetimes separately. Remaining 16 native checks are rollout acceptance still outstanding; Software Engineer retains ownership. Local Helm received a stale index; fresh index and digest-verified published packages resolved comparison, not a waiver. Standards: 0 blocking, 1 non-blocking operational constraint; Spec: 0 blocking, 1 non-blocking pending rollout acceptance.