puppet/modules/mailman3.git
9 years agoAdded .idea to gitignore 92/392/2
Josh Farwell [Fri, 7 Aug 2015 23:47:11 +0000 (16:47 -0700)]
Added .idea to gitignore

Playing around with the Puppet extensions for Jetbrains, gitignoring the
files it drops.

Change-Id: I083892cccbf957088620b171576a372fcccd91cc
Signed-off-by: Josh Farwell <jfarwell@linuxfoundation.org>
9 years agoAdded CAS support 16/216/3
Josh Farwell [Tue, 23 Jun 2015 19:49:40 +0000 (12:49 -0700)]
Added CAS support

Added a new boolean, use_cas, for mailman3::web. Created a second set of
installation files with needed changes for enabling CAS, which are
installed instead of the stock files when the boolean is turned on.

Change-Id: I38f09ffeb289efba5edc3fd041bd063ed1a5616c
Signed-off-by: Josh Farwell <jfarwell@linuxfoundation.org>
9 years agoCreated web::install class 81/181/2
Josh Farwell [Fri, 19 Jun 2015 04:26:38 +0000 (21:26 -0700)]
Created web::install class

Mailman3::web::install creates a service user, creates needed files and
directories, and installs Postorius and Hyperkitty to a virtualenv with
their dependencies. We are installing the Django project files from
mailman-bundler and including them in the module.

Change-Id: I88eda2d7d6ffe81a0a874c16fb3b82edabe0e904
Signed-off-by: Josh Farwell <jfarwell@linuxfoundation.org>
9 years agoIntial commit for web submodule 70/170/2
Josh Farwell [Thu, 18 Jun 2015 03:45:47 +0000 (20:45 -0700)]
Intial commit for web submodule

The web submodule will install, configure, initialize, and manage an
installation of Postorius and Hyperkitty in the same Django project.
Declared default values and built default options hash in params.pp,
pulled those variables into web.pp and validated their types.

Created skelton file for web::install.pp.

Change-Id: I5842df699cd8aa9c3cde5f5f8e1ceb365393115e
Signed-off-by: Josh Farwell <jfarwell@linuxfoundation.org>
9 years agoMerge "Added service management functionality to core"
Andrew Grimberg [Thu, 18 Jun 2015 02:52:17 +0000 (02:52 +0000)]
Merge "Added service management functionality to core"

9 years agoAdded service management functionality to core 69/169/1
Josh Farwell [Wed, 17 Jun 2015 23:52:35 +0000 (16:52 -0700)]
Added service management functionality to core

We are now managing the mailman3 service and notifying it via the
core class when changes to the resources in the core::config class are
made.

Change-Id: Iecf2471d9b25e3fdd23b50660b94f86029b80052
Signed-off-by: Josh Farwell <jfarwell@linuxfoundation.org>
9 years agoAdded python-psycopg2 dependency 65/165/2
Josh Farwell [Wed, 17 Jun 2015 21:19:28 +0000 (14:19 -0700)]
Added python-psycopg2 dependency

mailman3::core::install now parses the config data for database
information and installs a needed Postgresql dependency if we are using
Postgres.

Change-Id: I9d1b5f4c0c1e856df31ffcc30378e95e97e73867
Signed-off-by: Josh Farwell <jfarwell@linuxfoundation.org>
9 years agoConfigured hyperkitty.cfg file for Mailman Core 63/163/1
Josh Farwell [Wed, 17 Jun 2015 18:19:26 +0000 (11:19 -0700)]
Configured hyperkitty.cfg file for Mailman Core

In order to connect to Hyperkitty, Mailman needs to know its URL and API
key, held in its own config file. A best-case scenario would be for the
web portion of the module to export a resource that defines this file
based on its own config, but for now we will duplicate the variables.

Also cleaned up some formatting.

Change-Id: Ifd92cea8069a1ebcf8d919c5161ac5e5cd60a01a
Signed-off-by: Josh Farwell <jfarwell@linuxfoundation.org>
9 years agoAdded selinux and hyperkitty integration packages 62/162/4
Josh Farwell [Wed, 17 Jun 2015 17:18:15 +0000 (10:18 -0700)]
Added selinux and hyperkitty integration packages

Mailman-core requires extra packages for SELinux policy and
for connecting to Hyperkitty, including these by default.

Change-Id: I4248b1f8f11a63b085f1b780366d6feff52b63c5
Signed-off-by: Josh Farwell <jfarwell@linuxfoundation.org>
9 years agoAdded database management 58/158/4
Josh Farwell [Tue, 16 Jun 2015 22:35:19 +0000 (15:35 -0700)]
Added database management

