
This converts our existing puppeted mailman configuration into a set of ansible roles and a new playbook. We don't try to do anything new and instead do our best to map from puppet to ansible as closely as possible. This helps reduce churn and will help us find problems more quickly if they happen. Followups will further cleanup the puppetry. Change-Id: If8cdb1164c9000438d1977d8965a92ca8eebe4df
359 lines
16 KiB
YAML
359 lines
16 KiB
YAML
mm_domains: 'lists.openstack.org:lists.zuul-ci.org:lists.airshipit.org:lists.starlingx.io:lists.opendev.org'
|
|
exim_local_domains: "@:{{ mm_domains }}"
|
|
exim_enable_spf: true
|
|
exim_aliases:
|
|
root: "{{ ','.join(listadmins|default([])) }}"
|
|
interop-wg: openstack-discuss
|
|
openstack: openstack-discuss
|
|
openstack-dev: openstack-discuss
|
|
openstack-infra: openstack-discuss
|
|
openstack-operators: openstack-discuss
|
|
openstack-sigs: openstack-discuss
|
|
openstack-tc: openstack-discuss
|
|
user-committee: openstack-discuss
|
|
airship-discuss-owner: spam
|
|
ambassadors-owner: spam
|
|
community-owner: spam
|
|
edge-computing-owner: spam
|
|
foundation-board-confidential-owner: spam
|
|
foundation-board-owner: spam
|
|
foundation-owner: spam
|
|
legal-discuss-owner: spam
|
|
mailman-owner: spam
|
|
marketing-owner: spam
|
|
openstack-announce-owner: spam
|
|
openstack-docs-owner: spam
|
|
openstack-fr-owner: spam
|
|
openstack-i18n-owner: spam
|
|
openstack-infra-owner: spam
|
|
openstack-ko-owner: spam
|
|
openstack-qa-owner: spam
|
|
openstack-security-owner: spam
|
|
openstack-vi-owner: spam
|
|
product-wg-owner: spam
|
|
superuser-owner: spam
|
|
user-committee-owner: spam
|
|
spam: ':fail: delivery temporarily disabled due to ongoing spam flood'
|
|
exim_routers:
|
|
- mailman_verp_router: |
|
|
{% raw -%}
|
|
driver = dnslookup
|
|
condition = ${if or{{eq{$sender_host_address}{127.0.0.1}}\
|
|
{eq{$sender_host_address}{::1}}}{yes}{no}}
|
|
{% endraw %}
|
|
domains = !+local_domains
|
|
ignore_target_hosts = <; 0.0.0.0; \
|
|
64.94.110.11; \
|
|
127.0.0.0/8; \
|
|
::1/128;fe80::/10;fe \
|
|
c0::/10;ff00::/8
|
|
senders = "*-bounces@*"
|
|
transport = mailman_verp_smtp
|
|
- dnslookup: '{{ exim_dnslookup_router }}'
|
|
- system_aliases: '{{ exim_system_aliases_router }}'
|
|
- localuser: '{{ exim_localuser_router }}'
|
|
- mailman_copy: |
|
|
driver = accept
|
|
domains = lists.openstack.org
|
|
local_parts = openstack-discuss
|
|
transport = local_copy
|
|
unseen
|
|
- mailman_router: |
|
|
driver = accept
|
|
domains = {{ mm_domains }}
|
|
local_part_suffix = -admin : \
|
|
-bounces : -bounces+* : \
|
|
-confirm : -confirm+* : \
|
|
-join : -leave : \
|
|
-owner : -request : \
|
|
-subscribe : -unsubscribe
|
|
local_part_suffix_optional
|
|
require_files = ${lookup{${lc::$domain}}lsearch{/etc/mailman/sites}}/lists/${lc::$local_part}/config.pck
|
|
transport = mailman_transport
|
|
exim_transports:
|
|
- local_copy: |
|
|
driver = appendfile
|
|
file = /var/mail/$local_part
|
|
group = mail
|
|
mode = 0660
|
|
- mailman_transport: |
|
|
driver = pipe
|
|
command = /var/lib/mailman/mail/mailman \
|
|
'${if def:local_part_suffix \
|
|
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
|
|
{post}}' \
|
|
$local_part
|
|
current_directory = /var/lib/mailman
|
|
environment = MAILMAN_SITE_DIR=${lookup{${lc:$domain}}lsearch{/etc/mailman/sites}}
|
|
group = list
|
|
home_directory = /var/lib/mailman
|
|
user = list
|
|
- mailman_verp_smtp: |
|
|
driver = smtp
|
|
headers_add = Errors-To: ${return_path}
|
|
headers_remove = Errors-To
|
|
max_rcpt = 1
|
|
return_path = ${local_part:$return_path}+$local_part=$domain@${domain:$return_path}
|
|
mailman_multihost: true
|
|
mailman_sites:
|
|
- name: airship
|
|
listdomain: lists.airshipit.org
|
|
install_languages: ['en']
|
|
lists:
|
|
- name: mailman
|
|
description: 'The mailman site list'
|
|
admin: 'nobody@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: airship-announce
|
|
description: 'Announcements of Airship releases and other important information.'
|
|
admin: 'jonathan@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: airship-discuss
|
|
description: 'Discussion of Airship usage and development.'
|
|
admin: 'jonathan@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: airship-job-failures
|
|
description: 'Notification messages for failures from CICD jobs.'
|
|
admin: 'roman.gorshunov@att.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: airship-security
|
|
description: 'Public Airship security advisories.'
|
|
admin: 'andrew.walters@att.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: airship-embargo-notice
|
|
description: 'Embargoed security vulnerability announcements for Airship consumers.'
|
|
admin: 'andrew.walters@att.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: opendev
|
|
listdomain: lists.opendev.org
|
|
install_languages: ['en']
|
|
lists:
|
|
- name: mailman
|
|
description: 'The mailman site list'
|
|
admin: 'nobody@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: rust-vmm
|
|
description: 'Collaborating on Rust-based virtual machine monitors.'
|
|
admin: 'claire@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: rustyk8s
|
|
description: 'Collaborating on Rust-based Kubernetes API.'
|
|
admin: 'allison@lohutok.net'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: nbmp-discuss
|
|
description: 'Collaborating on Network Based Media Processing related platform and infrastructure systems usage and development.'
|
|
admin: 'ildiko@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: service-announce
|
|
description: 'Announcement list for OpenDev services.'
|
|
admin: 'cboylan@sapwetik.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: service-discuss
|
|
description: 'Discussion list for OpenDev services.'
|
|
admin: 'cboylan@sapwetik.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: service-incident
|
|
description: 'Private list for OpenDev incident coordination.'
|
|
admin: 'cboylan@sapwetik.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openinfralabs
|
|
description: 'Discussion of the OpenInfra Labs academic and research resource sharing effort'
|
|
admin: 'mnaser@vexxhost.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack
|
|
listdomain: lists.openstack.org
|
|
install_languages: ['de', 'fr', 'it', 'ko', 'ru', 'vi', 'zh_TW']
|
|
lists:
|
|
- name: mailman
|
|
description: 'The mailman site list'
|
|
admin: 'nobody@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-es
|
|
description: 'Lista de correo acerca de OpenStack en español'
|
|
admin: 'flavio@redhat.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-fr
|
|
description: 'List of the OpenStack french user group'
|
|
admin: 'erwan@erwan.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-de
|
|
description: 'List for German-speaking OpenStack users'
|
|
admin: 'christian@berendt.io'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-i18n
|
|
description: 'List of the OpenStack Internationalization team.'
|
|
admin: 'guoyingc@cn.ibm.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-i18n-de
|
|
description: 'List of the German OpenStack Internationalization team.'
|
|
admin: 'robert.simai@suse.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-ir
|
|
description: 'OpenStack IRAN Community Discussions in Persian/Farsi'
|
|
admin: 'Roozbeh.Shafiee@Gmail.Com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-it
|
|
description: 'Discussioni su OpenStack in italiano'
|
|
admin: 'stefano@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-el
|
|
description: 'List of the OpenStack Greek User Group'
|
|
admin: 'aparathyras@stackmasters.eu'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-travel-committee
|
|
description: 'Private discussions for the OpenStack Travel Program Committee for Hong Kong Summit 2013.'
|
|
admin: 'communitymngr@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-personas
|
|
description: 'A group of designers, researchers, developers, writers and users that are creating a set of personas for OpenStack that are intended to help drive development around the needs of our users.'
|
|
admin: 'pieter.c.kruithof-jr@hp.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-vi
|
|
description: 'Discussions in Vietnamese - please add Vietnamese translation here'
|
|
admin: 'hang.tran@dtt.vn'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-tw
|
|
description: 'OpenStack Taiwan User Group 臺灣使用者郵件群組)'
|
|
admin: 'macjacktw@hotmail.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-ko
|
|
description: 'OpenStack Korea Community Discussions in Korean (오픈스택 한국 커뮤니티 메일링리스트)'
|
|
admin: 'ianyrchoi@gmail.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-ru
|
|
description: 'Рассылка для обсуждения OpenStack на русском'
|
|
admin: 'ilyaalekseyev@acm.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-zh
|
|
description: 'OpenStack社区中文讨论群组'
|
|
admin: 'yeluaiesec@gmail.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: nov-2013-track-chairs
|
|
description: 'Coordination of tracks at OpenStack Summit April 2013'
|
|
admin: 'claire@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-track-chairs
|
|
description: 'Coordination of tracks at OpenStack Summits'
|
|
admin: 'claire@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: summitsponsors
|
|
description: 'Coordination among OpenStack Summit event sponsors'
|
|
admin: 'claire@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-sos
|
|
description: 'Coordination of activities for Significant Others at Summits'
|
|
admin: 'dms@danplanet.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: defcore-committee
|
|
description: 'Discussions of the OpenStack Foundation Core Definition Committee'
|
|
admin: 'josh@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: ambassadors
|
|
description: 'Private discussions between OpenStack Ambassadors'
|
|
admin: 'tom@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: superuser
|
|
description: 'Discussions for Superuser editorial advisors to collaborate, and for readers to be able to contact the editorial team to make suggestions, provide feedback'
|
|
admin: 'lauren@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: admin-cert-wg
|
|
description: 'Collaboration workspace for members of the Certified OpenStack Administrator Working Group of the User Commitee/Board.'
|
|
admin: 'heidi@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-api-consumers
|
|
description: 'Discussions around consuming the OpenStack REST APIs and development of API-consuming SDKs and frameworks'
|
|
admin: 'mordred@inaugust.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: enterprise-wg
|
|
description: 'Collaboration workspace for members of the Win The Enterprise Working Group of the User Commitee/Board.'
|
|
admin: 'carol.l.barrett@intel.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: product-wg
|
|
description: 'Collaboration workspace for OpenStack-related Product Managers working group.'
|
|
admin: 'stefano@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: tax-affairs
|
|
description: 'board committee focused on tax issues.'
|
|
admin: 'seanroberts66@gmail.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: third-party-announce
|
|
description: 'Announcements for third party CI operators.'
|
|
admin: 'anteaya@anteaya.info'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: foundation-testing-standards
|
|
description: 'OpenStack Foundation test standards (for humans, not drivers) working group list.'
|
|
admin: 'seanroberts66@gmail.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: analyst-relations
|
|
description: 'Coordination of Analyst Relations Working Group.'
|
|
admin: 'lauren@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: app-catalog-admin
|
|
description: 'Coordinate admin details for OpenStack Community App Catalog.'
|
|
admin: 'doc@aedo.net'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-i18n-fr
|
|
description: 'List of the OpenStack Internationalization team, french local group.'
|
|
admin: 'jftalta@gmail.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: release-job-failures
|
|
description: 'Notification messages for failures from release-related build jobs.'
|
|
admin: 'doug@doughellmann.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: embargo-notice
|
|
description: 'Announcements to stakeholders for embargoed security vulnerabilities.'
|
|
admin: 'jeremy@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: release-announce
|
|
description: 'Announcement of official OpenStack releases.'
|
|
admin: 'thierry@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: edge-computing
|
|
description: 'Organizing efforts around the edge-computing focus area.'
|
|
admin: 'claire@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-mentoring
|
|
description: 'List to coordinate interactions between mentors and mentees of the OpenStack mentoring program. Also for questions about the mentoring program (i.e. how to get involved, how it works, etc.'
|
|
admin: 'amy@demarco.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: openstack-discuss
|
|
description: 'Discussion of OpenStack usage and development.'
|
|
admin: 'fungi@yuggoth.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: starlingx
|
|
listdomain: lists.starlingx.io
|
|
install_languages: ['en']
|
|
lists:
|
|
- name: mailman
|
|
description: 'The mailman site list'
|
|
admin: 'nobody@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: starlingx-announce
|
|
description: 'Announcements of StarlingX releases and other important information.'
|
|
admin: 'jonathan@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: starlingx-discuss
|
|
description: 'Discussion of StarlingX usage and development.'
|
|
admin: 'jonathan@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: zuul
|
|
listdomain: lists.zuul-ci.org
|
|
install_languages: ['en']
|
|
lists:
|
|
- name: mailman
|
|
description: 'The mailman site list'
|
|
admin: 'nobody@openstack.org'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: zuul-announce
|
|
description: 'Announcements of Zuul releases and other important information.'
|
|
admin: 'corvus@inaugust.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: zuul-discuss
|
|
description: 'Discussion of Zuul usage and development.'
|
|
admin: 'corvus@inaugust.com'
|
|
password: "{{ mailman_list_password }}"
|
|
- name: zuul-jobs-failures
|
|
description: 'Gets notifications about zuul-jobs periodic job failures.'
|
|
admin: 'ssbarnea@redhat.com'
|
|
password: "{{ mailman_list_password }}"
|