post_bootstrap_ops.ymlΒΆ

---
- 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