Use the mailman role for lists-dev

This commit is contained in:
Aurélien Bompard 2014-01-17 11:00:58 +00:00
parent 17f003db5b
commit b2e8e6020a
20 changed files with 70 additions and 1276 deletions

View file

@ -1,96 +0,0 @@
#
# Aliases in this file will NOT be expanded in the header from
# Mail, but WILL be visible over networks or from /bin/mail.
#
# >>>>>>>>>> The program "newaliases" must be run after
# >> NOTE >> this file is updated for any changes to
# >>>>>>>>>> show through to sendmail.
#
# Basic system aliases -- these MUST be present.
mailer-daemon: postmaster
postmaster: root
# General redirections for pseudo accounts.
bin: root
daemon: root
adm: root
lp: root
sync: root
shutdown: root
halt: root
mail: root
news: root
uucp: root
operator: root
games: root
gopher: root
ftp: root
nobody: root
radiusd: root
nut: root
dbus: root
vcsa: root
canna: root
wnn: root
rpm: root
nscd: root
pcap: root
apache: root
webalizer: root
dovecot: root
fax: root
quagga: root
radvd: root
pvm: root
amandabackup: root
privoxy: root
ident: root
named: root
xfs: root
gdm: root
mailnull: root
postgres: root
sshd: root
smmsp: root
postfix: root
netdump: root
ldap: root
squid: root
ntp: root
mysql: root
desktop: root
rpcuser: root
rpc: root
nfsnobody: root
ingres: root
system: root
toor: root
manager: root
dumper: root
abuse: root
newsadm: news
newsadmin: news
usenet: news
ftpadm: ftp
ftpadmin: ftp
ftp-adm: ftp
ftp-admin: ftp
www: webmaster
webmaster: root
noc: root
security: root
hostmaster: root
info: postmaster
marketing: postmaster
sales: postmaster
support: postmaster
# trap decode to catch security attacks
decode: root
# Person who should get root's mail
root: abompard@fedoraproject.org

View file

@ -1,27 +0,0 @@
#Alias /robots.txt /etc/hyperkitty/sites/default/static/robots.txt
#Alias /favicon.ico /etc/hyperkitty/sites/default/static/favicon.ico
Alias /hyperkitty/static /var/lib/hyperkitty/sites/default/static
#ErrorLog /var/log/httpd/hyperkitty_error.log
#CustomLog /var/log/httpd/hyperkitty_access.log combined
WSGIScriptAlias /hyperkitty /etc/hyperkitty/sites/default/wsgi.py
WSGIDaemonProcess hyperkitty threads=25 python-path=/etc/hyperkitty/sites/default
# If using VirtualEnv
#WSGIDaemonProcess hyperkitty threads=25 python-path=/etc/hyperkitty/sites/default:/path/to/your/venv/lib/python2.X/site-packages
WSGISocketPrefix run/wsgi
<Directory "/etc/hyperkitty/sites/default">
<Files wsgi.py>
Order deny,allow
Allow from all
Require all granted
</Files>
WSGIProcessGroup hyperkitty
</Directory>
<Directory "/var/lib/hyperkitty/sites/default/static">
Order deny,allow
Allow from all
Require all granted
</Directory>

View file

@ -1,3 +0,0 @@
[general]
base_url: http://lists-dev.cloud.fedoraproject.org/
django_settings: /etc/hyperkitty/sites/default/settings.py

View file

