36 lines
1.4 KiB
YAML
36 lines
1.4 KiB
YAML
# The bulk of this role can likely be replaced with:
|
|
# https://github.com/CCI-MOC/moc-ansible-mailman
|
|
# Just a note for possible future improvement.
|
|
|
|
- name: Block for multihost lists
|
|
block:
|
|
- name: Set mailman site root fact
|
|
set_fact:
|
|
mm_site_root: "/srv/mailman/{{ mm_site_name }}"
|
|
cacheable: no
|
|
- name: Check if the site list exists
|
|
command: list_lists --bare
|
|
environment:
|
|
MAILMAN_SITE_DIR: "{{ mm_site_root }}"
|
|
register: listlists
|
|
- name: Create the site list if it doesn't exist
|
|
command: "newlist {% if mailman_test_mode is defined and mailman_test_mode %} -q {% endif %} {{ mm_list_name }} {{ mm_list_admin }} {{ mm_list_password }}"
|
|
environment:
|
|
MAILMAN_SITE_DIR: "{{ mm_site_root }}"
|
|
when:
|
|
- ( listlists.stdout_lines | intersect([ mm_list_name ]) | length | int ) == 0
|
|
when: mm_site_name != "_default"
|
|
|
|
- name: Block for normal lists
|
|
block:
|
|
- name: Check if the list exists
|
|
command: list_lists --bare
|
|
register: listlists
|
|
- name: Create the list if it doesn't exist
|
|
command: "newlist {% if mailman_test_mode is defined and mailman_test_mode %} -q {% endif %} {{ mm_list_name }} {{ mm_list_admin }} {{ mm_list_password }}"
|
|
when:
|
|
- ( listlists.stdout_lines | intersect([ mm_list_name ]) | length | int ) == 0
|
|
when: mm_site_name == "_default"
|
|
|
|
# TODO we accept a description parameter but don't do anything with it
|