Post-Tyranny-Tech-Infrastru.../ansible/roles/authentik/files/invitation-flow.yaml
Pieter 90a92fca5a feat: Add automated invitation stage configuration for Authentik
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>
2026-01-14 16:17:44 +01:00

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