@ -1,10 +0,0 @@
/var/log/hyperkitty/*.log {
missingok
notifempty
sharedscripts
delaycompress
su root apache
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}

View file

@ -1,96 +0,0 @@
#-*- coding: utf-8 -*-
"""
Django local settings for the hyperkitty project.
"""
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = ()
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'hyperkitty',
'USER': 'hyperkitty',
'PASSWORD': '{{ lists_dev_hk_db_pass }}',
'HOST': 'localhost',
'PORT': '',
}
}
# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/hyperkitty/static/'
# Add Fedora to the authentication backends
AUTHENTICATION_BACKENDS = (
'social_auth.backends.browserid.BrowserIDBackend',
'hyperkitty.lib.fedora.FedoraBackend',
'social_auth.backends.google.GoogleBackend',
'social_auth.backends.yahoo.YahooBackend',
#'social_auth.backends.OpenIDBackend',
'django.contrib.auth.backends.ModelBackend',
)
# Use the email address as the username (add associate_by_email).
SOCIAL_AUTH_PIPELINE = (
'social_auth.backends.pipeline.social.social_auth_user',
'social_auth.backends.pipeline.associate.associate_by_email',
'social_auth.backends.pipeline.user.get_username',
'social_auth.backends.pipeline.user.create_user',
'social_auth.backends.pipeline.social.associate_user',
'social_auth.backends.pipeline.social.load_extra_data',
'social_auth.backends.pipeline.user.update_user_details'
)
# A sample logging configuration. The only tangible logging
# performed by this configuration is to send an email to
# the site admins on every HTTP 500 error.
# See http://docs.djangoproject.com/en/dev/topics/logging for
# more details on how to customize your logging configuration.
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler'
},
'file':{
'level': 'DEBUG',
#'class': 'logging.handlers.RotatingFileHandler',
'class': 'logging.FileHandler',
'filename': '/var/log/hyperkitty/hyperkitty.log',
'formatter': 'verbose',
},
},
'loggers': {
'django.request': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': True,
},
'django': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': True,
},
'hyperkitty': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
},
'simple': {
'format': '%(levelname)s %(message)s'
},
},
}
APP_NAME = 'Fedora list archives'
KITTYSTORE_URL = 'postgres://kittystore:{{ lists_dev_ks_db_pass }}@localhost/kittystore'
USE_MOCKUPS = False

View file

@ -1,37 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (C) 1998-2012 by the Free Software Foundation, Inc.
#
# This file is part of HyperKitty.
#
# HyperKitty is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option)
# any later version.
#
# HyperKitty is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along with
# HyperKitty. If not, see <http://www.gnu.org/licenses/>.
import hyperkitty
from django.conf.urls.defaults import *
from django.conf import settings
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
# Import mailman urls and set urlpatterns if you want to hook
# mailman_django into an existing django site.
# Otherwise set ROOT_URLCONF in settings.py to
# `mailman_django.urls`.
# from mailman_django import urls as mailman_urls
urlpatterns = patterns('',
url(r'^$', 'hyperkitty.views.pages.index'),
url(r'', include('hyperkitty.urls')),
)

View file

@ -1,8 +0,0 @@
<html>
<body>
<ul>
<li><a href="/hyperkitty">Archives</a></li>
<li><a href="/postorius">Management</a></li>
</ul>
</body>
</html>

View file

@ -1,25 +0,0 @@
# This is the absolute bare minimum base configuration file. User supplied
# configurations are pushed onto this.
[mailman]
site_owner: root@localhost
# Set the paths to be Fedora-compliant
layout: fhs
[paths.fhs]
var_dir: /srv/persist/mailman
bin_dir: /usr/libexec/mailman
lock_dir: /run/lock/mailman
pid_file: /run/mailman/master.pid
[database]
class: mailman.database.postgresql.PostgreSQLDatabase
url: postgres://mailman:{{ lists_dev_mm_db_pass }}@localhost/mailman
[archiver.hyperkitty]
class: hyperkitty.archiver.Archiver
enable: yes
configuration: /etc/mailman.d/hyperkitty.cfg
#[archiver.prototype]
#enable: yes

View file

@ -1,4 +1,3 @@
*:*:mailman:mailman:{{ lists_dev_mm_db_pass }}
*:*:hyperkitty:hyperkitty:{{ lists_dev_hk_db_pass }}
*:*:kittystore:kittystore:{{ lists_dev_ks_db_pass }}
*:*:postorius:postorius:{{ lists_dev_ps_db_pass }}
*:*:mailman:mailmanadmin:{{ lists_dev_mm_db_pass }}
*:*:hyperkitty:hyperkittyadmin:{{ lists_dev_hk_db_pass }}
*:*:kittystore:kittystoreadmin:{{ lists_dev_ks_db_pass }}

View file

@ -1,26 +0,0 @@
#Alias /robots.txt /var/lib/postorius/sites/default/static/robots.txt
#Alias /favicon.ico /var/lib/postorius/sites/default/static/favicon.ico
Alias /postorius/static /var/lib/postorius/sites/default/static
#ErrorLog /var/log/httpd/postorius_error.log
#CustomLog /var/log/httpd/postorius_access.log combined
WSGIScriptAlias /postorius /etc/postorius/sites/default/srv/postorius.wsgi
WSGIDaemonProcess postorius threads=25 python-path=/etc/postorius/sites/default
# If using VirtualEnv
#WSGIDaemonProcess postorius threads=25 python-path=/etc/postorius/sites/default:/path/to/your/venv/lib/python2.X/site-packages
<Directory "/etc/postorius/sites/default/srv">
<Files postorius.wsgi>
Order deny,allow
Allow from all
Require all granted
</Files>
WSGIProcessGroup postorius
</Directory>
<Directory "/var/lib/postorius/sites/default/static">
Order deny,allow
Allow from all
Require all granted
</Directory>

View file

@ -1,20 +0,0 @@
[
{
"fields": {
"date_joined": "2013-04-10T10:25:49.996",
"email": "root@lists-dev.cloud.fedoraproject.org",
"first_name": "List Admin",
"groups": [],
"is_active": true,
"is_staff": true,
"is_superuser": true,
"last_login": "2013-04-10T10:25:49.996",
"last_name": "",
"password": "pbkdf2_sha256$10000$uXnbYx0visOx$yux8mAZ2H/sjyCEYBvO3JEtJ7dmWfNMnvekQjePbue0=",
"user_permissions": [],
"username": "listadmin"
},
"model": "auth.user",
"pk": 1
}
]

View file

@ -1,34 +0,0 @@
#-*- coding: utf-8 -*-
"""
Django local settings for the postorious project.
"""
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = ()
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'postorius',
'USER': 'postorius',
'PASSWORD': '{{ lists_dev_ps_db_pass }}',
'HOST': 'localhost',
'PORT': '',
}
}
# URL that handles the media served from STATIC_ROOT. Make sure to use a
STATIC_URL = '/postorius/static/'
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
MEDIA_URL = '/postorius/media/'
# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/postorius/static/admin/'
# Make this unique, and don't share it with anybody.
SECRET_KEY = '$!-7^wl#wiifjbh)5@f7ji%x!vp7s1vwt26hxvixq0u0'

View file

@ -1,38 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (C) 1998-2012 by the Free Software Foundation, Inc.
#
# This file is part of Postorius.
#
# Postorius is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option)
# any later version.
#
# Postorius is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along with
# Postorius. If not, see <http://www.gnu.org/licenses/>.
import postorius
from django.conf.urls import *
from django.conf import settings
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
# Import mailman urls and set urlpatterns if you want to hook
# mailman_django into an existing django site.
# Otherwise set ROOT_URLCONF in settings.py to
# `mailman_django.urls`.
# from mailman_django import urls as mailman_urls
urlpatterns = patterns('',
url(r'^$', 'postorius.views.list_index'),
url(r'', include('postorius.urls')),
url(r'', include('social_auth.urls')),
)

View file

@ -36,7 +36,7 @@
- name: mount up bind mount for postgres
action: mount src=/srv/persist/pgsqldb name=/var/lib/pgsql fstype=auto opts=bind state=mounted
- name: mount up bind mount for mailman
action: mount src=/srv/persist/mailman name=/var/lib/mailman fstype=auto opts=bind state=mounted
action: mount src=/srv/persist/mailman name=/var/lib/mailman3 fstype=auto opts=bind state=mounted
- name: get the repo file
get_url: url=http://repos.fedorapeople.org/repos/abompard/hyperkitty/fedora-hyperkitty.repo
@ -58,15 +58,26 @@
- httpd-tools
- cronie-noanacron
- name: remove packages
yum: state=removed name=sendmail
- name: install apache and mod_wsgi
yum: name=mod_wsgi state=installed
notify:
- restart apache
- name: erase packages
action: yum state=absent name={{ item }}
with_items:
- sendmail
- cronie-anacron
# open up ports (22, 80, 443, 25)
- name: poke holes in the firewall
command: lokkit {{ item }}
with_items:
- --service=ssh
- --service=https
- --service=http
- --service=smtp
# Database
- name: initialize postgresql
command: /usr/bin/postgresql-setup initdb
@ -78,21 +89,6 @@
- name: start postgresql
service: state=started name=postgresql
# open up ports (22, 80, 443, 25)
- name: poke holes in the firewall
command: lokkit {{ item }}
with_items:
- --service=ssh
- --service=https
- --service=http
- --service=smtp
# packages needed to be gone
- name: erase packages
action: yum state=absent name={{ item }}
with_items:
- cronie-anacron
handlers:
- include: "{{ handlers }}/restart_services.yml"
@ -112,21 +108,23 @@
tasks:
# mailman auto-updates its schema, there can only be one admin user
- name: mailman DB user
postgresql_user: name=mailman password={{ lists_dev_mm_db_pass }}
postgresql_user: name=mailmanadmin password={{ lists_dev_mm_db_pass }}
- name: hyperkitty DB admin user
postgresql_user: name=hyperkittyadmin password={{ lists_dev_hk_db_pass }}
- name: hyperkitty DB user
postgresql_user: name=hyperkitty password={{ lists_dev_hk_db_pass }}
postgresql_user: name=hyperkittyapp password={{ lists_dev_hk_db_pass }}
- name: kittystore DB admin user
postgresql_user: name=kittystoreadmin password={{ lists_dev_ks_db_pass }}
- name: kittystore DB user
postgresql_user: name=kittystore password={{ lists_dev_ks_db_pass }}
- name: postorius DB user
postgresql_user: name=postorius password={{ lists_dev_ps_db_pass }}
postgresql_user: name=kittystoreapp password={{ lists_dev_ks_db_pass }}
- name: databases creation
postgresql_db: name={{ item }} owner={{ item }} encoding=UTF-8
postgresql_db: name={{ item }} owner="{{ item }}admin" encoding=UTF-8
with_items:
- mailman
- hyperkitty
- kittystore
- postorius
- name: setup mailman and hyperkitty
hosts: hyperkitty-stg
@ -136,120 +134,38 @@
- "{{ private }}/vars.yml"
- "{{ vars_path }}/{{ ansible_distribution }}.yml"
vars:
- mailman_vardir: /srv/persist/mailman
# override roles variables
- mailman_dbserver: localhost
- mailman_postfix_mydestination: lists-dev.cloud.fedoraproject.org
- mailman_mm_db_pass: {{ lists_dev_mm_db_pass }}
- mailman_hk_admin_db_pass: {{ lists_dev_hk_db_pass }}
- mailman_hk_db_pass: {{ lists_dev_hk_db_pass }}
- mailman_ks_admin_db_pass: {{ lists_dev_ks_db_pass }}
- mailman_ks_db_pass: {{ lists_dev_ks_db_pass }}
roles:
- /srv/web/infra/ansible/roles/mailman
tasks:
# Initialize mailman (must be done after settings up the DBs)
- name: add mailman to the apache group
user: name=mailman groups=apache append=yes
notify:
- restart mailman
- name: set the mailman conffile
template: src="{{ files }}/lists-dev/mailman.cfg.j2" dest=/etc/mailman.cfg
notify:
- restart mailman
- name: install kittystore and hyperkitty
yum: state=installed name={{ item }}
- name: install more needed packages
yum: pkg={{ item }} state=installed
with_items:
- kittystore
- hyperkitty
- postorius
- tar
- mailman # transition from mailman2.1
tags:
- packages
# Logging
- name: hyperkitty logging -- directory
file: path=/var/log/hyperkitty state=directory
owner=root group=apache mode=2775
- name: hyperkitty logging -- file creation
copy: content="" dest=/var/log/hyperkitty/hyperkitty.log
force=no
- name: hyperkitty logging -- file permissions
file: path=/var/log/hyperkitty/hyperkitty.log state=file
owner=root group=apache mode=664
- name: hyperkitty logging -- rotation
copy: src="{{ files }}/lists-dev/hyperkitty.logrotate.conf"
dest=/etc/logrotate.d/hyperkitty
#- name: easy access to the postgresql databases
# template: src="{{ files }}/lists-dev/pgpass.j2" dest=/root/.pgpass
# owner=root group=root mode=0600
# settings / conf
- name: install the hyperkitty/postorius settings file
template: src="{{ files }}/lists-dev/{{ item.settings_local.py.j2 }}"
dest="/etc/{{ item }}/sites/default/settings_local.py"
owner=root group=apache mode=0640
with_items:
- hyperkitty
- postorius
notify:
- reload apache
- restart mailman
- name: install the hyperkitty/postorius urls file
copy: src="files/lists-dev/{{ item }}.urls.py"
dest="/etc/{{ item }}/sites/default/urls.py"
owner=root group=root mode=0644
with_items:
- hyperkitty
- postorius
notify:
- reload apache
- restart mailman
- name: install the hyperkitty/postorius httpd conf file
copy: src="{{ files }}/lists-dev/{{ item }}.apache.conf"
dest="/etc/httpd/conf.d/{{ item }}.conf"
with_items:
- hyperkitty
- postorius
notify:
- reload apache
- name: set the hyperkitty conffile in mailman
copy: src="{{ files }}/lists-dev/hyperkitty.cfg" dest=/etc/mailman.d/hyperkitty.cfg
notify:
- restart mailman
- name: set the postfix conffile
template: src="{{ files }}/lists-dev/postfix-main.cf.j2" dest=/etc/postfix/main.cf
notify:
- restart postfix
- name: set the mail aliases
copy: src="{{ files }}/lists-dev/aliases" dest=/etc/aliases
- name: send root mail to abompard
lineinfile: dest=/etc/aliases regexp="^root:"
line="root: abompard@fedoraproject.org"
notify:
- reload aliases
- name: easy access to the postgresql databases
template: src="{{ files }}/lists-dev/pgpass.j2" dest=/root/.pgpass
owner=root group=root mode=0600
# Sync databases
# FIXME the db migrations should happen no matter when the pkgs are updated
# so really this should be run once
# and then stored in a yum-post-transaction-action on the system(s)
# so no matter when it is run the right thing happens
- name: run django syncdb
command: /usr/bin/django-admin syncdb --pythonpath="/etc/{{ item }}/sites/default" --settings=settings
with_items:
- hyperkitty
- postorius
- name: run django migrate
command: /usr/bin/django-admin migrate --pythonpath=/etc/hyperkitty/sites/default --settings=settings hyperkitty
- name: kittystore schema update
command: /usr/bin/kittystore-updatedb -s postgres://kittystore:{{ lists_dev_ks_db_pass }}@localhost/kittystore
- name: copy the initial user fixture
copy: src="{{ files }}/lists-dev/postorius.initial-user.json"
dest=/etc/postorius/sites/default/initial-user.json
owner=root group=apache mode=0640
- name: load the inital user
command: /usr/bin/django-admin loaddata --pythonpath=/etc/postorius/sites/default --settings=settings /etc/postorius/sites/default/initial-user.json
- name: html index
copy: src="{{ files }}/lists-dev/index.html" dest=/var/www/html/index.html
# Start services
- name: start services
@ -257,7 +173,7 @@
with_items:
- httpd
- postgresql
- mailman
- mailman3
- postfix

View file

@ -1,694 +0,0 @@
# "false"
# Global Postfix configuration file. This file lists only a subset
# of all parameters. For the syntax, and for a complete parameter
# list, see the postconf(5) manual page (command: "man 5 postconf").
#
# For common configuration examples, see BASIC_CONFIGURATION_README
# and STANDARD_CONFIGURATION_README. To find these documents, use
# the command "postconf html_directory readme_directory", or go to
# http://www.postfix.org/.
#
# For best results, change no more than 2-3 parameters at a time,
# and test if Postfix still works after every change.
# SOFT BOUNCE
#
# The soft_bounce parameter provides a limited safety net for
# testing. When soft_bounce is enabled, mail will remain queued that
# would otherwise bounce. This parameter disables locally-generated
# bounces, and prevents the SMTP server from rejecting mail permanently
# (by changing 5xx replies into 4xx replies). However, soft_bounce
# is no cure for address rewriting mistakes or mail routing mistakes.
#
#soft_bounce = no
# LOCAL PATHNAME INFORMATION
#
# The queue_directory specifies the location of the Postfix queue.
# This is also the root directory of Postfix daemons that run chrooted.
# See the files in examples/chroot-setup for setting up Postfix chroot
# environments on different UNIX systems.
#
queue_directory = /var/spool/postfix
# The command_directory parameter specifies the location of all
# postXXX commands.
#
command_directory = /usr/sbin
# The daemon_directory parameter specifies the location of all Postfix
# daemon programs (i.e. programs listed in the master.cf file). This
# directory must be owned by root.
#
daemon_directory = /usr/libexec/postfix
# QUEUE AND PROCESS OWNERSHIP
#
# The mail_owner parameter specifies the owner of the Postfix queue
# and of most Postfix daemon processes. Specify the name of a user
# account THAT DOES NOT SHARE ITS USER OR GROUP ID WITH OTHER ACCOUNTS
# AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM. In
# particular, don't specify nobody or daemon. PLEASE USE A DEDICATED
# USER.
#
mail_owner = postfix
# The default_privs parameter specifies the default rights used by
# the local delivery agent for delivery to external file or command.
# These rights are used in the absence of a recipient user context.
# DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER.
#
#default_privs = nobody
# INTERNET HOST AND DOMAIN NAMES
#
# The myhostname parameter specifies the internet hostname of this
# mail system. The default is to use the fully-qualified domain name
# from gethostname(). $myhostname is used as a default value for many
# other configuration parameters.
#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
# The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#
#mydomain = domain.tld
# SENDING MAIL
#
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites. If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# user@that.users.mailhost.
#
# For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part.
#
#myorigin = $myhostname
#myorigin = $mydomain
mydomain = fedoraproject.org
myorigin = fedoraproject.org
# RECEIVING MAIL
# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on. By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
#
# See also the proxy_interfaces parameter, for network addresses that
# are forwarded to us via a proxy or network address translator.
#
# Note: you need to stop/start Postfix when this parameter changes.
#
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = all
# The proxy_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on by way of a
# proxy or network address translation unit. This setting extends
# the address list specified with the inet_interfaces parameter.
#
# You must specify your proxy/NAT addresses when your system is a
# backup MX host for other domains, otherwise mail delivery loops
# will happen when the primary MX host is down.
#
#proxy_interfaces =
#proxy_interfaces = 1.2.3.4
# The mydestination parameter specifies the list of domains that this
# machine considers itself the final destination for.
#
# These domains are routed to the delivery agent specified with the
# local_transport parameter setting. By default, that is the UNIX
# compatible delivery agent that lookups all recipients in /etc/passwd
# and /etc/aliases or their equivalent.
#
# The default is $myhostname + localhost.$mydomain. On a mail domain
# gateway, you should also include $mydomain.
#
# Do not specify the names of virtual domains - those domains are
# specified elsewhere (see VIRTUAL_README).
#
# Do not specify the names of domains that this machine is backup MX
# host for. Specify those names via the relay_domains settings for
# the SMTP server, or use permit_mx_backup if you are lazy (see
# STANDARD_CONFIGURATION_README).
#
# The local machine is always the final destination for mail addressed
# to user@[the.net.work.address] of an interface that the mail system
# receives mail on (see the inet_interfaces parameter).
#
# Specify a list of host or domain names, /file/name or type:table
# patterns, separated by commas and/or whitespace. A /file/name
# pattern is replaced by its contents; a type:table is matched when
# a name matches a lookup key (the right-hand side is ignored).
# Continue long lines by starting the next line with whitespace.
#
# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".
#
mydestination = $myhostname, lists.fedoraproject.org, lists.stg.fedoraproject.org,
localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# mail.$mydomain, www.$mydomain, ftp.$mydomain
# REJECTING MAIL FOR UNKNOWN LOCAL USERS
#
# The local_recipient_maps parameter specifies optional lookup tables
# with all names or addresses of users that are local with respect
# to $mydestination, $inet_interfaces or $proxy_interfaces.
#
# If this parameter is defined, then the SMTP server will reject
# mail for unknown local users. This parameter is defined by default.
#
# To turn off local recipient checking in the SMTP server, specify
# local_recipient_maps = (i.e. empty).
#
# The default setting assumes that you use the default Postfix local
# delivery agent for local delivery. You need to update the
# local_recipient_maps setting if:
#
# - You define $mydestination domain recipients in files other than
# /etc/passwd, /etc/aliases, or the $virtual_alias_maps files.
# For example, you define $mydestination domain recipients in
# the $virtual_mailbox_maps files.
#
# - You redefine the local delivery agent in master.cf.
#
# - You redefine the "local_transport" setting in main.cf.
#
# - You use the "luser_relay", "mailbox_transport", or "fallback_transport"
# feature of the Postfix local delivery agent (see local(8)).
#
# Details are described in the LOCAL_RECIPIENT_README file.
#
# Beware: if the Postfix SMTP server runs chrooted, you probably have
# to access the passwd file via the proxymap service, in order to
# overcome chroot restrictions. The alternative, having a copy of
# the system passwd file in the chroot jail is just not practical.
#
# The right-hand side of the lookup tables is conveniently ignored.
# In the left-hand side, specify a bare username, an @domain.tld
# wild-card, or specify a user@domain.tld address.
#
#local_recipient_maps = unix:passwd.byname $alias_maps
#local_recipient_maps = proxy:unix:passwd.byname $alias_maps
#local_recipient_maps =
# The unknown_local_recipient_reject_code specifies the SMTP server
# response code when a recipient domain matches $mydestination or
# ${proxy,inet}_interfaces, while $local_recipient_maps is non-empty
# and the recipient address or address local-part is not found.
#
# The default setting is 550 (reject mail) but it is safer to start
# with 450 (try again later) until you are certain that your
# local_recipient_maps settings are OK.
#
unknown_local_recipient_reject_code = 550
# TRUST AND RELAY CONTROL
# The mynetworks parameter specifies the list of "trusted" SMTP
# clients that have more privileges than "strangers".
#
# In particular, "trusted" SMTP clients are allowed to relay mail
# through Postfix. See the smtpd_recipient_restrictions parameter
# in postconf(5).
#
# You can specify the list of "trusted" network addresses by hand
# or you can let Postfix do it for you (which is the default).
#
# By default (mynetworks_style = subnet), Postfix "trusts" SMTP
# clients in the same IP subnetworks as the local machine.
# On Linux, this does works correctly only with interfaces specified
# with the "ifconfig" command.
#
# Specify "mynetworks_style = class" when Postfix should "trust" SMTP
# clients in the same IP class A/B/C networks as the local machine.
# Don't do this with a dialup site - it would cause Postfix to "trust"
# your entire provider's network. Instead, specify an explicit
# mynetworks list by hand, as described below.
#
# Specify "mynetworks_style = host" when Postfix should "trust"
# only the local machine.
#
#mynetworks_style = class
#mynetworks_style = subnet
#mynetworks_style = host
# Alternatively, you can specify the mynetworks list by hand, in
# which case Postfix ignores the mynetworks_style setting.
#
# Specify an explicit list of network/netmask patterns, where the
# mask specifies the number of bits in the network part of a host
# address.
#
# You can also specify the absolute pathname of a pattern file instead
# of listing the patterns here. Specify type:table for table-based lookups
# (the value on the table right-hand side is not used).
#
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
# The relay_domains parameter restricts what destinations this system will
# relay mail to. See the smtpd_recipient_restrictions description in
# postconf(5) for detailed information.
#
# By default, Postfix relays mail
# - from "trusted" clients (IP address matches $mynetworks) to any destination,
# - from "untrusted" clients to destinations that match $relay_domains or
# subdomains thereof, except addresses with sender-specified routing.
# The default relay_domains value is $mydestination.
#
# In addition to the above, the Postfix SMTP server by default accepts mail
# that Postfix is final destination for:
# - destinations that match $inet_interfaces or $proxy_interfaces,
# - destinations that match $mydestination
# - destinations that match $virtual_alias_domains,
# - destinations that match $virtual_mailbox_domains.
# These destinations do not need to be listed in $relay_domains.
#
# Specify a list of hosts or domains, /file/name patterns or type:name
# lookup tables, separated by commas and/or whitespace. Continue
# long lines by starting the next line with whitespace. A file name
# is replaced by its contents; a type:name table is matched when a
# (parent) domain appears as lookup key.
#
# NOTE: Postfix will not automatically forward mail for domains that
# list this system as their primary or backup MX host. See the
# permit_mx_backup restriction description in postconf(5).
#
#relay_domains = $mydestination
# INTERNET OR INTRANET
# The relayhost parameter specifies the default host to send mail to
# when no entry is matched in the optional transport(5) table. When
# no relayhost is given, mail is routed directly to the destination.
#
# On an intranet, specify the organizational domain name. If your
# internal DNS uses no MX records, specify the name of the intranet
# gateway host instead.
#
# In the case of SMTP, specify a domain, host, host:port, [host]:port,
# [address] or [address]:port; the form [host] turns off MX lookups.
#
# If you're connected via UUCP, see also the default_transport parameter.
#
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
relayhost = bastion
# REJECTING UNKNOWN RELAY USERS
#
# The relay_recipient_maps parameter specifies optional lookup tables
# with all addresses in the domains that match $relay_domains.
#
# If this parameter is defined, then the SMTP server will reject
# mail for unknown relay users. This feature is off by default.
#
# The right-hand side of the lookup tables is conveniently ignored.
# In the left-hand side, specify an @domain.tld wild-card, or specify
# a user@domain.tld address.
#
#relay_recipient_maps = hash:/etc/postfix/relay_recipients
# INPUT RATE CONTROL
#
# The in_flow_delay configuration parameter implements mail input
# flow control. This feature is turned on by default, although it
# still needs further development (it's disabled on SCO UNIX due
# to an SCO bug).
#
# A Postfix process will pause for $in_flow_delay seconds before
# accepting a new message, when the message arrival rate exceeds the
# message delivery rate. With the default 100 SMTP server process
# limit, this limits the mail inflow to 100 messages a second more
# than the number of messages delivered per second.
#
# Specify 0 to disable the feature. Valid delays are 0..10.
#
#in_flow_delay = 1s
# ADDRESS REWRITING
#
# The ADDRESS_REWRITING_README document gives information about
# address masquerading or other forms of address rewriting including
# username->Firstname.Lastname mapping.
masquerade_domains = redhat.com
masquerade_exceptions = root apache
# ADDRESS REDIRECTION (VIRTUAL DOMAIN)
#
# The VIRTUAL_README document gives information about the many forms
# of domain hosting that Postfix supports.
# "USER HAS MOVED" BOUNCE MESSAGES
#
# See the discussion in the ADDRESS_REWRITING_README document.
# TRANSPORT MAP
#
# See the discussion in the ADDRESS_REWRITING_README document.
# ALIAS DATABASE
#
# The alias_maps parameter specifies the list of alias databases used
# by the local delivery agent. The default list is system dependent.
#
# On systems with NIS, the default is to search the local alias
# database, then the NIS alias database. See aliases(5) for syntax
# details.
#
# If you change the alias database, run "postalias /etc/aliases" (or
# wherever your system stores the mail alias file), or simply run
# "newaliases" to build the necessary DBM or DB file.
#
# It will take a minute or so before changes become visible. Use
# "postfix reload" to eliminate the delay.
#
#alias_maps = dbm:/etc/aliases
alias_maps = hash:/etc/aliases
#alias_maps = hash:/etc/aliases, nis:mail.aliases
#alias_maps = netinfo:/aliases
# The alias_database parameter specifies the alias database(s) that
# are built with "newaliases" or "sendmail -bi". This is a separate
# configuration parameter, because alias_maps (see above) may specify
# tables that are not necessarily all under control by Postfix.
#
#alias_database = dbm:/etc/aliases
#alias_database = dbm:/etc/mail/aliases
alias_database = hash:/etc/aliases
#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases
# ADDRESS EXTENSIONS (e.g., user+foo)
#
# The recipient_delimiter parameter specifies the separator between
# user names and address extensions (user+foo). See canonical(5),
# local(8), relocated(5) and virtual(5) for the effects this has on
# aliases, canonical, virtual, relocated and .forward file lookups.
# Basically, the software tries user+foo and .forward+foo before
# trying user and .forward.
#
recipient_delimiter = +
# DELIVERY TO MAILBOX
#
# The home_mailbox parameter specifies the optional pathname of a
# mailbox file relative to a user's home directory. The default
# mailbox file is /var/spool/mail/user or /var/mail/user. Specify
# "Maildir/" for qmail-style delivery (the / is required).
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/
# The mail_spool_directory parameter specifies the directory where
# UNIX-style mailboxes are kept. The default setting depends on the
# system type.
#
#mail_spool_directory = /var/mail
#mail_spool_directory = /var/spool/mail
# The mailbox_command parameter specifies the optional external
# command to use instead of mailbox delivery. The command is run as
# the recipient with proper HOME, SHELL and LOGNAME environment settings.
# Exception: delivery for root is done as $default_user.
#
# Other environment variables of interest: USER (recipient username),
# EXTENSION (address extension), DOMAIN (domain part of address),
# and LOCAL (the address localpart).
#
# Unlike other Postfix configuration parameters, the mailbox_command
# parameter is not subjected to $parameter substitutions. This is to
# make it easier to specify shell syntax (see example below).
#
# Avoid shell meta characters because they will force Postfix to run
# an expensive shell process. Procmail alone is expensive enough.
#
# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN
# ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER.
#
#mailbox_command = /usr/bin/procmail
#mailbox_command = /some/where/procmail -a "$EXTENSION"
# The mailbox_transport specifies the optional transport in master.cf
# to use after processing aliases and .forward files. This parameter
# has precedence over the mailbox_command, fallback_transport and
# luser_relay parameters.
#
# Specify a string of the form transport:nexthop, where transport is
# the name of a mail delivery transport defined in master.cf. The
# :nexthop part is optional. For more details see the sample transport
# configuration file.
#
# NOTE: if you use this feature for accounts not in the UNIX password
# file, then you must update the "local_recipient_maps" setting in
# the main.cf file, otherwise the SMTP server will reject mail for
# non-UNIX accounts with "User unknown in local recipient table".
#
#mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp
# If using the cyrus-imapd IMAP server deliver local mail to the IMAP
# server using LMTP (Local Mail Transport Protocol), this is prefered
# over the older cyrus deliver program by setting the
# mailbox_transport as below:
#
# mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp
#
# The efficiency of LMTP delivery for cyrus-imapd can be enhanced via
# these settings.
#
# local_destination_recipient_limit = 300
# local_destination_concurrency_limit = 5
#
# Of course you should adjust these settings as appropriate for the
# capacity of the hardware you are using. The recipient limit setting
# can be used to take advantage of the single instance message store
# capability of Cyrus. The concurrency limit can be used to control
# how many simultaneous LMTP sessions will be permitted to the Cyrus
# message store.
#
# To use the old cyrus deliver program you have to set:
#mailbox_transport = cyrus
# The fallback_transport specifies the optional transport in master.cf
# to use for recipients that are not found in the UNIX passwd database.
# This parameter has precedence over the luser_relay parameter.
#
# Specify a string of the form transport:nexthop, where transport is
# the name of a mail delivery transport defined in master.cf. The
# :nexthop part is optional. For more details see the sample transport
# configuration file.
#
# NOTE: if you use this feature for accounts not in the UNIX password
# file, then you must update the "local_recipient_maps" setting in
# the main.cf file, otherwise the SMTP server will reject mail for
# non-UNIX accounts with "User unknown in local recipient table".
#
#fallback_transport = lmtp:unix:/var/lib/imap/socket/lmtp
#fallback_transport =
#transport_maps = hash:/etc/postfix/transport
# The luser_relay parameter specifies an optional destination address
# for unknown recipients. By default, mail for unknown@$mydestination,
# unknown@[$inet_interfaces] or unknown@[$proxy_interfaces] is returned
# as undeliverable.
#
# The following expansions are done on luser_relay: $user (recipient
# username), $shell (recipient shell), $home (recipient home directory),
# $recipient (full recipient address), $extension (recipient address
# extension), $domain (recipient domain), $local (entire recipient
# localpart), $recipient_delimiter. Specify ${name?value} or
# ${name:value} to expand value only when $name does (does not) exist.
#
# luser_relay works only for the default Postfix local delivery agent.
#
# NOTE: if you use this feature for accounts not in the UNIX password
# file, then you must specify "local_recipient_maps =" (i.e. empty) in
# the main.cf file, otherwise the SMTP server will reject mail for
# non-UNIX accounts with "User unknown in local recipient table".
#
#luser_relay = $user@other.host
#luser_relay = $local@other.host
#luser_relay = admin+$local
# JUNK MAIL CONTROLS
#
# The controls listed here are only a very small subset. The file
# SMTPD_ACCESS_README provides an overview.
# The header_checks parameter specifies an optional table with patterns
# that each logical message header is matched against, including
# headers that span multiple physical lines.
#
# By default, these patterns also apply to MIME headers and to the
# headers of attached messages. With older Postfix versions, MIME and
# attached message headers were treated as body text.
#
# For details, see "man header_checks".
#
header_checks = regexp:/etc/postfix/header_checks
# FAST ETRN SERVICE
#
# Postfix maintains per-destination logfiles with information about
# deferred mail, so that mail can be flushed quickly with the SMTP
# "ETRN domain.tld" command, or by executing "sendmail -qRdomain.tld".
# See the ETRN_README document for a detailed description.
#
# The fast_flush_domains parameter controls what destinations are
# eligible for this service. By default, they are all domains that
# this server is willing to relay mail to.
#
#fast_flush_domains = $relay_domains
# SHOW SOFTWARE VERSION OR NOT
#
# The smtpd_banner parameter specifies the text that follows the 220
# code in the SMTP server's greeting banner. Some people like to see
# the mail version advertised. By default, Postfix shows no version.
#
# You MUST specify $myhostname at the start of the text. That is an
# RFC requirement. Postfix itself does not care.
#
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
# PARALLEL DELIVERY TO THE SAME DESTINATION
#
# How many parallel deliveries to the same user or domain? With local
# delivery, it does not make sense to do massively parallel delivery
# to the same user, because mailbox updates must happen sequentially,
# and expensive pipelines in .forward files can cause disasters when
# too many are run at the same time. With SMTP deliveries, 10
# simultaneous connections to the same domain could be sufficient to
# raise eyebrows.
#
# Each message delivery transport has its XXX_destination_concurrency_limit
# parameter. The default is $default_destination_concurrency_limit for
# most delivery transports. For the local delivery agent the default is 2.
#local_destination_concurrency_limit = 2
#default_destination_concurrency_limit = 20
# DEBUGGING CONTROL
#
# The debug_peer_level parameter specifies the increment in verbose
# logging level when an SMTP client or server host name or address
# matches a pattern in the debug_peer_list parameter.
#
debug_peer_level = 2
# The debug_peer_list parameter specifies an optional list of domain
# or network patterns, /file/name patterns or type:name tables. When
# an SMTP client or server host name or address matches a pattern,
# increase the verbose logging level by the amount specified in the
# debug_peer_level parameter.
#
#debug_peer_list = 127.0.0.1
#debug_peer_list = some.domain
# The debugger_command specifies the external command that is executed
# when a Postfix daemon program is run with the -D option.
#
# Use "command .. & sleep 5" so that the debugger can attach before
# the process marches on. If you use an X-based debugger, be sure to
# set up your XAUTHORITY environment variable before starting Postfix.
#
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
# If you can't use X, use this to capture the call stack when a
# daemon crashes. The result is in a file in the configuration
# directory, and is named after the process name and the process ID.
#
# debugger_command =
# PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont;
# echo where) | gdb $daemon_directory/$process_name $process_id 2>&1
# >$config_directory/$process_name.$process_id.log & sleep 5
#
# Another possibility is to run gdb under a detached screen session.
# To attach to the screen sesssion, su root and run "screen -r
# <id_string>" where <id_string> uniquely matches one of the detached
# sessions (from "screen -list").
#
# debugger_command =
# PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH; screen
# -dmS $process_name gdb $daemon_directory/$process_name
# $process_id & sleep 1
# INSTALL-TIME CONFIGURATION INFORMATION
#
# The following parameters are used when installing a new Postfix version.
#
# sendmail_path: The full pathname of the Postfix sendmail command.
# This is the Sendmail-compatible mail posting interface.
#
sendmail_path = /usr/sbin/sendmail.postfix
# newaliases_path: The full pathname of the Postfix newaliases command.
# This is the Sendmail-compatible command to build alias databases.
#
newaliases_path = /usr/bin/newaliases.postfix
# mailq_path: The full pathname of the Postfix mailq command. This
# is the Sendmail-compatible mail queue listing command.
#
mailq_path = /usr/bin/mailq.postfix
# setgid_group: The group for mail submission and queue management
# commands. This must be a group name with a numerical group ID that
# is not shared with other accounts, not even with the Postfix account.
#
setgid_group = postdrop
# html_directory: The location of the Postfix HTML documentation.
#
html_directory = no
# manpage_directory: The location of the Postfix on-line manual pages.
#
manpage_directory = /usr/share/man
# sample_directory: The location of the Postfix sample configuration files.
# This parameter is obsolete as of Postfix 2.1.
#
sample_directory = /usr/share/doc/postfix-2.4.5/samples
# readme_directory: The location of the Postfix README files.
#
readme_directory = /usr/share/doc/postfix-2.4.5/README_FILES
# add this to new postfix to get it to add proper message-id and other
# headers to outgoing emails via the gateway.
message_size_limit = 20971520
# Mailman, see MTA.rst
owner_request_special = no
transport_maps = hash:/var/lib/mailman3/data/postfix_lmtp
local_recipient_maps = hash:/var/lib/mailman3/data/postfix_lmtp
relay_domains = hash:/var/lib/mailman3/data/postfix_domains

View file

@ -158,11 +158,6 @@
file: path="{{ mailman_webui_basedir }}/static"
state=directory owner=root group=root mode=0755
- name: install the kittystore cache cronjob
template: src=hyperkitty.cronjob.sh.j2
dest=/etc/cron.daily/hyperkitty
owner=root group=root mode=0755
#
# Plug HyperKitty into Mailman
#
@ -225,7 +220,7 @@
# Postfix
- name: set the postfix conffile
copy: src=postfix-main.cf dest=/etc/postfix/main.cf
template: src=postfix-main.cf.j2 dest=/etc/postfix/main.cf
notify:
- restart postfix

View file

@ -1,3 +0,0 @@
#!/bin/sh
kittystore-refresh-cache --pythonpath {{ mailman_webui_confdir }} --settings settings_admin

View file

@ -21,7 +21,7 @@ pid_file: /run/mailman3/master.pid
[database]
class: mailman.database.postgresql.PostgreSQLDatabase
url: postgres://mailmanadmin:{{ mailman_mm_db_pass }}@db02.stg.phx2.fedoraproject.org/mailman
url: postgres://mailmanadmin:{{ mailman_mm_db_pass }}@{{ mailman_dbserver }}/mailman
[archiver.hyperkitty]
class: hyperkitty.archiver.Archiver

View file

@ -156,7 +156,7 @@ inet_interfaces = all
#
# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".
#
mydestination = $myhostname, lists-dev.cloud.fedoraproject.org,
mydestination = $myhostname, {{ mailman_postfix_mydestination }},
localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
@ -314,7 +314,7 @@ unknown_local_recipient_reject_code = 550
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
relayhost =
relayhost = bastion
# REJECTING UNKNOWN RELAY USERS
@ -689,6 +689,6 @@ message_size_limit = 20971520
# Mailman, see MTA.rst
owner_request_special = no
transport_maps = hash:{{mailman_vardir}}/data/postfix_lmtp
local_recipient_maps = hash:{{mailman_vardir}}/data/postfix_lmtp
relay_domains = hash:{{mailman_vardir}}/data/postfix_domains
transport_maps = hash:/var/lib/mailman3/data/postfix_lmtp
local_recipient_maps = hash:/var/lib/mailman3/data/postfix_lmtp
relay_domains = hash:/var/lib/mailman3/data/postfix_domains

View file

@ -2,3 +2,4 @@
mailman_webui_basedir: /srv/webui
mailman_webui_confdir: ${mailman_webui_basedir}/config
mailman_dbserver: db02.stg.phx2.fedoraproject.org
mailman_postfix_mydestination: "lists.fedoraproject.org, lists.stg.fedoraproject.org"