Core::config now parses the config file information for database
settings. If postgres, exports a resource for creating a postgres
database. TODO: if sqlite, it will verify that the mailman3 user can
write to the database directory. If mysql, fails, as it is not
officially supported by the project at this time.

Change-Id: Ie91cc0ff612e382967b5b3f1661bd301c5143077
Signed-off-by: Josh Farwell <jfarwell@linuxfoundation.org>
9 years agoAdded automatic firewall configuation 38/138/2
Josh Farwell [Wed, 10 Jun 2015 00:47:26 +0000 (17:47 -0700)]
Added automatic firewall configuation

Added puppetlabs/firewall as an optional dependency, ::core::config now
calls a subclass that parses the config file values for relevant
information and creates firewall rules based on the config. Since
the program's default settings bind all services to 127.0.0.1, by
default it does nothing. Opens ports to all addresses by default
if non-localhost address is specified, takes an options hash that
defines allowed_hosts.

Change-Id: If9122950ae218ca2b1cf3bbb96997b3c9ad2818a
Signed-off-by: Josh Farwell <jfarwell@linuxfoundation.org>
9 years agoConfigured core service 24/124/4
Josh Farwell [Tue, 9 Jun 2015 01:39:55 +0000 (18:39 -0700)]
Configured core service

Added ::core::config, which creates an ini file for the mailman service
from a template and an options hash. Defined the default mailman.cfg file
in params. Refactored the rest of the core submodule to refer to the
service as "core" instead of "mailman" to avoid confusion.

Change-Id: Ide760844152e946020a95e4cd771c1c6e3fc4507
Signed-off-by: Josh Farwell <jfarwell@linuxfoundation.org>
9 years agoRestructured installation into submodules 93/93/2
Josh Farwell [Thu, 4 Jun 2015 04:03:06 +0000 (21:03 -0700)]
Restructured installation into submodules

Because we are managing three separate applications which can be on
separate systems, splitting into submodules with shared paramaters and
other classes makes sense. Init.pp now throws an error if called
directly. Moved existing installation logic to mailman::core, which
handles the core service. Split yum repo resource into its own class
which is called by ::core and will be called by the other applications.

Also cleaned up unneeded mailman service user parameter; these are not
needed, the user is installed by the package and managed via the systemd
service. Created parameter for site_owner email address.

Fixed rspec tests; there is a known issue with using .merge!() on
options hashes. Changed semantics for confirming the absence of an
object on core__install_spec.rb (only looking for raise_error if we have
a specific message we want, otherwise using is_expected.to_not)

Change-Id: I60ef5e897d66574ee73be2768985b8915aa8d02f
Signed-off-by: Josh Farwell <jfarwell@linuxfoundation.org>
9 years agoYumrepo bug fix and added "require" for package 88/88/3
Josh Farwell [Wed, 3 Jun 2015 19:35:29 +0000 (12:35 -0700)]
Yumrepo bug fix and added "require" for package

Yumrepo statement was creating a file without "name" defined, fixed.
Added "require" statement for the mailman3 package to prevent yum
errors as a result of not having the repo installed, updated rspec
tests. Fixed formatting.

Change-Id: I38cb0787bdda4a5d99f5d6cda2d9c107429eb243
Signed-off-by: Josh Farwell <jfarwell@linuxfoundation.org>
9 years agoStarted building initial structure for module. 60/60/2
Josh Farwell [Fri, 29 May 2015 09:39:04 +0000 (02:39 -0700)]
Started building initial structure for module.
Created init.pp and params.pp, started building installation
functionality.

Added puppet-rpsec tests.

Change-Id: Ife33ead1b2e1b04c8a04576b951677ee3b06634e
Signed-off-by: Josh Farwell <jfarwell@linuxfoundation.org>
9 years agoAdd .gitreview for mailman3 35/35/1
Andrew Grimberg [Fri, 22 May 2015 00:09:22 +0000 (17:09 -0700)]
Add .gitreview for mailman3

Add a .gitreview file for mailman3

Change-Id: Id28c7a578a6dec0e464025175809a4c67c3f5b59
Signed-off-by: Andrew Grimberg <agrimberg@linuxfoundation.org>
9 years agoinitial boilerplate
Josh Farwell [Thu, 21 May 2015 23:23:21 +0000 (16:23 -0700)]
initial boilerplate

Change-Id: Idfcced7a981bc1542ee2f3de49ae9a8ebc862541
Signed-off-by: Josh Farwell <jfarwell@linuxfoundation.org>
9 years agoInitial empty repository
Andrew Grimberg [Thu, 21 May 2015 22:04:05 +0000 (22:04 +0000)]
Initial empty repository