Some checks failed
CI / skip-ci-check (pull_request) Successful in 7s
CI / lint-and-test (pull_request) Failing after 10s
CI / secret-scanning (pull_request) Successful in 7s
CI / dependency-scan (pull_request) Successful in 16s
CI / sast-scan (pull_request) Successful in 29s
CI / ansible-validation (pull_request) Failing after 54s
CI / license-check (pull_request) Successful in 14s
CI / vault-check (pull_request) Successful in 12s
CI / container-scan (pull_request) Successful in 7s
CI / sonar-analysis (pull_request) Successful in 7s
CI / playbook-test (pull_request) Successful in 25s
CI / workflow-summary (pull_request) Successful in 5s
Cal Authentik OIDC playbook/role (deferred until license), Vikunja OIDC docs and vault secrets, SSO matrix, mailcow LAN proxy fix, extended security audit docs, maintenance_cron role with group_vars split, and inventory updates (vikunja rename, identity/monitoring/cal host_vars). Co-authored-by: Cursor <cursoragent@cursor.com>
2.0 KiB
2.0 KiB
Vikunja ↔ Authentik OIDC
Status: Live at https://todo.levkin.ca (host vikunja, 10.0.10.159).
Authentik
| Item | Value |
|---|---|
| Application slug | vikunja |
| Redirect URI (strict) | https://todo.levkin.ca/auth/openid/authentik |
| Subject mode | Based on the User's username (user_username) |
| Access group | homelab-users (bind to app; policy engine ANY) |
| Authentik user | Purpose | |
|---|---|---|
admin |
Authentik admin UI only | admin@levkin.ca |
ilia |
Homelab apps (Vikunja, etc.) | idobkin@gmail.com |
Do not use the same email on both users — Authentik will pick the wrong account.
homelab-users group = ilia only. Vikunja app binding: group homelab-users (policy engine ANY).
Secrets: vault_vikunja_oidc_client_id, vault_vikunja_oidc_client_secret in Ansible vault.
Vikunja
Config: /opt/vikunja/config.yml (mounted in docker-compose.yml).
auth.openid.providers.authentik→authurl: https://auth.levkin.ca/application/o/vikunja/usernamefallback: true+emailfallback: true→ SSO links to existing local useriliawhen Authentik username isilia.
Local auth stays enabled for break-glass.
Login
- Sign out:
https://auth.levkin.ca/if/user/logout/ https://todo.levkin.ca→ Login with Authentik- Sign in as
ilia(username) oridobkin@gmail.com— notadmin
My applications: admin only sees apps allowed for superuser (e.g. Cal). ilia sees Vikunja after login.
Adding users
- Directory → Users — create user (username should match Vikunja local username if linking).
- Directory → Groups → homelab-users — add user.
- New Vikunja users: first OIDC login creates account; existing local users need matching username + fallbacks.