From e032fd1aa41956281a1c6be5b2d31d1b5dbe9d0b Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Thu, 3 Jul 2025 12:39:28 +0200 Subject: [PATCH] Added mailu_token_enabled condition --- roles/docker-espocrm/meta/users.yml | 5 ++-- roles/docker-listmonk/meta/users.yml | 4 ++- ...r-and-token.yml => create-mailu-token.yml} | 21 ---------------- .../docker-mailu/tasks/create-mailu-user.yml | 25 +++++++++++++++++++ roles/docker-mailu/tasks/main.yml | 5 ++-- roles/docker-nextcloud/meta/users.yml | 5 ++-- 6 files changed, 37 insertions(+), 28 deletions(-) rename roles/docker-mailu/tasks/{create-mailu-user-and-token.yml => create-mailu-token.yml} (74%) create mode 100644 roles/docker-mailu/tasks/create-mailu-user.yml diff --git a/roles/docker-espocrm/meta/users.yml b/roles/docker-espocrm/meta/users.yml index ed75b4ba..d6139aea 100644 --- a/roles/docker-espocrm/meta/users.yml +++ b/roles/docker-espocrm/meta/users.yml @@ -2,5 +2,6 @@ users: administrator: username: "administrator" contact: - description: "General contact account" - username: "contact" \ No newline at end of file + description: "General contact account" + username: "contact" + mailu_token_enabled: true \ No newline at end of file diff --git a/roles/docker-listmonk/meta/users.yml b/roles/docker-listmonk/meta/users.yml index 650e1f70..b8ee7b0a 100644 --- a/roles/docker-listmonk/meta/users.yml +++ b/roles/docker-listmonk/meta/users.yml @@ -3,5 +3,7 @@ users: username: "administrator" bounce: username: "bounce" + mailu_token_enabled: true newsletter: - username: "newsletter" \ No newline at end of file + username: "newsletter" + mailu_token_enabled: true \ No newline at end of file diff --git a/roles/docker-mailu/tasks/create-mailu-user-and-token.yml b/roles/docker-mailu/tasks/create-mailu-token.yml similarity index 74% rename from roles/docker-mailu/tasks/create-mailu-user-and-token.yml rename to roles/docker-mailu/tasks/create-mailu-token.yml index 2a562be6..09289ab1 100644 --- a/roles/docker-mailu/tasks/create-mailu-user-and-token.yml +++ b/roles/docker-mailu/tasks/create-mailu-token.yml @@ -1,24 +1,3 @@ -- name: "Ensure Mailu user '{{ mailu_user_key }};{{ mailu_user_name }}@{{ mailu_domain }}'' exists" - command: > - docker compose exec admin flask mailu {{ mailu_action }} - {{ mailu_user_name }} {{ mailu_domain }} '{{ mailu_password }}' - args: - chdir: "{{ mailu_compose_dir }}" - register: mailu_user_result - failed_when: > - mailu_user_result.rc != 0 and - ( - "exists, not created" not in mailu_user_result.stderr and - "Duplicate entry" not in mailu_user_result.stderr - ) - changed_when: mailu_user_result.rc == 0 - -- name: "Change password for user '{{ mailu_user_key }};{{ mailu_user_name }}@{{ mailu_domain }}'" - command: > - docker compose exec admin flask mailu password - {{ mailu_user_name }} {{ mailu_domain }} '{{ mailu_password }}' - args: - chdir: "{{ mailu_compose_dir }}" - name: "Fetch existing API tokens via curl inside admin container" command: >- diff --git a/roles/docker-mailu/tasks/create-mailu-user.yml b/roles/docker-mailu/tasks/create-mailu-user.yml new file mode 100644 index 00000000..06fe3b24 --- /dev/null +++ b/roles/docker-mailu/tasks/create-mailu-user.yml @@ -0,0 +1,25 @@ +- name: "Ensure Mailu user '{{ mailu_user_key }};{{ mailu_user_name }}@{{ mailu_domain }}'' exists" + command: > + docker compose exec admin flask mailu {{ mailu_action }} + {{ mailu_user_name }} {{ mailu_domain }} '{{ mailu_password }}' + args: + chdir: "{{ mailu_compose_dir }}" + register: mailu_user_result + failed_when: > + mailu_user_result.rc != 0 and + ( + "exists, not created" not in mailu_user_result.stderr and + "Duplicate entry" not in mailu_user_result.stderr + ) + changed_when: mailu_user_result.rc == 0 + +- name: "Change password for user '{{ mailu_user_key }};{{ mailu_user_name }}@{{ mailu_domain }}'" + command: > + docker compose exec admin flask mailu password + {{ mailu_user_name }} {{ mailu_domain }} '{{ mailu_password }}' + args: + chdir: "{{ mailu_compose_dir }}" + +- name: "Create Mailu API Token for {{ mailu_user_name }}" + include_tasks: create-mailu-token.yml + when: mailu_token_enabled \ No newline at end of file diff --git a/roles/docker-mailu/tasks/main.yml b/roles/docker-mailu/tasks/main.yml index 46aada69..0d48112a 100644 --- a/roles/docker-mailu/tasks/main.yml +++ b/roles/docker-mailu/tasks/main.yml @@ -25,8 +25,8 @@ meta: flush_handlers when: run_once_docker_mailu is not defined -- name: "Create Mailu accounts and API tokens" - include_tasks: create-mailu-user-and-token.yml +- name: "Create Mailu accounts" + include_tasks: create-mailu-user.yml vars: mailu_compose_dir: "{{ docker_compose.directories.instance }}" mailu_domain: "{{ primary_domain }}" @@ -36,6 +36,7 @@ mailu_user_key: "{{ item.key }}" mailu_user_name: "{{ item.value.username }}" mailu_password: "{{ item.value.password }}" + mailu_token_enabled: "{{ item.value.mailu_token_enabled | default(false)}}" mailu_token_ip: "{{ item.value.ip | default('') }}" loop: "{{ users | dict2items }}" loop_control: diff --git a/roles/docker-nextcloud/meta/users.yml b/roles/docker-nextcloud/meta/users.yml index 5cd86d54..1223a0b5 100644 --- a/roles/docker-nextcloud/meta/users.yml +++ b/roles/docker-nextcloud/meta/users.yml @@ -1,5 +1,6 @@ users: administrator: - username: "administrator" + username: "administrator" no-reply: - username: "no-reply" \ No newline at end of file + username: "no-reply" + mailu_token_enabled: true \ No newline at end of file