system-config/inventory/service/host_vars/lists.openstack.org.yaml
Clark Boylan 4c4e27cb3a Ansible mailman configs
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
2021-05-11 08:40:01 -07:00

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