SSO: Wire Forgejo → Keycloak OIDC #336
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ldraney/pal-e-platform#336
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?
Type
Feature
Lineage
Standalone — scoped during platform SSO initiative (2026-05-04). Depends on platform realm ticket.
Repo
forgejo_admin/pal-e-platformUser Story
As a platform admin
I want to log into Forgejo via Keycloak SSO
So that I don't need a separate password and get seamless click-through from the admin dashboard
Context
Forgejo supports OAuth2 providers natively. Config goes in Helm values under
gitea.configor via Forgejo admin API auth source. Once Forgejo uses Keycloak, Woodpecker CI inherits SSO for free (it uses Forgejo as its auth backend). The zero-re-login experience works because Keycloak session cookie persists — Forgejo redirects to Keycloak, Keycloak sees existing session, bounces back with token.File Targets
Files the agent should modify or create:
terraform/modules/forgejo/main.tf— add OAuth2 provider config to Helm valuesFiles the agent should NOT touch:
terraform/modules/keycloak/main.tf— realm is managed separatelyterraform/modules/ci/main.tf— Woodpecker inherits from Forgejo automaticallyAcceptance Criteria
Test Expectations
curl -s https://forgejo.tail5b443a.ts.net/api/v1/settings/api | jq .Constraints
modules/forgejo/main.tfChecklist
Related
project-pal-e-platform— platform project