From b2e8e6020ab5835ee34fc9cf5ce1600914ac5b0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Bompard?= Date: Fri, 17 Jan 2014 11:00:58 +0000 Subject: [PATCH] Use the mailman role for lists-dev --- files/lists-dev/aliases | 96 --- files/lists-dev/hyperkitty.apache.conf | 27 - files/lists-dev/hyperkitty.cfg | 3 - files/lists-dev/hyperkitty.logrotate.conf | 10 - .../lists-dev/hyperkitty.settings_local.py.j2 | 96 --- files/lists-dev/hyperkitty.urls.py | 37 - files/lists-dev/index.html | 8 - files/lists-dev/mailman.cfg.j2 | 25 - files/lists-dev/pgpass.j2 | 7 +- files/lists-dev/postorius.apache.conf | 26 - files/lists-dev/postorius.initial-user.json | 20 - .../lists-dev/postorius.settings_local.py.j2 | 34 - files/lists-dev/postorius.urls.py | 38 - .../lists-dev.cloud.fedoraproject.org.yml | 202 ++--- roles/mailman/files/postfix-main.cf | 694 ------------------ roles/mailman/tasks/main.yml | 7 +- .../templates/hyperkitty.cronjob.sh.j2 | 3 - roles/mailman/templates/mailman.cfg.j2 | 2 +- .../mailman/templates}/postfix-main.cf.j2 | 10 +- roles/mailman/vars/main.yml | 1 + 20 files changed, 70 insertions(+), 1276 deletions(-) delete mode 100644 files/lists-dev/aliases delete mode 100644 files/lists-dev/hyperkitty.apache.conf delete mode 100644 files/lists-dev/hyperkitty.cfg delete mode 100644 files/lists-dev/hyperkitty.logrotate.conf delete mode 100644 files/lists-dev/hyperkitty.settings_local.py.j2 delete mode 100644 files/lists-dev/hyperkitty.urls.py delete mode 100644 files/lists-dev/index.html delete mode 100644 files/lists-dev/mailman.cfg.j2 delete mode 100644 files/lists-dev/postorius.apache.conf delete mode 100644 files/lists-dev/postorius.initial-user.json delete mode 100644 files/lists-dev/postorius.settings_local.py.j2 delete mode 100755 files/lists-dev/postorius.urls.py delete mode 100644 roles/mailman/files/postfix-main.cf delete mode 100644 roles/mailman/templates/hyperkitty.cronjob.sh.j2 rename {files/lists-dev => roles/mailman/templates}/postfix-main.cf.j2 (99%) diff --git a/files/lists-dev/aliases b/files/lists-dev/aliases deleted file mode 100644 index eb6d0bf61d..0000000000 --- a/files/lists-dev/aliases +++ /dev/null @@ -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 diff --git a/files/lists-dev/hyperkitty.apache.conf b/files/lists-dev/hyperkitty.apache.conf deleted file mode 100644 index 5773918fbf..0000000000 --- a/files/lists-dev/hyperkitty.apache.conf +++ /dev/null @@ -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 - - - - Order deny,allow - Allow from all - Require all granted - - WSGIProcessGroup hyperkitty - - - - Order deny,allow - Allow from all - Require all granted - diff --git a/files/lists-dev/hyperkitty.cfg b/files/lists-dev/hyperkitty.cfg deleted file mode 100644 index fa4fa16507..0000000000 --- a/files/lists-dev/hyperkitty.cfg +++ /dev/null @@ -1,3 +0,0 @@ -[general] -base_url: http://lists-dev.cloud.fedoraproject.org/ -django_settings: /etc/hyperkitty/sites/default/settings.py diff --git a/files/lists-dev/hyperkitty.logrotate.conf b/files/lists-dev/hyperkitty.logrotate.conf deleted file mode 100644 index 3e5b70f0ae..0000000000 --- a/files/lists-dev/hyperkitty.logrotate.conf +++ /dev/null @@ -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 -} diff --git a/files/lists-dev/hyperkitty.settings_local.py.j2 b/files/lists-dev/hyperkitty.settings_local.py.j2 deleted file mode 100644 index ccd5565aad..0000000000 --- a/files/lists-dev/hyperkitty.settings_local.py.j2 +++ /dev/null @@ -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 diff --git a/files/lists-dev/hyperkitty.urls.py b/files/lists-dev/hyperkitty.urls.py deleted file mode 100644 index 194a4e6a1b..0000000000 --- a/files/lists-dev/hyperkitty.urls.py +++ /dev/null @@ -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 . - -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')), -) diff --git a/files/lists-dev/index.html b/files/lists-dev/index.html deleted file mode 100644 index d6c2fbc392..0000000000 --- a/files/lists-dev/index.html +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/files/lists-dev/mailman.cfg.j2 b/files/lists-dev/mailman.cfg.j2 deleted file mode 100644 index bb1b6baa45..0000000000 --- a/files/lists-dev/mailman.cfg.j2 +++ /dev/null @@ -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 diff --git a/files/lists-dev/pgpass.j2 b/files/lists-dev/pgpass.j2 index 6cf70839ac..b0b2297296 100644 --- a/files/lists-dev/pgpass.j2 +++ b/files/lists-dev/pgpass.j2 @@ -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 }} diff --git a/files/lists-dev/postorius.apache.conf b/files/lists-dev/postorius.apache.conf deleted file mode 100644 index aab8565174..0000000000 --- a/files/lists-dev/postorius.apache.conf +++ /dev/null @@ -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 - - - - Order deny,allow - Allow from all - Require all granted - - WSGIProcessGroup postorius - - - - Order deny,allow - Allow from all - Require all granted - diff --git a/files/lists-dev/postorius.initial-user.json b/files/lists-dev/postorius.initial-user.json deleted file mode 100644 index 00ee53f972..0000000000 --- a/files/lists-dev/postorius.initial-user.json +++ /dev/null @@ -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 - } -] diff --git a/files/lists-dev/postorius.settings_local.py.j2 b/files/lists-dev/postorius.settings_local.py.j2 deleted file mode 100644 index 274a098945..0000000000 --- a/files/lists-dev/postorius.settings_local.py.j2 +++ /dev/null @@ -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' diff --git a/files/lists-dev/postorius.urls.py b/files/lists-dev/postorius.urls.py deleted file mode 100755 index 643bf33023..0000000000 --- a/files/lists-dev/postorius.urls.py +++ /dev/null @@ -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 . - -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')), -) diff --git a/playbooks/hosts/lists-dev.cloud.fedoraproject.org.yml b/playbooks/hosts/lists-dev.cloud.fedoraproject.org.yml index 8b5744839a..846d2626c7 100644 --- a/playbooks/hosts/lists-dev.cloud.fedoraproject.org.yml +++ b/playbooks/hosts/lists-dev.cloud.fedoraproject.org.yml @@ -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,129 +134,47 @@ - "{{ 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: install more needed packages + yum: pkg={{ item }} state=installed + with_items: + - tar + - mailman # transition from mailman2.1 + tags: + - packages - - name: set the mailman conffile - template: src="{{ files }}/lists-dev/mailman.cfg.j2" dest=/etc/mailman.cfg - notify: - - restart mailman + #- name: easy access to the postgresql databases + # template: src="{{ files }}/lists-dev/pgpass.j2" dest=/root/.pgpass + # owner=root group=root mode=0600 - - name: install kittystore and hyperkitty - yum: state=installed name={{ item }} - with_items: - - kittystore - - hyperkitty - - postorius - - # 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 - - # 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 - 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 + - name: send root mail to abompard + lineinfile: dest=/etc/aliases regexp="^root:" + line="root: abompard@fedoraproject.org" + notify: + - reload aliases - # 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 - service: state=started enabled=yes name={{ item }} - with_items: - - httpd - - postgresql - - mailman - - postfix + # Start services + - name: start services + service: state=started enabled=yes name={{ item }} + with_items: + - httpd + - postgresql + - mailman3 + - postfix handlers: diff --git a/roles/mailman/files/postfix-main.cf b/roles/mailman/files/postfix-main.cf deleted file mode 100644 index 2bce62707d..0000000000 --- a/roles/mailman/files/postfix-main.cf +++ /dev/null @@ -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 -# " where 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 diff --git a/roles/mailman/tasks/main.yml b/roles/mailman/tasks/main.yml index fa02c48af6..780515bfb6 100644 --- a/roles/mailman/tasks/main.yml +++ b/roles/mailman/tasks/main.yml @@ -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 diff --git a/roles/mailman/templates/hyperkitty.cronjob.sh.j2 b/roles/mailman/templates/hyperkitty.cronjob.sh.j2 deleted file mode 100644 index 18933a5960..0000000000 --- a/roles/mailman/templates/hyperkitty.cronjob.sh.j2 +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -kittystore-refresh-cache --pythonpath {{ mailman_webui_confdir }} --settings settings_admin diff --git a/roles/mailman/templates/mailman.cfg.j2 b/roles/mailman/templates/mailman.cfg.j2 index 3937dd3712..4130dff087 100644 --- a/roles/mailman/templates/mailman.cfg.j2 +++ b/roles/mailman/templates/mailman.cfg.j2 @@ -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 diff --git a/files/lists-dev/postfix-main.cf.j2 b/roles/mailman/templates/postfix-main.cf.j2 similarity index 99% rename from files/lists-dev/postfix-main.cf.j2 rename to roles/mailman/templates/postfix-main.cf.j2 index 06d5afb384..9d0c830dd9 100644 --- a/files/lists-dev/postfix-main.cf.j2 +++ b/roles/mailman/templates/postfix-main.cf.j2 @@ -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 diff --git a/roles/mailman/vars/main.yml b/roles/mailman/vars/main.yml index 5e4585e9c3..950feddc86 100644 --- a/roles/mailman/vars/main.yml +++ b/roles/mailman/vars/main.yml @@ -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"