diff --git a/.gitignore b/.gitignore deleted file mode 100644 index dade81e..0000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -Gemfile.lock -.bundled_gems/ diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 019213a..0000000 --- a/Gemfile +++ /dev/null @@ -1,15 +0,0 @@ -source 'https://rubygems.org' - -if File.exists?('/home/zuul/src/git.openstack.org/openstack-infra/puppet-openstack_infra_spec_helper') - gem_checkout_method = {:path => '/home/zuul/src/git.openstack.org/openstack-infra/puppet-openstack_infra_spec_helper'} -else - gem_checkout_method = {:git => 'https://git.openstack.org/openstack-infra/puppet-openstack_infra_spec_helper'} -end -gem_checkout_method[:require] = false - -group :development, :test, :system_tests do - gem 'puppet-openstack_infra_spec_helper', - gem_checkout_method -end - -# vim:ft=ruby diff --git a/LICENSE b/LICENSE deleted file mode 100644 index d645695..0000000 --- a/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/README.md b/README.md index 2ff2e00..ec889a9 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,9 @@ -# OpenStack Mailman Module +This project is no longer maintained. -This module installs and configures Mailman +The contents of this repository are still available in the Git +source code management system. To see the contents of this +repository before it reached its end of life, please check out the +previous commit with "git checkout HEAD^1". + +For any further questions, please email +service-discuss@lists.opendev.org or join #opendev on OFTC. diff --git a/Rakefile b/Rakefile deleted file mode 100644 index 7f22329..0000000 --- a/Rakefile +++ /dev/null @@ -1,8 +0,0 @@ -require 'rubygems' -require 'puppetlabs_spec_helper/rake_tasks' -require 'puppet-lint/tasks/puppet-lint' -PuppetLint.configuration.fail_on_warnings = true -PuppetLint.configuration.send('disable_80chars') -PuppetLint.configuration.send('disable_autoloader_layout') -PuppetLint.configuration.send('disable_class_inherits_from_params_class') -PuppetLint.configuration.send('disable_class_parameter_defaults') \ No newline at end of file diff --git a/files/index.html b/files/index.html deleted file mode 100644 index 1c70d95..0000000 --- a/files/index.html +++ /dev/null @@ -1,4 +0,0 @@ -

It works!

-

This is the default web page for this server.

-

The web server software is running but no content has been added, yet.

