Version information
This version is compatible with:
- Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >=3.0.0 <7.0.0
- Archlinux, , , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'liger1978-mattermost', '3.10.0'
Learn more about managing modules with a PuppetfileDocumentation
mattermost
Table of Contents
- Overview
- Module Changes
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with mattermost
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Overview
This module installs and configures Mattermost, to provide secure, private cloud messaging for teams and enterprises. More information is available at: https://about.mattermost.com.
The name for this deployment solution in the context of the
Mattermost branding guidelines
is Puppet module for Mattermost by Richard Grainger
.
Following automated deployment, the following steps are required to make your system production-ready:
Please see https://docs.mattermost.com for the official Mattermost documentation.
Module Changes
From module version 1.7.0, the default value of conf
(the default
Mattermost configuration file location) has changed to /etc/mattermost.conf
.
This is to allow configuration changes made using the web GUI to be preserved
during Mattermost application upgrades.
Module Description
The Mattermost module does the following:
- Installs the Mattermost server from a release archive on the web, an alternative download location within your firewall or using a package.
- Installs and configures a daemon (service) for Mattermost in the format native to your operating system.
- Configures Mattermost according to settings you provide.
Setup
What mattermost affects
When using a release archive:
- Downloads and installs Mattermost server (defaults to
/opt/mattermost-${version}
). - Creates a friendly symbolic link to the installation directory (defaults to
/opt/mattermost
). - Creates a configuration file (defaults to
/etc/mattermost.json
) based on the vendor-provided configuration file and adds user-supplied options. - Create an environment variable configuration file (defaults to
/etc/sysconfig/mattermost
or/etc/default/mattermost
depending on platform) and add user-supplied options. - Creates and manages a Mattermost daemon (service) using your operating system's native service provider.
When using a package:
- Installs the package.
- Add user-supplied options to the configuration files.
- Manages the service .
Beginning with mattermost
If you have a suitable database installed for Mattermost server to use as a backend, this is the minimum you need to get Mattermost server working by configuring environment variables that will be used by the installed Mattermost service:
Using Puppet only:
class { 'mattermost':
override_env_options => {
'MM_SQLSETTINGS_DRIVERNAME' => 'postgres',
'MM_SQLSETTINGS_DATASOURCE' => "postgres://db_user:db_pass@db_host:db_port/mattermost?sslmode=disable&connect_timeout=10",
},
}
Using Puppet and Hiera:
include mattermost
mattermost::override_env_options:
MM_SQLSETTINGS_DRIVERNAME: postgres
MM_SQLSETTINGS_DATASOURCE: postgres://db_user:db_pass@db_host:db_port/mattermost?sslmode=disable&connect_timeout=10
Alternatively, the minimum configuration can be supplied by configuring Mattermost's json config file:
Using Puppet only:
class { 'mattermost':
override_options => {
'SqlSettings' => {
'DriverName' => 'postgres',
'DataSource' => "postgres://db_user:db_pass@db_host:db_port/mattermost?sslmode=disable&connect_timeout=10",
},
},
}
Using Puppet and Hiera:
include mattermost
mattermost::override_options:
SqlSettings:
DriverName: postgres
DataSource: postgres://db_user:db_pass@db_host:db_port/mattermost?sslmode=disable&connect_timeout=10
Any of these options will install a Mattermost server listening on the default TCP port (currently 8065).
The module's default behaviour is to download and install Mattermost using a
.tar.gz
archive. The module can instead install Mattermost using a package.
Here is an example using the mattermost-server
package in the
harbottle-main RPM repo
for CentOS 7:
yumrepo { 'harbottle-main':
baseurl => 'https://copr-be.cloud.fedoraproject.org/results/harbottle/main/epel-7-$basearch/',
descr => 'harbottle-main',
gpgcheck => true,
gpgkey => 'https://copr-be.cloud.fedoraproject.org/results/harbottle/main/pubkey.gpg',
}
-> class { 'mattermost':
install_from_pkg => true,
version => latest,
conf => '/etc/mattermost/config.json',
override_options => {
'SqlSettings' => {
'DriverName' => 'postgres',
'DataSource' => "postgres://db_user:db_pass@db_host:db_port/mattermost?sslmode=disable&connect_timeout=10",
},
},
}
Here is an example of Mattermost using PostgreSQL as a database and NGINX as a reverse proxy, all running on the same system (requires puppetlabs/postgresql and puppet/nginx):
class { 'postgresql::globals':
manage_package_repo => true,
version => '9.4',
}
class { 'postgresql::server':
ipv4acls => ['host all all 127.0.0.1/32 md5'],
}
postgresql::server::db { 'mattermost':
user => 'mattermost',
password => postgresql_password('mattermost', 'mattermost'),
}
postgresql::server::database_grant { 'mattermost':
privilege => 'ALL',
db => 'mattermost',
role => 'mattermost',
}
-> class { 'mattermost':
override_options => {
'SqlSettings' => {
'DriverName' => 'postgres',
'DataSource' => "postgres://mattermost:mattermost@127.0.0.1:5432/mattermost?sslmode=disable&connect_timeout=10",
},
},
}
class { 'nginx': }
nginx::resource::upstream { 'mattermost':
members => [ 'localhost:8065' ],
}
nginx::resource::server { 'mattermost':
server_name => [ 'myserver.mydomain' ],
proxy => 'http://mattermost',
location_cfg_append => {
'proxy_http_version' => '1.1',
'proxy_set_header Upgrade' => '$http_upgrade',
'proxy_set_header Connection' => '"upgrade"',
},
}
With the above code, you should be able to access the Mattermost application at
http://myserver.mydomain
(or whatever resolvable DNS domain you chose) via
the NGINX reverse proxy listening on port 80.
Usage
Mattermost config settings can be set using environment variables or a json file.
Configuration options supplied using environment variables takes precedence over options supplied using the json file and they disable modification using the Service Console.
You must decide which method to use.
Use override_options
to change Mattermost's default settings by modifying the json file:
class { 'mattermost':
override_options => {
'ServiceSettings' => {
'ListenAddress' => ":80",
},
'TeamSettings' => {
'SiteName' => 'BigCorp Collaboration',
},
'SqlSettings' => {
'DriverName' => 'postgres',
'DataSource' => "postgres://mattermost:mattermost@127.0.0.1:5432/mattermost?sslmode=disable&connect_timeout=10",
},
'FileSettings' => {
'Directory' => '/var/mattermost',
},
}
}
Use override_env_options
to change Mattermost's default settings by modifying environment variables:
class { 'mattermost':
override_env_options => {
'MM_SERVICESETTINGS_LISTENADDRESS' => ":80",
'MM_TEAMSETTINGS_SITENAME' => 'BigCorp Collaboration',
'MM_SQLSETTINGS_DRIVERNAME' => 'postgres',
'MM_SQLSETTINGS_DATASOURCE' => "postgres://mattermost:mattermost@127.0.0.1:5432/mattermost?sslmode=disable&connect_timeout=10",
'MM_FILESETTINGS_DIRECTORY' => '/var/mattermost',
},
}
}
Store file data, such as file uploads, in a separate directory (recommended), json file method:
class { 'mattermost':
override_options => {
'FileSettings' => {
'Directory' => '/var/mattermost',
},
},
}
Store file data, such as file uploads, in a separate directory (recommended), environment variables method:
class { 'mattermost':
override_env_options => {
'MM_FILESETTINGS_DIRECTORY' => '/var/mattermost',
},
}
Install a specific version:
class { 'mattermost':
version => '5.21.0',
}
Install Enterprise edition:
class { 'mattermost':
edition => 'enterprise',
}
Install a release candidate:
class { 'mattermost':
version => '5.21.0-rc1',
}
Download from an internal server:
class { 'mattermost':
version => '5.21.0',
full_url => 'http://intranet.bigcorp.com/packages/mattermost.tar.gz',
}
Upgrading Mattermost
The module can elegantly upgrade your Mattermost installation. To upgrade, just specify the new version when it has been released, for example:
class { 'mattermost':
version => '5.21.0',
}
On the next Puppet run, when using a release archive, the new version will be downloaded and installed; the friendly symbolic link will be changed to point at the new installation directory and the service will be refreshed.
When using a package, the new package will be installed and the service will be refreshed.
Note 1: The Mattermost application supports certain upgrade paths only. Please see the upgrade guide
Note 2: Always backup your data before upgrades.
Note 3: For a seamless upgrade you should store your file data outside of the Mattermost installation directory so that your uploaded files are still accessible after each upgrade. For example:
class { 'mattermost':
override_env_options => {
'MM_FILESETTINGS_DIRECTORY' => '/var/mattermost',
},
}
or
class { 'mattermost':
override_options => {
'FileSettings' => {
'Directory' => '/var/mattermost',
},
},
}
Security Updates
We highly recommend users subscribe to the Mattermost security updates email list. When notified of a security update, the maintainers of this deployment solution will make an effort to update to the secure version within 10 days.
Reference
Public classes
mattermost
: Main class, includes all other classes
Private classes
mattermost::install
: Installs the Mattermost server from a web archive or using a package and optionally installs a daemon (service) for Mattermost in the format native to your operating system.mattermost::config
: Configures Mattermost according to provided settings.mattermost::service
: Manages the Mattermost daemon.
Parameters
mattermost
install_from_pkg
The default behaviour is to install from a remote Mattermost server release
archive. Enable this option to instead install from a package. The package
should be available to install from a existing repository. Defaults to false
.
Helpful hint: The author of this module has has created a package suitable for RHEL 7, CentOS 7 and Oracle Linux 7 users.
pkg
The package name when installing from a package. Defaults to
mattermost-server
.
base_url
The base URL to download the Mattermost server release archive. Ignored if
installing from a package. Defaults to https://releases.mattermost.com
.
edition
The edition of Mattermost server to install. Ignored if installing from a
package. Defaults to team
. Valid values are team
and enterprise
.
version
The version of Mattermost server to install. Defaults to 5.21.0
.
file_name
The filename of the remote Mattermost server release archive. Ignored if
installing from a package. Defaults to
mattermost-team-${version}-linux-amd64.tar.gz
(for Team edition) or
mattermost-${version}-linux-amd64.tar.gz
(for Enterprise edition), so with
the default version
, the default value will be
mattermost-team-5.21.0-linux-amd64.tar.gz
.
full_url
The full URL of the Mattermost server release archive. Ignored if installing
from a package. Defaults to ${base_url}/${version}/${filename}
, so with the
default base_url
, edition
, version
and file_name
, this will be:
https://releases.mattermost.com/5.21.0/mattermost-team-5.21.0-linux-amd64.tar.gz
.
Please note: If you set full_url
you should also set version
to match the version of Mattermost server you are installing.
dir
The directory to install Mattermost server on your system. Ignored if installing
from a package. Defaults to /opt/mattermost-${version}
.
symlink
The path of the friendly symbolic link to the versioned Mattermost installation
directory. Ignored if installing from a package. Defaults to /opt/mattermost
.
conf
The path to Mattermost's config file. Defaults to /etc/mattermost.json
.
env_conf
The path to Mattermost's environment variable config file. Defaults to
/etc/sysconfig/mattermost
(Enterprise Linux/SLES) or /etc/default/mattermost
(Debian/Ubuntu).
create_user
Should the module create an unprivileged system account that will be used to run
Mattermost server? Ignored if installing from a package. Defaults to true
.
create_group
Should the module create an unprivileged system group that will be used to run
Mattermost server? Ignored if installing from a package. Defaults to true
.
user
The name of the unprivileged system account that will be used to run Mattermost
server and will own the config file. Defaults to mattermost
.
group
The name of the unprivileged system group that will be used to run Mattermost
serverand will own the config file. Defaults to mattermost
.
uid
The uid of the unprivileged system account that will be used to run
Mattermost server. Ignored if installing from a package. Defaults to 1500
.
gid
The gid of the unprivileged system group that will be used to run
Mattermost server. Ignored if installing from a package. Defaults to 1500
.
override_options
Mattermost config settings can be set using environment variables or a json file.
Configuration options supplied using environment variables takes precedence over options supplied using the json file and disable modification using ther Service Console.
You must decide which method to use.
This is a hash containing overrides to the default settings contained in Mattermost's
json config file.
Defaults to {}
(empty hash).
Note 1: If you decide to configure Mattermost using a json file,
you should at least specify SqlSettings
, e.g.:
class { 'mattermost':
override_options => {
'SqlSettings' => {
'DriverName' => 'postgres',
'DataSource' => "postgres://db_user:db_pass@db_host:db_port/mattermost?sslmode=disable&connect_timeout=10",
},
},
}
Note 2: To purge existing settings from the configuration file, use the
purge_conf
parameter.
override_options['FileSettings']['Directory']
An element of the override_options
hash that specifies the Mattermost data
directory. Setting this element will result in the directory being created with
the correct permissions if it does not already exist (unless
manage_data_dir
is false
).
Note: override_env_options['MM_FILESETTINGS_DIRECTORY']
takes precedence over this element.
An absolute path must be specified. Example:
class { 'mattermost':
override_options => {
'FileSettings' => {
'Directory' => '/var/mattermost',
},
},
}
override_options['LogSettings']['FileLocation']
An element of the override_options
hash that specifies the Mattermost log
directory. Setting this element will result in the directory being created with
the correct permissions if it does not already exist (unless
manage_log_dir
is false
).
Note: override_env_options['MM_LOGSETTINGS_FILELOCATION']
takes precedence over this element.
An absolute path must be specified. Example:
class { 'mattermost':
override_options => {
'LogSettings' => {
'FileLocation' => '/var/log/mattermost',
},
},
}
override_env_options
Mattermost config settings can be set using environment variables or a json file.
Configuration options supplied using environment variables takes precedence over options supplied using the json file and disable modification using ther Service Console.
You must decide which method to use.
This is a hash containing overrides to Mattermost's environment variables that
will be stored in the env_conf
environment variable file.
Defaults to {}
(empty hash).
Note 1: If you decide to configure Mattermost using environment variables, you should at least specify database settings, e.g.:
class { 'mattermost':
override_env_options => {
'MM_SQL_SETTINGS_DRIVERNAME' => 'postgres',
'MM_SQL_SETTINGS_DATASOURCE' => "postgres://db_user:db_pass@db_host:db_port/mattermost?sslmode=disable&connect_timeout=10",
},
}
Note 2: To purge existing settings from the environment variable file, use the
purge_env_conf
parameter.
override_env_options['MM_FILESETTINGS_DIRECTORY']
An element of the override_env_options
hash that specifies the Mattermost data
directory. Setting this element will result in the directory being created with
the correct permissions if it does not already exist (unless
manage_data_dir
is false
).
Note: This takes precedence over override_options['FileSettings']['Directory']
An absolute path must be specified. Example:
class { 'mattermost':
override_env_options => {
'MM_FILESETTINGS_DIRECTORY' => '/var/mattermost',
},
}
override_env_options['MM_LOGSETTINGS_FILELOCATION']
An element of the override_env_options
hash that specifies the Mattermost log
directory. Setting this element will result in the directory being created with
the correct permissions if it does not already exist (unless
manage_log_dir
is false
).
Note: This takes precedence over override_options['LogSettings']['FileLocation']
An absolute path must be specified. Example:
class { 'mattermost':
override_env_options => {
'MM_LOGSETTINGS_FILELOCATION' => '/var/log/mattermost',
},
}
purge_conf
Should the module purge existing settings from Mattermost configuration file?
Defaults to false
.
purge_env_conf
Should the module purge existing settings from Mattermost environment variable file?
Defaults to false
.
manage_data_dir
Should the module ensure Mattermost's data directory exists and has the correct
permissions? This parameter only applies if
override_env_options['MM_FILESETTINGS_DIRECTORY']
or
override_options['FileSettings']['Directory']
is set. Ignored if installing from a package. Defaults to true
.
manage_log_dir
Should the module ensure Mattermost's log directory exists and has the correct
permissions? This parameter only applies if
override_env_options['MM_LOGSETTINGS_FILELOCATION']
or
override_options['LogSettings']['FileLocation']
is set. Ignored if installing from a package. Defaults to true
.
depend_service
The local service (i.e. database service) that Mattermost server needs to start
when it is installed on the same server as the database backend. Ignored if
installing from a package.Defaults to ''
(empty string).
install_service
Should the module install a daemon for Mattermost server appropriate to your
operating system? Ignored if installing from a package. Defaults to true
.
manage_service
Should the module manage the installed Mattermost server daemon
(ensure => 'running'
and enable => true
)? Defaults to true
.
service_name
The service name. Defaults to mattermost
.
service_template
ERB
(Embedded RuBy) template to use for the service definition file. Ignored
if installing from a package. Defaults to a bundled template suitable for the
server's operating system.
service_path
The target path for the service definition file. Ignored if installing from a package. Defaults to the standard path for the server's operating system.
service_provider
The Puppet service provider to use for service management. Defaults to an appropriate value for the server's operating system.
Public defined types
Defined type: mattermost_settings
Defines settings within a JSON-formatted Mattermost configuration file.
Example:
mattermost_settings{ '/etc/mattermost.json':
values => {
'SqlSettings' => {
'DriverName' => 'postgres',
'DataSource' => "postgres://mattermost:mattermost@127.0.0.1:5432/mattermost?sslmode=disable&connect_timeout=10",
},
'TeamSettings' => {
'SiteName' => 'Dev Team',
},
},
}
mattermost_settings
parameters:
name
An arbitrary name for the resource. It will be the default for 'target'.
target
The path to the mattermost config file to manage. Either this file should already exist, or the source parameter needs to be specified.
source
The file from which to load the current settings. If unspecified, it defaults to the target file.
allow_new_value
Whether it should be allowed to specify values for non-existing tree portions.
Defaults to true
.
allow_new_file
Whether it should be allowed to create a new target file. Default to true
.
user
The user with which to make the changes.
values
The portions to change and their new values. This should be a hash. The subtree to change is specified in the form:
<key 1>/<key 2>/.../<key n>
where <key x>
admits three variants:
- the plain contents of the string key, as long as they do not start
with
:
or'
and do not contain/
'<contents>'
, to represent a string key that contains the characters mentioned above. Single quotes must be doubled to have literal value.:'<contents>'
, likewise, but the value will be a symbol.
Limitations
This module has been tested with Puppet 3, 4, 5 and 6.
This module has been tested on:
- Red Hat Enterprise Linux 6, 7, 8
- CentOS 6, 7, 8
- Oracle Linux 6, 7, 8
- Scientific Linux 6, 7
- Debian 8, 9, 10
- Ubuntu 14.04, 16.04, 18.04, 19.04
- SLES 12, 15
Note: According to the Mattermost software requirements documentation, the following platforms are offically supported by Mattermost:
Ubuntu 16.04, Ubuntu 18.04, Debian Buster, CentOS 6+, CentOS 7+, RedHat Enterprise Linux 6+, RedHat Enterprise Linux 7+, Oracle Linux 6+, Oracle Linux 7+
Development
Please send pull requests. For maintenance and contributor info, see the maintainer guide.
2020-03-14 Richard Grainger harbottle@room3d3.com - 3.10.0
- Default to Mattermost 5.21.0
- Support Arch
2020-02-23 Richard Grainger harbottle@room3d3.com - 3.9.0
- Mattercon 2020 Edition!
- Default to Mattermost 5.20.1
- Vagrant fixes
2020-01-25 Richard Grainger harbottle@room3d3.com - 3.8.0
- Default to Mattermost 5.19.1
- Update supported OS
2019-10-18 Carlos Panato ctadeu@gmail.com - 3.7.0
- Default to Mattermost 5.16.0
2019-10-14 Carlos Panato ctadeu@gmail.com - 3.6.1
- Default to Mattermost 5.15.1
2019-09-17 Carlos Panato ctadeu@gmail.com - 3.6.0
- Default to Mattermost 5.15.0
2019-08-20 Jeoffrey Bauvin jeoffrey54@gmail.com - 3.5.0
- Default to Mattermost 5.14.0
2019-07-07 Richard Grainger harbottle@room3d3.com - 3.4.0
- Add support for Debian 10 (buster)
- Add support for RHEL 8
2019-07-06 Richard Grainger harbottle@room3d3.com - 3.3.0
- Default to Mattermost 5.12.2
- Remove support for Ubuntu 12.04
- Add support for Ubuntu 19.04
- Loosen stdlib requirement
2019-05-20 Carlos Panato ctadeu@gmail.com - 3.2.0
- Default to Mattermost 5.11.0
2019-04-16 Richard Grainger harbottle@room3d3.com - 3.1.0
- Default to Mattermost 5.10.0
2019-03-15 Richard Grainger harbottle@room3d3.com - 3.0.0
- Default to Mattermost 5.9.0 [@harbottle]
- Support configuration by environment variables [#40][@harbottle]
- Manage log directory [#45][@harbottle]
- Update support matrix [#39][@harbottle]
- Allow install from package [#43][@harbottle]
- Change config file permissions [!97][@fr3nd]
2019-02-16 Carlos Panato ctadeu@gmail.com - 2.11.0
- Default to Mattermost 5.8.0
2019-02-01 Carlos Panato ctadeu@gmail.com - 2.10.1
- Default to Mattermost 5.7.1
2019-01-16 Carlos Panato ctadeu@gmail.com - 2.10.0
- Default to Mattermost 5.7.0
2019-01-12 Richard Grainger harbottle@room3d3.com - 2.9.0
- Default to Mattermost 5.6.3 [!92][@cpanato]
- Support Ubuntu 18.04 [!91][@francesco.canovai]
- Support Puppet 6 [!93][@harbottle]
- Support stdlib 5 [!93][@harbottle]
2018-12-22 Carlos Panato ctadeu@gmail.com - 2.8.2
- Default to Mattermost 5.6.2
2018-12-19 Carlos Panato ctadeu@gmail.com - 2.8.1
- Default to Mattermost 5.6.1
2018-12-14 Carlos Panato ctadeu@gmail.com - 2.8.0
- Default to Mattermost 5.6.0
2018-12-06 Carlos Panato ctadeu@gmail.com - 2.7.1
- Default to Mattermost 5.5.1
2018-11-16 Carlos Panato ctadeu@gmail.com - 2.7.0
- Default to Mattermost 5.5.0
2018-10-17 Carlos Panato ctadeu@gmail.com - 2.6.0
- Default to Mattermost 5.4.0
2018-09-21 Carlos Panato ctadeu@gmail.com - 2.5.1
- Default to Mattermost 5.3.1
2018-09-14 Carlos Panato ctadeu@gmail.com - 2.5.0
- Default to Mattermost 5.3.0
2018-08-24 Carlos Panato ctadeu@gmail.com - 2.4.2
- Default to Mattermost 5.2.1
2018-08-21 Richard Grainger grainger@gmail.com - 2.4.1
- Avoid merging a config value if not an hash [#38][@mnencia]
- Merge configuration during writes [@mnencia]
2018-08-20 Carlos Panato ctadeu@gmail.com - 2.4.0
- Default to Mattermost 5.2.0
2018-08-10 Richard Grainger grainger@gmail.com - 2.3.1
- Default to Mattermost 5.1.1
2018-07-16 Richard Grainger grainger@gmail.com - 2.3.0
- Default to Mattermost 5.1.0
2018-07-09 Richard Grainger grainger@gmail.com - 2.2.1
- Default to Mattermost 5.0.1
2018-06-22 Carlos Panato ctadeu@gmail.com - 2.2.0
- Default to Mattermost 5.0.0 (Carlos Panato)
- New execuable name for Mattermost >= 5.0.0 (Richard Grainger)
2018-06-04 Carlos Panato ctadeu@gmail.com - 2.1.1
- Default to Mattermost 4.10.1
2018-05-16 Carlos Panato ctadeu@gmail.com - 2.1.0
- Default to Mattermost 4.10.0
2018-04-28 Carlos Panato ctadeu@gmail.com - 2.0.4
- Default to Mattermost 4.9.1
2018-04-16 Richard Grainger grainger@gmail.com - 2.0.3
- Default to Mattermost 4.9.0
2018-03-16 Carlos Panato ctadeu@gmail.com - 2.0.2
- Default to Mattermost 4.8.1
2018-03-20 Richard Grainger grainger@gmail.com - 2.0.1
- Ensure generated JSON is always pretty
- Update README
2018-03-18 Richard Grainger grainger@gmail.com - 2.0.0
- Replace use of augeas with new mattermost_settings defined type
- Add vagrant boxes to dev/test environment
- Fixes #34 (Augeas fails to update configuration file)
2018-03-16 Carlos Panato ctadeu@gmail.com - 1.17.0
- Default to Mattermost 4.8.0
2018-02-27 Carlos Panato ctadeu@gmail.com - 1.16.3
- Default to Mattermost 4.7.3
2018-02-27 Richard Grainger grainger@gmail.com - 1.16.2
- Update README and examples
2018-02-23 Richard Grainger grainger@gmail.com - 1.16.1
- Remove RHEL 5; Ubuntu 12.10, 13.04, 13.10, 14.10, 16.10
- Add Debian 9; Ubuntu 17.10
- Systemd unit files for all operating systems now under /etc/systemd/systm
- Specify compatibility with Puppet 5
2018-02-23 Martin Krebs mtkr@gmail.com - 1.16.0
- Default to Mattermost 4.7.2
- RHEL systemd unit file now under /etc/systemd/system/...
- replace staging module with archive module
2018-02-20 Carlos Panato ctadeu@gmail.com - 1.15.1
- Default to Mattermost 4.7.1
2018-02-16 Carlos Panato ctadeu@gmail.com - 1.15.0
- Default to Mattermost 4.7.0
2018-01-31 Carlos Panato ctadeu@gmail.com - 1.14.1
- Default to Mattermost 4.6.1
2018-01-18 Carlos Panato ctadeu@gmail.com - 1.14.0
- Default to Mattermost 4.6.0
2017-12-18 Carlos Panato ctadeu@gmail.com - 1.13.0
- Default to Mattermost 4.5.0
2017-12-12 Carlos Panato ctadeu@gmail.com - 1.12.3
- Default to Mattermost 4.4.5
2017-12-10 Richard Grainger grainger@gmail.com - 1.12.2
- Default to Mattermost 4.4.3
2017-11-23 Carlos Panato ctadeu@gmail.com - 1.12.1
- Default to Mattermost 4.4.2
2017-11-17 Carlos Panato ctadeu@gmail.com - 1.12.0
- Default to Mattermost 4.4.1
2017-11-13 Carlos Panato ctadeu@gmail.com - 1.11.2
- Default to Mattermost 4.3.2
2017-10-19 Carlos Panato ctadeu@gmail.com - 1.11.1
- Default to Mattermost 4.3.1
2017-10-15 Richard Grainger grainger@gmail.com - 1.11.0
- Default to Mattermost 4.3.0
2017-10-02 Richard Grainger grainger@gmail.com - 1.10.1
- Publish module with puppet-blacksmith and GitLab-CI
2017-09-27 Carlos Panato ctadeu@gmail.com - 1.10.0
- Default to Mattermost 4.2.0
2017-08-30 Carlos Panato ctadeu@gmail.com - 1.9.0
- Default to Mattermost 4.1.0
2017-05-29 Richard Grainger grainger@gmail.com - 1.8.0
- Default to Mattermost 3.9.0
2017-04-24 Richard Grainger grainger@gmail.com - 1.7.2
- Support new binary argument format
- Improve Debian sysv init script.
- Default to Mattermost 3.8.2
2017-03-30 Richard Grainger grainger@gmail.com - 1.7.1
- Fixed README
2017-03-30 Richard Grainger grainger@gmail.com - 1.7.0
- Change default conf file location to aide Mattermost upgrades
- Default to Mattermost 3.7.3
2017-03-06 Richard Grainger grainger@gmail.com - 1.6.1
- Add .pmtignore [#25]
- Update Maintainer Guide link in README
2017-03-06 Richard Grainger grainger@gmail.com - 1.6.0
- Fix README with regards to complete PostgreSQL/NGINX example [#21]
- Add Vagrant dev environment [#22]
- Fix
mattermost::service_mode
unknown variable warnings [#23] - Default to Mattermost 3.6.2 [#24]
- Add
limit nofile 50000 50000
to upstart service template - Add
LimitNOFILE=49152
to systemd service template - Add suggested text to README from Mattermost Deployment Solution Programs
- Add Maintainer Guide
2016-11-28 Richard Grainger grainger@gmail.com - 1.5.1
- Make service_provider a class parameter
- Improve documentation
2016-11-25 Richard Grainger grainger@gmail.com - 1.5.0
- Support Mattermost Enterprise edition
- Default to Mattermost 3.5.1
2016-09-19 Richard Grainger grainger@gmail.com - 1.4.1
- Support Mattermost 3.4.0
- Move source code to gitlab.com
2016-07-18 Richard Grainger grainger@gmail.com - 1.4.0
- Support Mattermost 3.2.0
2016-07-11 Richard Grainger grainger@gmail.com - 1.3.1
- Fix issue with SMTPPort setting in config.json
2016-06-16 Richard Grainger grainger@gmail.com - 1.3.0
- Support Mattermost 3.1.0
- Support Ubuntu 16.04 (Xenial)
2016-05-22 Richard Grainger grainger@gmail.com - 1.2.3
- Support Mattermost 3.0.2
2016-04-21 Richard Grainger grainger@gmail.com - 1.2.2
- Support Mattermost 2.2.0
2016-03-26 Richard Grainger grainger@gmail.com - 1.2.1
- Remove redundant $conf pointing to missing param (gguillotte - Puppet Labs)
- Clean up line endings in templates (gguillotte - Puppet Labs)
- Several README edits (gguillotte - Puppet Labs)
2016-03-21 Richard Grainger grainger@gmail.com - 1.2.0
- Support Mattermost 2.1.0
- New default download location
- Drop support for Debian 6 (Squeeze)
2016-01-25 Richard Grainger grainger@gmail.com - 1.1.0
- Support Mattermost 1.4.0
- Allow external config.json file with conf parameter
- Add purge_conf parameter
- Make systemd service more robust
- Better support for Puppet 3
2016-01-14 Richard Grainger grainger@gmail.com - 1.0.5
- Refresh service when config changes
2016-01-13 Richard Grainger grainger@gmail.com - 1.0.4
- Manage Mattermost data directory in non-default location
- Allow smooth upgrades
2016-01-11 Richard Grainger grainger@gmail.com - 1.0.3
- Remove conf variable from params.pp
- Improve README
2016-01-09 Richard Grainger grainger@gmail.com - 1.0.2
- Correct README
- Correct metadata
2016-01-09 Richard Grainger grainger@gmail.com - 1.0.1
- Fix metadata
2016-01-09 Richard Grainger grainger@gmail.com - 1.0.0
- Initial 1.0.0 release
Dependencies
- puppetlabs/stdlib (>= 4.2.0)
- puppet/archive (>= 1.3.0)
Copyright 2016 Richard Grainger 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.