Implements automatic invitation stage creation and enrollment flow binding: **Features:** - Creates invitation stage via YAML blueprint - Binds stage to enrollment flow (designation: enrollment) - Allows enrollment to proceed without invitation token - Fully automated via Ansible deployment **Implementation:** - New blueprint: ansible/roles/authentik/files/invitation-flow.yaml - New task file: ansible/roles/authentik/tasks/invitation.yml - Blueprint creates invitationstage model - Binds stage to enrollment flow at order=0 **Blueprint Configuration:** ```yaml model: authentik_stages_invitation.invitationstage name: default-enrollment-invitation continue_flow_without_invitation: true ``` **Testing:** ✅ Deployed to dev server successfully ✅ Invitation stage created and verified ✅ Stage bound to default-source-enrollment flow ✅ Verification: {"found": true, "count": 1} Resolves Authentik warning: "No invitation stage is bound to any flow" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
33 lines
1.1 KiB
YAML
33 lines
1.1 KiB
YAML
---
|
|
# Main tasks file for Authentik role
|
|
|
|
- name: Include Docker Compose setup
|
|
include_tasks: docker.yml
|
|
|
|
- name: Include bootstrap setup
|
|
include_tasks: bootstrap.yml
|
|
when: authentik_bootstrap | default(true)
|
|
|
|
- name: Include OIDC provider configuration
|
|
include_tasks: providers.yml
|
|
tags: ['authentik', 'oidc']
|
|
|
|
- name: Include email configuration
|
|
include_tasks: email.yml
|
|
when: mailgun_smtp_user is defined or (client_secrets.mailgun_smtp_user is defined and client_secrets.mailgun_smtp_user != "" and "PLACEHOLDER" not in client_secrets.mailgun_smtp_user)
|
|
tags: ['authentik', 'email']
|
|
|
|
- name: Include flows configuration (recovery, invitation)
|
|
include_tasks: flows.yml
|
|
when: authentik_bootstrap | default(true)
|
|
tags: ['authentik', 'flows']
|
|
|
|
- name: Include MFA/2FA enforcement configuration
|
|
include_tasks: mfa.yml
|
|
when: authentik_bootstrap | default(true)
|
|
tags: ['authentik', 'mfa', '2fa']
|
|
|
|
- name: Include invitation stage configuration
|
|
include_tasks: invitation.yml
|
|
when: authentik_bootstrap | default(true)
|
|
tags: ['authentik', 'invitation']
|