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>
25 lines
748 B
YAML
25 lines
748 B
YAML
version: 1
|
|
metadata:
|
|
name: invitation-flow-configuration
|
|
labels:
|
|
blueprints.goauthentik.io/description: "Configure invitation stage for enrollment"
|
|
blueprints.goauthentik.io/instantiate: "true"
|
|
|
|
entries:
|
|
# 1. CREATE INVITATION STAGE
|
|
- model: authentik_stages_invitation.invitationstage
|
|
identifiers:
|
|
name: default-enrollment-invitation
|
|
id: invitation-stage
|
|
attrs:
|
|
continue_flow_without_invitation: true
|
|
|
|
# 2. BIND INVITATION STAGE TO ENROLLMENT FLOW
|
|
- model: authentik_flows.flowstagebinding
|
|
identifiers:
|
|
target: !Find [authentik_flows.flow, [designation, enrollment]]
|
|
stage: !KeyOf invitation-stage
|
|
order: 0
|
|
attrs:
|
|
evaluate_on_plan: true
|
|
re_evaluate_policies: false
|