## Changes ### Identity Provider (Authentik) - ✅ Deployed Authentik 2025.10.3 as identity provider - ✅ Configured automatic bootstrap with admin account (akadmin) - ✅ Fixed OIDC provider creation with correct redirect_uris format - ✅ Added automated OAuth2/OIDC provider configuration for Nextcloud - ✅ API-driven provider setup eliminates manual configuration ### Nextcloud Configuration - ✅ Fixed reverse proxy header configuration (trusted_proxies) - ✅ Added missing database indices (fs_storage_path_prefix) - ✅ Ran mimetype migrations for proper file type handling - ✅ Verified PHP upload limits (16GB upload_max_filesize) - ✅ Configured OIDC integration with Authentik - ✅ "Login with Authentik" button auto-configured ### Automation Scripts - ✅ Added deploy-client.sh for automated client deployment - ✅ Added rebuild-client.sh for infrastructure rebuild - ✅ Added destroy-client.sh for cleanup - ✅ Full deployment now takes ~10-15 minutes end-to-end ### Documentation - ✅ Updated README with automated deployment instructions - ✅ Added SSO automation workflow documentation - ✅ Added automation status tracking - ✅ Updated project reference with Authentik details ### Technical Fixes - Fixed Authentik API redirect_uris format (requires list of dicts with matching_mode) - Fixed Nextcloud OIDC command (user_oidc:provider not user_oidc:provider:add) - Fixed file lookup in Ansible (changed to slurp for remote files) - Updated Traefik to v3.6 for Docker API 1.44 compatibility - Improved error handling in app installation tasks ## Security - All credentials stored in SOPS-encrypted secrets - Trusted proxy configuration prevents IP spoofing - Bootstrap tokens auto-generated and secured ## Result Fully automated SSO deployment - no manual configuration required! 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
31 lines
874 B
YAML
31 lines
874 B
YAML
---
|
|
# Bootstrap tasks for initial Authentik configuration
|
|
|
|
- name: Wait for Authentik to be fully ready
|
|
uri:
|
|
url: "https://{{ authentik_domain }}/"
|
|
validate_certs: yes
|
|
status_code: [200, 302]
|
|
register: authentik_ready
|
|
until: authentik_ready.status in [200, 302]
|
|
retries: 30
|
|
delay: 10
|
|
|
|
- name: Display bootstrap status
|
|
debug:
|
|
msg: |
|
|
========================================
|
|
Authentik is running!
|
|
========================================
|
|
|
|
URL: https://{{ authentik_domain }}
|
|
|
|
Bootstrap Configuration:
|
|
✓ Admin user 'akadmin' automatically created
|
|
✓ Password: (stored in secrets file)
|
|
✓ API token: (stored in secrets file)
|
|
|
|
The admin account and API token are automatically configured
|
|
via AUTHENTIK_BOOTSTRAP_* environment variables.
|
|
|
|
Documentation: https://docs.goauthentik.io
|