Reactive charm for mailman3
Python Makefile
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
actions
lib/charms/layer
reactive
scripts
templates
.gitignore
AUTHORS
Makefile
README.md
actions.yaml
config.yaml
copyright
icon.svg
layer.yaml
metadata.yaml
tox.ini

README.md

Mailman

This charm provides the Mailman suite. In deploying this charm you can choose to install all components of the mailman suite (mailman, hyperkitty, and postorius), or a combination of mailman and either of hyperkitty and/or postorius.

Databases

This charm can be related to either PostgreSQL or MySQL, such that you may use your database of preference when deploying Mailman.

Search Backends

Hyperkitty/Postorious make use of "Whoosh" as the search middleware. This charm (by default) will use a file-based whoosh backend until a relation to elasticsearch is made, as which point Mailman will switch to using elasticsearch as the backend for Whoosh.

Usage

The simplest path to deploying this charm is by way of bundle:

(Ensure you have a Juju environment bootstrapped first)Juju Getting Started

$ juju deploy mailman-aws-bundle.yaml
Deploying charm "cs:trusty/elasticsearch-17"
Deploying charm "cs:~jamesbeedy/mailman-12"
Deploying charm "cs:postgresql-114"
Related "mailman" and "postgresql:db"
Related "mailman" and "elasticsearch"
Deploy of bundle completed.

Following the successful completion of your bundle deploy, your juju status should show something similar to:

Model        Controller      Cloud/Region   Version
mailman-dev  jujucharms.com  aws/us-east-1  2.0.2.1

App            Version  Status   Scale  Charm          Store       Rev  OS      Notes
elasticsearch           unknown      1  elasticsearch  jujucharms   17  ubuntu  
mailman                 active       1  mailman        jujucharms   12  ubuntu  
postgresql     9.6.1    active       1  postgresql     jujucharms  114  ubuntu  

Unit              Workload  Agent  Machine  Public address  Ports     Message
elasticsearch/0*  unknown   idle   2        xx.xx.xxx.xxx   9200/tcp  
mailman/0*        active    idle   0        xx.xx.xxx.xxx   80/tcp    Mailman available
postgresql/0*     active    idle   1        xx.xx.xxx.xxx   5432/tcp  Live master (9.6.1)

Machine  State    DNS            Inst id              Series  AZ
0        started  xx.xx.xxx.xxx  i-002c06811c3a7bc83  xenial  us-east-1b
1        started  xx.xx.xxx.xxx  i-075de3712c40a36f3  xenial  us-east-1c
2        started  xx.xx.xxx.xxx  i-03c0e89c1dd7f58e2  trusty  us-east-1d

Relation       Provides       Consumes       Type
peer           elasticsearch  elasticsearch  peer
elasticsearch  elasticsearch  mailman        regular
db             mailman        postgresql     regular
replication    postgresql     postgresql     peer

Multiple bundles have been defined for deployments to different substrates, the bundles can be found here.

Actions

  • create-admin - the 'create-admin' action creates a django superuser.

Following a successful deployment of this charm, simply run the included action to create a site admin.

juju run-action mailman/<unit#> create-admin username=myadminuser password=mypassword email=myemail@email.com

Once you have run this action, you may login to the web ui as the admin you created.

Authors

Copyright

Copyright (c) James Beedy 2016 jamesbeedy@gmail.com