---
- name: β³ Wait for Mailu Redis
include_tasks: ../04_wait_for_redis.yml
- name: "π Create Mailu accounts"
include_tasks: ../05_manage_user.yml
vars:
mailu_action: >-
{{
(
'administrator' in (user_item.value.get('roles', []))
)
| ternary('admin','user')
}}
mailu_user_key: "{{ user_item.key }}"
mailu_user_name: "{{ user_item.value.username }}"
mailu_user_password: "{{ user_item.value.password }}"
mailu_token_name: "{{ SOFTWARE_NAME ~ ' Token for ' ~ user_item.value.username }}"
mailu_user_roles: "{{ user_item.value.roles | default([]) }}"
mailu_user_accounts: "{{ user_item.value.accounts | default([]) }}"
loop: "{{ MAILU_USERS | dict2items }}"
loop_control:
loop_var: user_item
no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
- name: "π Create Mailu forward aliases"
include_tasks: ../utils/manage/alias.yml
vars:
mailu_alias_localpart: "{{ user_item.value.username }}"
mailu_alias_destination: "{{ lookup('users', user_item.value.forward).email }}"
loop: "{{ lookup('users') | dict2items }}"
loop_control:
loop_var: user_item
when: (user_item.value.forward | default('')) | length > 0
no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
- name: "π Include Cert deploy service for '{{ role_name }}'"
include_role:
name: sys-ctl-mtn-cert-deploy
when: (lookup('tls', application_id, 'enabled') | bool) or (MAILU_ACTIVE_PROVIDER | bool)
- name: β³ Wait for Mailu antispam
include_tasks: ../06_wait_for_antispam.yml
- name: βοΈ Generate DKIM public key
include_tasks: ../07_generate-and-read-dkim.yml
- name: π§ Set Mailu DNS records
include_tasks: ../08_dns-records.yml
- name: "π Apply Mailu OIDC provider config"
include_tasks: ../09_oidc_apply.yml
when: MAILU_OIDC_ENABLED | bool