Add pal-e-auth integration to gate roster endpoints #5
No reviewers
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
forgejo_admin/basketball-api!5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "4-add-auth"
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?
Closes #4
Summary
pal-e-auth-ldraney>=0.1.0dependencyjwt_secret_key,google_client_id,google_client_secretto Settings (BASKETBALL_ prefix)AuthConfig+auth_routerinmain.py— single config instance for both router andapp.stateget_rosterandroster_pagewithrequire_role("admin", "coach")pal-e-auth-secretsenv vars tok8s/deployment.yamlPrerequisites
pal-e-auth-ldraneypublished to PyPI (addpypi_tokenWoodpecker secret first)tofu applyfor basketball-api namespacespal-e-auth-secretsK8s secret in both namespacesTest plan
pytestpasses (health tests, auth imports resolve)ruff checkclean on changed files🤖 Generated with Claude Code
Review Fix (Round 1)
BLOCKER fixed: Empty
jwt_secret_keyno longer silently accepted._build_auth_config()now raisesRuntimeErrorat startup ifBASKETBALL_JWT_SECRET_KEYis unset, preventing JWT forgery with empty key.NIT fixed: Set
login_redirect_url="/docs"instead of default/(which would 404).Added:
tests/conftest.pywith auth env defaults so tests can importmain.pywithout crashing.Other NITs (memory limits, static metrics) are pre-existing and out of scope for this PR.