- diff --git a/lib/puppet/provider/maillist/noaliasmailman.rb b/lib/puppet/provider/maillist/noaliasmailman.rb deleted file mode 100644 index 99f4010..0000000 --- a/lib/puppet/provider/maillist/noaliasmailman.rb +++ /dev/null @@ -1,119 +0,0 @@ -# Copyright (c) 2014 Hewlett-Packard Development Company, L.P. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Puppet maillist provider for mailman mailing lists. -# Based on the 'mailman' package provider in puppet 2.7, except this one -# does not muck with aliases. - -require 'puppet/provider/parsedfile' - -Puppet::Type.type(:maillist).provide(:noaliasmailman) do - - defaultfor :kernel => 'Linux' - - if [ "CentOS", "RedHat", "Fedora" ].any? { |os| Facter.value(:operatingsystem) == os } - commands :list_lists => "/usr/lib/mailman/bin/list_lists", :rmlist => "/usr/lib/mailman/bin/rmlist", :newlist => "/usr/lib/mailman/bin/newlist" - commands :mailman => "/usr/lib/mailman/mail/mailman" - else - # This probably won't work for non-Debian installs, but this path is sure not to be in the PATH. - commands :list_lists => "list_lists", :rmlist => "rmlist", :newlist => "newlist" - commands :mailman => "/var/lib/mailman/mail/mailman" - end - - mk_resource_methods - - # Return a list of existing mailman instances. - def self.instances - list_lists('--bare'). - split("\n"). - collect { |line| new(:ensure => :present, :name => line.strip) } - end - - # Prefetch our list list, yo. - def self.prefetch(lists) - instances.each do |prov| - if list = lists[prov.name] || lists[prov.name.downcase] - list.provider = prov - end - end - end - - # Create the list. - def create - args = [] - if val = @resource[:mailserver] - args << "--emailhost" << val - end - if val = @resource[:webserver] - args << "--urlhost" << val - end - - args << self.name - if val = @resource[:admin] - args << val - else - raise ArgumentError, "Mailman lists require an administrator email address" - end - if val = @resource[:password] - args << val - else - raise ArgumentError, "Mailman lists require an administrator password" - end - newlist(*args) - end - - # Delete the list. - def destroy(purge = false) - args = [] - args << "--archives" if purge - args << self.name - rmlist(*args) - end - - # Does our list exist already? - def exists? - properties[:ensure] != :absent - end - - # Clear out the cached values. - def flush - @property_hash.clear - end - - # Look up the current status. - def properties - if @property_hash.empty? - @property_hash = query || {:ensure => :absent} - @property_hash[:ensure] = :absent if @property_hash.empty? - end - @property_hash.dup - end - - # Remove the list and its archives. - def purge - destroy(true) - end - - # Pull the current state of the list from the full list. We're - # getting some double entendre here.... - def query - self.class.instances.each do |list| - if list.name == self.name or list.name.downcase == self.name - return list.properties - end - end - nil - end -end diff --git a/lib/puppet/provider/mailman_list/mailman.rb b/lib/puppet/provider/mailman_list/mailman.rb deleted file mode 100644 index cfd07aa..0000000 --- a/lib/puppet/provider/mailman_list/mailman.rb +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright (c) 2014 Hewlett-Packard Development Company, L.P. -# Copyright (C) 2017 Red Hat, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Puppet maillist provider for mailman mailing lists. -# Based on the 'mailman' package provider in puppet 2.7, except this one -# does not muck with aliases. - -require 'puppet/provider/parsedfile' - -Puppet::Type.type(:mailman_list).provide(:mailman) do - - defaultfor :kernel => 'Linux' - - if [ "CentOS", "RedHat", "Fedora" ].any? { |os| Facter.value(:operatingsystem) == os } - commands :list_lists => "/usr/lib/mailman/bin/list_lists", :rmlist => "/usr/lib/mailman/bin/rmlist", :newlist => "/usr/lib/mailman/bin/newlist" - commands :mailman => "/usr/lib/mailman/mail/mailman" - else - # This probably won't work for non-Debian installs, but this path is sure not to be in the PATH. - commands :list_lists => "list_lists", :rmlist => "rmlist", :newlist => "newlist" - commands :mailman => "/var/lib/mailman/mail/mailman" - end - - mk_resource_methods - - # Return a list of existing mailman instances. - def self.instances - ret = [] - Dir.entries('/srv/mailman').each do |entry| - if (entry == '.' || entry == '..') then next end - path = File.join('/srv/mailman', entry) - if !File.directory?(path) then next end - if !File.exists?(File.join(path, 'lists')) then next end - ENV['MAILMAN_SITE_DIR'] = path - list_lists('--bare').split("\n").each do |line| - ret << new(:ensure => :present, :name => line.strip+'@'+entry) - end - end - return ret - end - - def self.prefetch(lists) - instances.each do |prov| - if list = lists[prov.name] || lists[prov.name.downcase] - list.provider = prov - end - end - end - - def setenv - r = self.name.split('@') - ENV['MAILMAN_SITE_DIR'] = File.join('/srv/mailman', r[1]) - print "Mailman install dir", ENV['MAILMAN_SITE_DIR'], "\n" - return r[0] - end - - def create - print "create ", self.name, "\n" - name = setenv - args = [] - if val = @resource[:mailserver] - args << "--emailhost" << val - end - if val = @resource[:webserver] - args << "--urlhost" << val - end - - args << name - if val = @resource[:admin] - args << val - else - raise ArgumentError, "Mailman lists require an administrator email address" - end - if val = @resource[:password] - args << val - else - raise ArgumentError, "Mailman lists require an administrator password" - end - newlist(*args) - puts "done" - end - - def destroy(purge = false) - puts "destroy", self.name - name = setenv - args = [] - args << "--archives" if purge - args << name - rmlist(*args) - end - - def exists? - properties[:ensure] != :absent - end - - def flush - @property_hash.clear - end - - def properties - if @property_hash.empty? - @property_hash = query || {:ensure => :absent} - @property_hash[:ensure] = :absent if @property_hash.empty? - end - @property_hash.dup - end - - def purge - destroy(true) - end - - def query - self.class.instances.each do |list| - if list.name == self.name or list.name.downcase == self.name - return list.properties - end - end - nil - end -end diff --git a/lib/puppet/type/mailman_list.rb b/lib/puppet/type/mailman_list.rb deleted file mode 100644 index a61fcb6..0000000 --- a/lib/puppet/type/mailman_list.rb +++ /dev/null @@ -1,30 +0,0 @@ -require 'puppet/provider/parsedfile' - -Puppet::Type.newtype(:mailman_list) do - ensurable - newparam(:name) do - desc "The name of the mailing list." - end - - newparam(:install) do - desc "The mailmain installation to use." - end - newparam(:admin) do - desc "The email address of the administrator." - end - newparam(:description) do - desc "The description of the mailing list." - end - newparam(:mailserver) do - desc "The FQDN of the mailing list host." - end - newparam(:password) do - desc "The admin password for the list." - end - newparam(:provider) do - desc "The backend to use for this mailman_list." - end - newparam(:webserver) do - desc "The FQDN of the host providing web archives." - end -end diff --git a/manifests/init.pp b/manifests/init.pp deleted file mode 100644 index cb275c5..0000000 --- a/manifests/init.pp +++ /dev/null @@ -1,73 +0,0 @@ -# == Class: mailman -# -class mailman( - $vhost_name = $::fqdn, - $multihost = false, -) { - - include httpd - - package { 'mailman': - ensure => installed, - } - - if ($multihost) { - file { '/srv/mailman': - ensure => directory, - owner => 'root', - group => 'root', - mode => '0755', - } - file { '/etc/mailman/mm_cfg.py': - ensure => present, - owner => 'root', - group => 'root', - mode => '0444', - content => template('mailman/mm_cfg_multihost.py.erb'), - replace => true, - require => Package['mailman'], - } - } else { - ::httpd::vhost { $vhost_name: - port => 80, - docroot => '/var/www/', - priority => '50', - template => 'mailman/mailman.vhost.erb', - } - file { '/etc/mailman/mm_cfg.py': - ensure => present, - owner => 'root', - group => 'root', - mode => '0444', - content => template('mailman/mm_cfg.py.erb'), - replace => true, - require => Package['mailman'], - } - service { 'mailman': - ensure => running, - hasrestart => true, - hasstatus => false, - subscribe => File['/etc/mailman/mm_cfg.py'], - require => Package['mailman'], - } - } - - httpd_mod { 'rewrite': - ensure => present, - before => Service['httpd'], - } - - httpd_mod { 'cgid': - ensure => present, - before => Service['httpd'], - } - - file { '/var/www/index.html': - ensure => present, - source => 'puppet:///modules/mailman/index.html', - owner => 'root', - group => 'root', - replace => true, - mode => '0444', - } -} diff --git a/manifests/site.pp b/manifests/site.pp deleted file mode 100644 index 3df6852..0000000 --- a/manifests/site.pp +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright (C) 2017 Red Hat, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This processes the passed in directory (which should be like -# "/srv/mailman/something/templates/en") to identify the language and -# creates a symlink to the target installed templates for that -# language. - -define mailman::language_link() -{ - $parts = split($name, '/') - $lname = $parts[-1] - $target = sprintf('/usr/share/mailman/%s', $lname) - - file { $name: - ensure => link, - target => $target, - } -} - -define mailman::site ( - $default_email_host, - $default_url_host, - $install_languages = ['en']) -{ - include httpd - - $root = "/srv/mailman/${name}" - $dirs = [ - "${root}/", - "${root}/etc", - "${root}/lists", - "${root}/logs", - "${root}/locks", - "${root}/data", - "${root}/spam", - "${root}/mail", - "${root}/run", - "${root}/archives", - "${root}/archives/public", - "${root}/archives/private", - "${root}/templates", - "${root}/qfiles", - "${root}/qfiles/in", - "${root}/qfiles/out", - "${root}/qfiles/commands", - "${root}/qfiles/bounces", - "${root}/qfiles/news", - "${root}/qfiles/archive", - "${root}/qfiles/shunt", - "${root}/qfiles/virgin", - "${root}/qfiles/bad", - "${root}/qfiles/retry", - "${root}/qfiles/maildir", - ] - - file { $dirs: - ensure => directory, - owner => 'list', - group => 'list', - mode => '2775', - } - - $install_template_dirs = regsubst ($install_languages, '^(.*)$', "${root}/templates/\\1") - - mailman::language_link { $install_template_dirs: } - - file { "/srv/mailman/${name}/etc/mm_cfg_local.py": - ensure => present, - content => template('mailman/mm_site_cfg.py.erb'), - } - - if ! defined(File['/etc/mailman/sites']) { - file { '/etc/mailman/sites': - ensure => present, - } - } - - file_line { "mailman_site_file_${name}": - require => File['/etc/mailman/sites'], - path => '/etc/mailman/sites', - line => "${default_email_host}: /srv/mailman/${name}", - } - - # We alias the resource name here so that it can resolve properly - # within the vhost template when evaluated as part of the vhost - # define (which will override $name). - $mailman_site_name = $name - ::httpd::vhost { $default_url_host: - port => 80, - docroot => '/var/www/', - priority => '50', - content => template('mailman/mailman_multihost.vhost.erb'), - } - - file { "/etc/init.d/mailman-${name}": - ensure => present, - content => template('mailman/mailman.init.erb'), - owner => 'root', - group => 'root', - mode => '0755', - } - - service { "mailman-${name}": - enable => true, - hasrestart => true, - hasstatus => false, - require => File["/etc/init.d/mailman-${name}"], - } -} diff --git a/metadata.json b/metadata.json deleted file mode 100644 index ad15470..0000000 --- a/metadata.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "openstackinfra-mailman", - "version": "0.0.1", - "author": "OpenStack CI", - "summary": "Puppet module for Mailman", - "license": "Apache 2.0", - "source": "https://git.openstack.org/openstack-infra/puppet-mailman.git", - "project_page": "http://docs.openstack.org/infra/system-config/", - "issues_url": "https://storyboard.openstack.org/#!/project/795", - "dependencies": [] -} diff --git a/spec/acceptance/basic_spec.rb b/spec/acceptance/basic_spec.rb deleted file mode 100644 index b27c76e..0000000 --- a/spec/acceptance/basic_spec.rb +++ /dev/null @@ -1,97 +0,0 @@ -require 'puppet-openstack_infra_spec_helper/spec_helper_acceptance' - -describe 'basic mailman', :if => ['debian', 'ubuntu'].include?(os[:family]) do - - def pp_path - base_path = File.dirname(__FILE__) - File.join(base_path, 'fixtures') - end - - def puppet_manifest - module_path = File.join(pp_path, 'default.pp') - File.read(module_path) - end - - it 'should work with no errors' do - apply_manifest(puppet_manifest, catch_failures: true) - end - - it 'should be idempotent' do - apply_manifest(puppet_manifest, catch_changes: true) - end - - describe command("curl http://localhost/cgi-bin/mailman/listinfo") do - its(:stdout) { should contain('Mailing Lists') } - end - - expected_vhost = < - ServerName lists.openstack.org - - ErrorLog \${APACHE_LOG_DIR}/lists.openstack.org-error.log - - # Possible values include: debug, info, notice, warn, error, crit, - # alert, emerg. - LogLevel warn - - CustomLog \${APACHE_LOG_DIR}/lists.openstack.org-access.log combined - - DocumentRoot /var/www - -RewriteEngine on -RewriteRule ^/$ /cgi-bin/mailman/listinfo [R] - -# We can find mailman here: -ScriptAlias /cgi-bin/mailman/ /usr/lib/cgi-bin/mailman/ -# And the public archives: -Alias /pipermail/ /var/lib/mailman/archives/public/ -# Logos: -Alias /images/mailman/ /usr/share/images/mailman/ - -# Use this if you don't want the "cgi-bin" component in your URL: -# In case you want to access mailman through a shorter URL you should enable -# this: -#ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/ -# In this case you need to set the DEFAULT_URL_PATTERN in -# /etc/mailman/mm_cfg.py to http://%s/mailman/ for the cookie -# authentication code to work. Note that you need to change the base -# URL for all the already-created lists as well. - - - AllowOverride None - Options ExecCGI - AddHandler cgi-script .cgi - Order allow,deny - Allow from all - = 2.4> - Require all granted - - - - Options FollowSymlinks - AllowOverride None - Order allow,deny - Allow from all - = 2.4> - Require all granted - - - - AllowOverride None - Order allow,deny - Allow from all - = 2.4> - Require all granted - - - - -EOF - describe file('/etc/apache2/sites-enabled/50-lists.openstack.org.conf') do - its(:content) { should eq expected_vhost } - end - - describe command('MAILMAN_SITE_DIR=/srv/mailman/openstack /usr/lib/mailman/bin/list_lists --bare') do - its(:stdout) { should eq "kata-dev\n" } - end -end diff --git a/spec/acceptance/fixtures/default.pp b/spec/acceptance/fixtures/default.pp deleted file mode 100644 index c23696f..0000000 --- a/spec/acceptance/fixtures/default.pp +++ /dev/null @@ -1,17 +0,0 @@ -file { '/srv/mailman': - ensure => directory, -} -class { 'mailman': - vhost_name => 'lists.openstack.org', -} -Maillist { - provider => 'noaliasmailman', -} -maillist { 'kata-dev': - ensure => present, - admin => 'jonathan@openstack.org', - password => 'listpassword', - description => 'Kata Containers Development Mailing List (not for usage questions)', - webserver => $listdomain, - mailserver => $listdomain, -} diff --git a/spec/acceptance/fixtures/multihost.pp b/spec/acceptance/fixtures/multihost.pp deleted file mode 100644 index dba46cb..0000000 --- a/spec/acceptance/fixtures/multihost.pp +++ /dev/null @@ -1,30 +0,0 @@ -vcsrepo { '/opt/system-config': - ensure => present, - source => 'https://git.openstack.org/openstack-infra/system-config', - provider => git, -} -file { '/srv/mailman/openstack/templates/en': - ensure => directory, - owner => 'root', - group => 'list', - mode => '0644', - recurse => true, - require => File['/srv/mailman/openstack/templates'], - source => '/opt/system-config/modules/openstack_project/files/mailman/html-templates-en', -} -class { 'mailman': - multihost => true, -} -mailman::site { 'openstack': - default_email_host => 'lists.openstack.org', - default_url_host => 'lists.openstack.org', - install_languages => ['de', 'fr', 'it', 'ko', 'ru', 'vi', 'zh_TW'], - require => Class['mailman'], -} -mailman_list { 'mailman@openstack': - require => Mailman::Site['openstack'], - ensure => present, - admin => 'nobody@openstack.org', - password => 'listpassword', - description => 'The mailman site list', -} diff --git a/spec/acceptance/multihost_spec.rb b/spec/acceptance/multihost_spec.rb deleted file mode 100644 index a829a5f..0000000 --- a/spec/acceptance/multihost_spec.rb +++ /dev/null @@ -1,99 +0,0 @@ -require 'puppet-openstack_infra_spec_helper/spec_helper_acceptance' - -describe 'multihost mailman', :if => ['debian', 'ubuntu'].include?(os[:family]) do - - def pp_path - base_path = File.dirname(__FILE__) - File.join(base_path, 'fixtures') - end - - def puppet_manifest - module_path = File.join(pp_path, 'multihost.pp') - File.read(module_path) - end - - it 'should work with no errors' do - apply_manifest(puppet_manifest, catch_failures: true) - end - - it 'should be idempotent' do - apply_manifest(puppet_manifest, catch_changes: true) - end - - describe command("curl http://localhost/cgi-bin/mailman/listinfo") do - its(:stdout) { should contain('Mailing Lists') } - end - - expected_vhost = < - ServerName lists.openstack.org - - ErrorLog \${APACHE_LOG_DIR}/lists.openstack.org-error.log - - # Possible values include: debug, info, notice, warn, error, crit, - # alert, emerg. - LogLevel warn - - CustomLog \${APACHE_LOG_DIR}/lists.openstack.org-access.log combined - - DocumentRoot /var/www - -RewriteEngine on -RewriteRule ^/$ /cgi-bin/mailman/listinfo [R] - -# We can find mailman here: -ScriptAlias /cgi-bin/mailman/ /usr/lib/cgi-bin/mailman/ -# And the public archives: -Alias /pipermail/ /srv/mailman/openstack/archives/public/ -# Logos: -Alias /images/mailman/ /usr/share/images/mailman/ - -# Use this if you don't want the "cgi-bin" component in your URL: -# In case you want to access mailman through a shorter URL you should enable -# this: -#ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/ -# In this case you need to set the DEFAULT_URL_PATTERN in -# /etc/mailman/mm_cfg.py to http://%s/mailman/ for the cookie -# authentication code to work. Note that you need to change the base -# URL for all the already-created lists as well. - - - AllowOverride None - Options ExecCGI - AddHandler cgi-script .cgi - SetEnv MAILMAN_SITE_DIR /srv/mailman/openstack - Order allow,deny - Allow from all - = 2.4> - Require all granted - - - - Options FollowSymlinks - AllowOverride None - Order allow,deny - Allow from all - = 2.4> - Require all granted - - - - AllowOverride None - Order allow,deny - Allow from all - = 2.4> - Require all granted - - - - -EOF - - describe file('/etc/apache2/sites-enabled/50-lists.openstack.org.conf') do - its(:content) { should eq expected_vhost } - end - - describe command('MAILMAN_SITE_DIR=/srv/mailman/openstack /usr/lib/mailman/bin/list_lists --bare') do - its(:stdout) { should eq "mailman\n" } - end -end diff --git a/spec/acceptance/nodesets/default.yml b/spec/acceptance/nodesets/default.yml deleted file mode 100644 index 3bb3e62..0000000 --- a/spec/acceptance/nodesets/default.yml +++ /dev/null @@ -1,11 +0,0 @@ -HOSTS: - ubuntu-server-1404-x64: - roles: - - master - platform: ubuntu-14.04-amd64 - box: puppetlabs/ubuntu-14.04-64-nocm - box_url: https://vagrantcloud.com/puppetlabs/ubuntu-14.04-64-nocm - hypervisor: vagrant -CONFIG: - log_level: debug - type: git diff --git a/spec/acceptance/nodesets/nodepool-centos7.yml b/spec/acceptance/nodesets/nodepool-centos7.yml deleted file mode 100644 index c552874..0000000 --- a/spec/acceptance/nodesets/nodepool-centos7.yml +++ /dev/null @@ -1,10 +0,0 @@ -HOSTS: - centos-70-x64: - roles: - - master - platform: el-7-x86_64 - hypervisor: none - ip: 127.0.0.1 -CONFIG: - type: foss - set_env: false diff --git a/spec/acceptance/nodesets/nodepool-trusty.yml b/spec/acceptance/nodesets/nodepool-trusty.yml deleted file mode 100644 index 9fc624e..0000000 --- a/spec/acceptance/nodesets/nodepool-trusty.yml +++ /dev/null @@ -1,10 +0,0 @@ -HOSTS: - ubuntu-14.04-amd64: - roles: - - master - platform: ubuntu-14.04-amd64 - hypervisor: none - ip: 127.0.0.1 -CONFIG: - type: foss - set_env: false diff --git a/spec/acceptance/nodesets/nodepool-xenial.yml b/spec/acceptance/nodesets/nodepool-xenial.yml deleted file mode 100644 index 99dd318..0000000 --- a/spec/acceptance/nodesets/nodepool-xenial.yml +++ /dev/null @@ -1,10 +0,0 @@ -HOSTS: - ubuntu-16.04-amd64: - roles: - - master - platform: ubuntu-16.04-amd64 - hypervisor: none - ip: 127.0.0.1 -CONFIG: - type: foss - set_env: false diff --git a/templates/mailman.init.erb b/templates/mailman.init.erb deleted file mode 100644 index 7fa76de..0000000 --- a/templates/mailman.init.erb +++ /dev/null @@ -1,116 +0,0 @@ -#! /bin/sh -# -# mailman-<%= @name %> starts up the master queue runner for mailman -# -# Based on skeleton originally by Miquel van Smoorenburg and Ian Murdock, -# customisations by Tollef Fog Heen and Thijs Kinkhorst for Debian. -# -### BEGIN INIT INFO -# Provides: mailman-qrunner-<%= @name %> -# Required-Start: $syslog $local_fs $remote_fs $named $network -# Required-Stop: $syslog $local_fs $remote_fs $named $network -# Should-Start: -# Should-Stop: -# Default-Start: 2 3 4 5 -# Default-Stop: -# Short-Description: Mailman Master Queue Runner -# Description: Starts and stops the Mailman queue runners, used to -# manage the various message queues within the Mailman -# mailing list manager. -### END INIT INFO - -PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -DAEMON=/usr/lib/mailman/bin/mailmanctl -export MAILMAN_SITE_DIR=/srv/mailman/<%= @name %> -PIDFILE=$MAILMAN_SITE_DIR/run/mailman.pid - - -test -x $DAEMON || exit 0 - -set -e - -if ! [ -d /var/run/mailman ]; then - install -d -o list -g list /var/run/mailman -fi - -if ! [ -d /var/lock/mailman ]; then - install -d -o root -g list -m 2775 /var/lock/mailman -fi - -. /lib/lsb/init-functions - -# In rare upgrading cycles python might not be available at some point. -# Do not break the upgrade in that case. -if ! [ -x /usr/bin/python ]; then - log_warning_msg "Python interpreter not available, exiting." - exit 0; -fi - -# Just a newline. -nl=' -' - -case "$1" in - start) - SITE_LIST=$( sed -rne "s/^[[:space:]]*MAILMAN_SITE_LIST[[:space:]]*=[[:space:]]*(['\"])([^'\"]+)\\1/\\2/p" /etc/mailman/mm_cfg.py ) - [ -n "$SITE_LIST" ] || SITE_LIST='mailman' - case "$nl$(/var/lib/mailman/bin/list_lists -b)$nl" in - (*$nl$SITE_LIST$nl*) ;; - (*) - log_warning_msg "Site list for mailman missing (looking for list named '${SITE_LIST}')." - log_warning_msg "Please create it; until then, mailman will refuse to start." - exit 0 ;; - esac - log_daemon_msg "Starting Mailman master qrunner" "mailmanctl" - if $DAEMON -s -q start; then - log_end_msg 0 - else - log_end_msg 1 - fi - ;; - stop) - log_daemon_msg "Stopping Mailman master qrunner" "mailmanctl" - if $DAEMON -q stop; then - rm -f $PIDFILE - log_end_msg 0 - else - log_end_msg 1 - fi - ;; - reload) - log_begin_msg "Reloading Mailman master qrunner configuration" - if $DAEMON -q restart; then - log_end_msg 0 - else - log_end_msg 1 - fi - ;; - restart|force-reload) - PID=`cat $PIDFILE 2>/dev/null` || true - log_daemon_msg "Restarting Mailman master qrunner" "mailmanctl" - $DAEMON -q stop - if test -n "$PID" && kill -0 $PID 2>/dev/null ; then - log_action_begin_msg "Waiting" - for cnt in `seq 1 5`; do - sleep 1 - kill -0 $PID 2>/dev/null || break - done; - if kill -0 $PID 2>/dev/null ; then - log_action_end_msg 1 - else - log_action_end_msg 0 - fi - fi - if $DAEMON -q start; then - log_end_msg 0 - else - log_end_msg 1 - fi - ;; - *) - echo "Usage: /etc/init.d/mailman {start|stop|restart|reload|force-reload}" >&2 - exit 1 - ;; -esac - -exit 0 diff --git a/templates/mailman.vhost.erb b/templates/mailman.vhost.erb deleted file mode 100644 index 4f7a11b..0000000 --- a/templates/mailman.vhost.erb +++ /dev/null @@ -1,61 +0,0 @@ - - ServerName <%= scope.lookupvar("mailman::vhost_name") %> - - ErrorLog ${APACHE_LOG_DIR}/<%= scope.lookupvar("mailman::vhost_name") %>-error.log - - # Possible values include: debug, info, notice, warn, error, crit, - # alert, emerg. - LogLevel warn - - CustomLog ${APACHE_LOG_DIR}/<%= scope.lookupvar("mailman::vhost_name") %>-access.log combined - - DocumentRoot /var/www - -RewriteEngine on -RewriteRule ^/$ /cgi-bin/mailman/listinfo [R] - -# We can find mailman here: -ScriptAlias /cgi-bin/mailman/ /usr/lib/cgi-bin/mailman/ -# And the public archives: -Alias /pipermail/ /var/lib/mailman/archives/public/ -# Logos: -Alias /images/mailman/ /usr/share/images/mailman/ - -# Use this if you don't want the "cgi-bin" component in your URL: -# In case you want to access mailman through a shorter URL you should enable -# this: -#ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/ -# In this case you need to set the DEFAULT_URL_PATTERN in -# /etc/mailman/mm_cfg.py to http://%s/mailman/ for the cookie -# authentication code to work. Note that you need to change the base -# URL for all the already-created lists as well. - - - AllowOverride None - Options ExecCGI - AddHandler cgi-script .cgi - Order allow,deny - Allow from all - = 2.4> - Require all granted - - - - Options FollowSymlinks - AllowOverride None - Order allow,deny - Allow from all - = 2.4> - Require all granted - - - - AllowOverride None - Order allow,deny - Allow from all - = 2.4> - Require all granted - - - - diff --git a/templates/mailman_multihost.vhost.erb b/templates/mailman_multihost.vhost.erb deleted file mode 100644 index 5639416..0000000 --- a/templates/mailman_multihost.vhost.erb +++ /dev/null @@ -1,62 +0,0 @@ - - ServerName <%= @default_url_host %> - - ErrorLog ${APACHE_LOG_DIR}/<%= @default_url_host %>-error.log - - # Possible values include: debug, info, notice, warn, error, crit, - # alert, emerg. - LogLevel warn - - CustomLog ${APACHE_LOG_DIR}/<%= @default_url_host %>-access.log combined - - DocumentRoot /var/www - -RewriteEngine on -RewriteRule ^/$ /cgi-bin/mailman/listinfo [R] - -# We can find mailman here: -ScriptAlias /cgi-bin/mailman/ /usr/lib/cgi-bin/mailman/ -# And the public archives: -Alias /pipermail/ /srv/mailman/<%= @mailman_site_name %>/archives/public/ -# Logos: -Alias /images/mailman/ /usr/share/images/mailman/ - -# Use this if you don't want the "cgi-bin" component in your URL: -# In case you want to access mailman through a shorter URL you should enable -# this: -#ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/ -# In this case you need to set the DEFAULT_URL_PATTERN in -# /etc/mailman/mm_cfg.py to http://%s/mailman/ for the cookie -# authentication code to work. Note that you need to change the base -# URL for all the already-created lists as well. - - - AllowOverride None - Options ExecCGI - AddHandler cgi-script .cgi - SetEnv MAILMAN_SITE_DIR /srv/mailman/<%= @mailman_site_name %> - Order allow,deny - Allow from all - = 2.4> - Require all granted - - -/archives/public/> - Options FollowSymlinks - AllowOverride None - Order allow,deny - Allow from all - = 2.4> - Require all granted - - - - AllowOverride None - Order allow,deny - Allow from all - = 2.4> - Require all granted - - - - diff --git a/templates/mm_cfg.py.erb b/templates/mm_cfg.py.erb deleted file mode 100644 index 1b20b66..0000000 --- a/templates/mm_cfg.py.erb +++ /dev/null @@ -1,119 +0,0 @@ -# -*- python -*- - -# Copyright (C) 1998,1999,2000 by the Free Software Foundation, Inc. -# -# This program 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 2 -# of the License, or (at your option) any later version. -# -# This program 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 this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301 USA - - -"""This is the module which takes your site-specific settings. - -From a raw distribution it should be copied to mm_cfg.py. If you -already have an mm_cfg.py, be careful to add in only the new settings -you want. The complete set of distributed defaults, with annotation, -are in ./Defaults. In mm_cfg, override only those you want to -change, after the - - from Defaults import * - -line (see below). - -Note that these are just default settings - many can be overridden via the -admin and user interfaces on a per-list or per-user basis. - -Note also that some of the settings are resolved against the active list -setting by using the value as a format string against the -list-instance-object's dictionary - see the distributed value of -DEFAULT_MSG_FOOTER for an example.""" - - -####################################################### -# Here's where we get the distributed defaults. # - -from Defaults import * - -############################################################## -# Put YOUR site-specific configuration below, in mm_cfg.py . # -# See Defaults.py for explanations of the values. # - -#------------------------------------------------------------- -# The name of the list Mailman uses to send password reminders -# and similar. Don't change if you want mailman-owner to be -# a valid local part. -MAILMAN_SITE_LIST = 'mailman' - -#------------------------------------------------------------- -# If you change these, you have to configure your http server -# accordingly (Alias and ScriptAlias directives in most httpds) -DEFAULT_URL_PATTERN = 'http://%s/cgi-bin/mailman/' -PRIVATE_ARCHIVE_URL = '/cgi-bin/mailman/private' -IMAGE_LOGOS = '/images/mailman/' - -#------------------------------------------------------------- -# Default domain for email addresses of newly created MLs -DEFAULT_EMAIL_HOST = '<%= @vhost_name %>' -#------------------------------------------------------------- -# Default host for web interface of newly created MLs -DEFAULT_URL_HOST = '<%= @vhost_name %>' -#------------------------------------------------------------- -# Required when setting any of its arguments. -add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) - -#------------------------------------------------------------- -# The default language for this server. -DEFAULT_SERVER_LANGUAGE = 'en' - -#------------------------------------------------------------- -# Iirc this was used in pre 2.1, leave it for now -USE_ENVELOPE_SENDER = 0 # Still used? - -#------------------------------------------------------------- -# Unset send_reminders on newly created lists -DEFAULT_SEND_REMINDERS = 0 - -#------------------------------------------------------------- -# Uncomment this if you configured your MTA such that it -# automatically recognizes newly created lists. -# (see /usr/share/doc/mailman/README.Exim4.Debian or -# /usr/share/mailman/postfix-to-mailman.py) -MTA=None # Misnomer, suppresses alias output on newlist - -#------------------------------------------------------------- -# Uncomment if you use Postfix virtual domains (but not -# postfix-to-mailman.py), but be sure to see -# /usr/share/doc/mailman/README.Debian first. -# MTA='Postfix' - -#------------------------------------------------------------- -# Uncomment if you want to filter mail with SpamAssassin. For -# more information please visit this website: -# http://www.jamesh.id.au/articles/mailman-spamassassin/ -# GLOBAL_PIPELINE.insert(1, 'SpamAssassin') - -# Note - if you're looking for something that is imported from mm_cfg, but you -# didn't find it above, it's probably in /usr/lib/mailman/Mailman/Defaults.py. - -# Enable VERP, but let Exim create the VERP addresses since it's -# more efficient. --jeblair - -VERP_PASSWORD_REMINDERS = 1 -VERP_PERSONALIZED_DELIVERIES = 1 -VERP_CONFIRMATIONS = 1 -VERP_DELIVERY_INTERVAL = 0 - -# Make membership viewable by admin only by default (lp bug 1021493) -# Private_roster == 0: anyone can see, 1: members only, 2: admin only. -DEFAULT_PRIVATE_ROSTER = 2 - diff --git a/templates/mm_cfg_multihost.py.erb b/templates/mm_cfg_multihost.py.erb deleted file mode 100644 index 442f719..0000000 --- a/templates/mm_cfg_multihost.py.erb +++ /dev/null @@ -1,45 +0,0 @@ -import os -import sys - -if 'MAILMAN_SITE_DIR' not in os.environ: - print("Please set MAILMAN_SITE_DIR") - # Exit 0 to avoid confusing the dpkg scripts - sys.exit(0) - -sys.path.insert(0, os.path.join(os.environ['MAILMAN_SITE_DIR'], 'etc')) -from mm_cfg_local import * - -VAR_PREFIX = os.environ['MAILMAN_SITE_DIR'] - -# Useful directories -LIST_DATA_DIR = os.path.join(VAR_PREFIX, 'lists') -LOG_DIR = os.path.join(VAR_PREFIX, 'logs') -LOCK_DIR = os.path.join(VAR_PREFIX, 'locks') -DATA_DIR = os.path.join(VAR_PREFIX, 'data') -SPAM_DIR = os.path.join(VAR_PREFIX, 'spam') -WRAPPER_DIR = os.path.join(EXEC_PREFIX, 'mail') -BIN_DIR = os.path.join(PREFIX, 'bin') -SCRIPTS_DIR = os.path.join(PREFIX, 'scripts') -TEMPLATE_DIR = os.path.join(VAR_PREFIX, 'templates') -MESSAGES_DIR = os.path.join(PREFIX, 'messages') -PUBLIC_ARCHIVE_FILE_DIR = os.path.join(VAR_PREFIX, 'archives', 'public') -PRIVATE_ARCHIVE_FILE_DIR = os.path.join(VAR_PREFIX, 'archives', 'private') - -# Directories used by the qrunner subsystem -QUEUE_DIR = os.path.join(VAR_PREFIX, 'qfiles') -INQUEUE_DIR = os.path.join(QUEUE_DIR, 'in') -OUTQUEUE_DIR = os.path.join(QUEUE_DIR, 'out') -CMDQUEUE_DIR = os.path.join(QUEUE_DIR, 'commands') -BOUNCEQUEUE_DIR = os.path.join(QUEUE_DIR, 'bounces') -NEWSQUEUE_DIR = os.path.join(QUEUE_DIR, 'news') -ARCHQUEUE_DIR = os.path.join(QUEUE_DIR, 'archive') -SHUNTQUEUE_DIR = os.path.join(QUEUE_DIR, 'shunt') -VIRGINQUEUE_DIR = os.path.join(QUEUE_DIR, 'virgin') -BADQUEUE_DIR = os.path.join(QUEUE_DIR, 'bad') -RETRYQUEUE_DIR = os.path.join(QUEUE_DIR, 'retry') -MAILDIR_DIR = os.path.join(QUEUE_DIR, 'maildir') - -# Other useful files -PIDFILE = os.path.join(VAR_PREFIX, 'run', 'mailman.pid') -SITE_PW_FILE = os.path.join(DATA_DIR, 'adm.pw') -LISTCREATOR_PW_FILE = os.path.join(DATA_DIR, 'creator.pw') diff --git a/templates/mm_site_cfg.py.erb b/templates/mm_site_cfg.py.erb deleted file mode 100644 index c5d5fe3..0000000 --- a/templates/mm_site_cfg.py.erb +++ /dev/null @@ -1,153 +0,0 @@ -# -*- python -*- - -# Copyright (C) 1998,1999,2000 by the Free Software Foundation, Inc. -# -# This program 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 2 -# of the License, or (at your option) any later version. -# -# This program 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 this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301 USA - - -"""This is the module which takes your site-specific settings. - -From a raw distribution it should be copied to mm_cfg.py. If you -already have an mm_cfg.py, be careful to add in only the new settings -you want. The complete set of distributed defaults, with annotation, -are in ./Defaults. In mm_cfg, override only those you want to -change, after the - - from Defaults import * - -line (see below). - -Note that these are just default settings - many can be overridden via the -admin and user interfaces on a per-list or per-user basis. - -Note also that some of the settings are resolved against the active list -setting by using the value as a format string against the -list-instance-object's dictionary - see the distributed value of -DEFAULT_MSG_FOOTER for an example.""" - - -####################################################### -# Here's where we get the distributed defaults. # - -from Mailman.Defaults import * - -############################################################## -# Put YOUR site-specific configuration below, in mm_cfg.py . # -# See Defaults.py for explanations of the values. # - -#------------------------------------------------------------- -# The name of the list Mailman uses to send password reminders -# and similar. Don't change if you want mailman-owner to be -# a valid local part. -MAILMAN_SITE_LIST = 'mailman' - -#------------------------------------------------------------- -# If you change these, you have to configure your http server -# accordingly (Alias and ScriptAlias directives in most httpds) -DEFAULT_URL_PATTERN = 'http://%s/cgi-bin/mailman/' -PRIVATE_ARCHIVE_URL = '/cgi-bin/mailman/private' -IMAGE_LOGOS = '/images/mailman/' - -#------------------------------------------------------------- -# Default domain for email addresses of newly created MLs -DEFAULT_EMAIL_HOST = '<%= @default_email_host %>' -#------------------------------------------------------------- -# Default host for web interface of newly created MLs -DEFAULT_URL_HOST = '<%= @default_url_host %>' -#------------------------------------------------------------- -# Required when setting any of its arguments. -add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) - -#------------------------------------------------------------- -# The default language for this server. -DEFAULT_SERVER_LANGUAGE = 'en' - -#------------------------------------------------------------- -# Iirc this was used in pre 2.1, leave it for now -USE_ENVELOPE_SENDER = 0 # Still used? - -#------------------------------------------------------------- -# Unset send_reminders on newly created lists -DEFAULT_SEND_REMINDERS = 0 - -#------------------------------------------------------------- -# Uncomment this if you configured your MTA such that it -# automatically recognizes newly created lists. -# (see /usr/share/doc/mailman/README.Exim4.Debian or -# /usr/share/mailman/postfix-to-mailman.py) -MTA=None # Misnomer, suppresses alias output on newlist - -#------------------------------------------------------------- -# Uncomment if you use Postfix virtual domains (but not -# postfix-to-mailman.py), but be sure to see -# /usr/share/doc/mailman/README.Debian first. -# MTA='Postfix' - -#------------------------------------------------------------- -# Uncomment if you want to filter mail with SpamAssassin. For -# more information please visit this website: -# http://www.jamesh.id.au/articles/mailman-spamassassin/ -# GLOBAL_PIPELINE.insert(1, 'SpamAssassin') - -# Note - if you're looking for something that is imported from mm_cfg, but you -# didn't find it above, it's probably in /usr/lib/mailman/Mailman/Defaults.py. - -# Enable VERP, but let Exim create the VERP addresses since it's -# more efficient. --jeblair - -VERP_PASSWORD_REMINDERS = 1 -VERP_PERSONALIZED_DELIVERIES = 1 -VERP_CONFIRMATIONS = 1 -VERP_DELIVERY_INTERVAL = 0 - -# Make membership viewable by admin only by default (lp bug 1021493) -# Private_roster == 0: anyone can see, 1: members only, 2: admin only. -DEFAULT_PRIVATE_ROSTER = 2 - -# All `normal' messages which are delivered to the entire list membership go -# through this pipeline of handler modules. Lists themselves can override the -# global pipeline by defining a `pipeline' attribute. - -# AvoidDuplicates is removed because it modifies the CC header, which -# can break DKIM signatures. --jeblair -GLOBAL_PIPELINE = [ - # These are the modules that do tasks common to all delivery paths. - 'SpamDetect', - 'Approve', - 'Replybot', - 'Moderate', - 'Hold', - 'MimeDel', - 'Scrubber', - 'Emergency', - 'Tagger', - 'CalcRecips', - 'Cleanse', - 'CleanseDKIM', - 'CookHeaders', - # And now we send the message to the digest mbox file, and to the arch and - # news queues. Runners will provide further processing of the message, - # specific to those delivery paths. - 'ToDigest', - 'ToArchive', - 'ToUsenet', - # Now we'll do a few extra things specific to the member delivery - # (outgoing) path, finally leaving the message in the outgoing queue. - 'AfterDelivery', - 'Acknowledge', - 'WrapMessage', - 'ToOutgoing', - ]