Files
headquarter/openspec/changes/oauth-traefik-integration/tasks.md
T
Fusion 577b052c05 feat: implement user profile management and oauth/traefik integration
User Profile (US-004):
- Add authenticated profile endpoints (GET/PUT /users/me)
- Add avatar upload with file validation (PNG/JPEG, max 2MB)
- Create frontend profile page with edit form and avatar upload
- Update app shell to link to profile page

OAuth/Traefik Integration:
- Externalize all Authentik URLs to environment variables
- Add domain configuration (API_DOMAIN, WEB_DOMAIN, AUTHENTIK_DOMAIN)
- Create docker-compose.traefik.yml for reverse proxy deployment
- Update OAuth redirect/callback URLs to use configured domains
- Add VITE_APP_URL for frontend public URL configuration

Quality gates: pytest (50 passed), ruff, mypy, npm test (12 passed), typecheck, lint, build
2026-05-17 23:17:10 +02:00

26 lines
1.4 KiB
Markdown

## 1. Externalize Authentik and domain configuration
- [x] 1.1 Update `apps/api/src/config.py` to read all Authentik URLs from environment variables with no hardcoded defaults.
- [x] 1.2 Add `API_PUBLIC_URL`, `WEB_PUBLIC_URL`, and related domain env vars to config.py.
- [x] 1.3 Update `apps/api/src/api/auth.py` to construct OAuth redirect/callback URLs from configured domains.
- [x] 1.4 Update `.env.example` with all new environment variables for Authentik and domain configuration.
## 2. Create Traefik deployment compose file
- [x] 2.1 Create `docker-compose.traefik.yml` with all services configured for Traefik reverse proxy.
- [x] 2.2 Add Traefik Docker labels to all services with configurable domain-based routing rules.
- [x] 2.3 Ensure no ports are exposed directly in traefik mode (all through Traefik).
- [x] 2.4 Add `PROXY_WEB_NAME` and other traefik-specific env vars to `.env.example`.
## 3. Frontend configuration
- [x] 3.1 Update frontend to support configurable public URL for OAuth redirect.
- [x] 3.2 Update `apps/web/.env.example` or relevant config with `VITE_APP_URL`.
## 4. Verification and testing
- [x] 4.1 Run backend quality gates (`pytest`, `ruff`, `mypy`).
- [x] 4.2 Run frontend quality gates (`npm test`, `typecheck`, `lint`, `build`).
- [x] 4.3 Validate `docker-compose config` works for both compose files.
- [x] 4.4 Update this tasks file with completed checkboxes.