version: 1
metadata:
  labels:
    blueprints.goauthentik.io/instantiate: "false"
  name: Example - Enrollment with email verification
entries:
  - identifiers:
      slug: default-enrollment-flow
    id: flow
    model: authentik_flows.flow
    attrs:
      name: Default enrollment Flow
      title: Welcome to authentik!
      designation: enrollment
      authentication: require_unauthenticated
  - identifiers:
      name: default-enrollment-field-username
    id: prompt-field-username
    model: authentik_stages_prompt.prompt
    attrs:
      field_key: username
      label: Username
      type: username
      required: true
      placeholder: Username
      placeholder_expression: false
      order: 0
  - identifiers:
      name: default-enrollment-field-password
    id: prompt-field-password
    model: authentik_stages_prompt.prompt
    attrs:
      field_key: password
      label: Password
      type: password
      required: true
      placeholder: Password
      placeholder_expression: false
      order: 0
  - identifiers:
      name: default-enrollment-field-password-repeat
    id: prompt-field-password-repeat
    model: authentik_stages_prompt.prompt
    attrs:
      field_key: password_repeat
      label: Password (repeat)
      type: password
      required: true
      placeholder: Password (repeat)
      placeholder_expression: false
      order: 1
  - identifiers:
      name: default-enrollment-field-name
    id: prompt-field-name
    model: authentik_stages_prompt.prompt
    attrs:
      field_key: name
      label: Name
      type: text
      required: true
      placeholder: Name
      placeholder_expression: false
      order: 0
  - identifiers:
      name: default-enrollment-field-email
    id: prompt-field-email
    model: authentik_stages_prompt.prompt
    attrs:
      field_key: email
      label: Email
      type: email
      required: true
      placeholder: Email
      placeholder_expression: false
      order: 1
  - identifiers:
      name: default-enrollment-email-verification
    id: default-enrollment-email-verification
    model: authentik_stages_email.emailstage
    attrs:
      use_global_settings: true
      template: email/account_confirmation.html
      activate_user_on_success: true
  - identifiers:
      name: default-enrollment-prompt-second
    id: default-enrollment-prompt-second
    model: authentik_stages_prompt.promptstage
    attrs:
      fields:
        - !KeyOf prompt-field-name
        - !KeyOf prompt-field-email
  - identifiers:
      name: default-enrollment-prompt-first
    id: default-enrollment-prompt-first
    model: authentik_stages_prompt.promptstage
    attrs:
      fields:
        - !KeyOf prompt-field-username
        - !KeyOf prompt-field-password
        - !KeyOf prompt-field-password-repeat
  - identifiers:
      name: default-enrollment-user-login
    id: default-enrollment-user-login
    model: authentik_stages_user_login.userloginstage
  - identifiers:
      name: default-enrollment-user-write
    id: default-enrollment-user-write
    model: authentik_stages_user_write.userwritestage
    attrs:
      create_users_as_inactive: true
      user_creation_mode: always_create
  - identifiers:
      target: !KeyOf flow
      stage: !KeyOf default-enrollment-prompt-first
      order: 10
    model: authentik_flows.flowstagebinding
  - identifiers:
      target: !KeyOf flow
      stage: !KeyOf default-enrollment-prompt-second
      order: 11
    model: authentik_flows.flowstagebinding
  - identifiers:
      target: !KeyOf flow
      stage: !KeyOf default-enrollment-user-write
      order: 20
    model: authentik_flows.flowstagebinding
  - identifiers:
      target: !KeyOf flow
      stage: !KeyOf default-enrollment-email-verification
      order: 30
    model: authentik_flows.flowstagebinding
  - identifiers:
      target: !KeyOf flow
      stage: !KeyOf default-enrollment-user-login
      order: 100
    model: authentik_flows.flowstagebinding
