/goal /ultracode-workflows [RBAC-2] forwardAuth platform-auth service + Traefik middleware (apps private by Forgejo permission, zero app auth code) #29
Labels
No labels
bug
discussion
duplicate
enhancement
goal
help wanted
horizon:backlog
horizon:governance
horizon:mvp
invalid
operator-decision
question
roadmap
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#30 /goal /ultracode-workflows [RBAC-3] migrate app-template auth to trust platform headers (retire per-app better-auth OAuth)
open-platform/mitosis
#31 /goal /ultracode-workflows [RBAC-4] retire the god-PAT — per-user delegated agent identity + per-app scoped read-only kube token
open-platform/mitosis
#43 /goal /ultracode-workflows [POL-5] policy-govern the RBAC/identity invariants
open-platform/mitosis
Reference
open-platform/mitosis#29
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Track/Wave:
RBAC-2· Wave G3 · Size LRepos:
mcp,gitopsDepends on: RBAC-1, DOM-1b
Why
Today any Forgejo-authenticated user can use any app regardless of repo access; there is no platform auth proxy. This makes 'private by default' real and removes per-app auth code.
Scope
A small service (separate from the MCP pod) implementing /forward: read the sealed session cookie, call the RBAC-1 probe, branch the four-tier table (anon→login, none+private→403 request-access, none+internal→read, read→allow, write→manage), inject X-Plat-User/Perm/Manage headers. Render the Traefik Middleware per app in the overlay renderer. FIX the hardcoded-
platowner-label bug (derive owner/repo from the namespace name owner--app--env). Close header-spoofing (strip X-Plat-* on any non-Traefik path).Acceptance
On the staging platform: anon→Forgejo login; a logged-in user with no repo access on a private app→403 request-access with a working link; a read collaborator gets in; a write collaborator sees X-Plat-Manage:1; a non-Traefik path cannot inject honored spoofed headers.
Notes
Seam B (overlay renderer) — after DOM-1b.
Part of the First Client Deploy → Governance roadmap. The owning agent may recurse into its own subagent team (ultracode workflow) if the task warrants. Honor the seam-serialization: land on a shared seam by rebase, and don't start a seam position until the prior one has merged.