Forge Home


Puppet module for mariadb


6,537 latest version

3.5 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 2.0.18 (latest)
  • 2.0.17
  • 2.0.16
released Aug 12th 2016
This module has been deprecated by its author since Oct 28th 2019.

The reason given was: No longer maintained

The author has suggested puppetlabs-mysql as its replacement.

Start using this module


example42/mariadb — version 2.0.18 Aug 12th 2016

Deprecation notice

This module was designed for Puppet versions 2 and 3. It should work also on Puppet 4 but doesn't use any of its features.

The current Puppet 3 compatible codebase is no longer actively maintained by example42.

Still, Pull Requests that fix bugs or introduce backwards compatible features will be accepted.


####Table of Contents

  1. Overview
  2. Module Description
  3. Setup
  4. Usage
  5. Operating Systems Support
  6. Development


This module installs, manages and configures mariadb.

##Module Description

The module is based on stdmod naming standards version 0.9.0.

Refer to for complete documentation on the common parameters.


###Resources managed by mariadb module

  • This module installs the mariadb package
  • Enables the mariadb service
  • Can manage all the configuration files (by default no file is changed)

###Setup Requirements

  • PuppetLabs stdlib module
  • StdMod stdmod module
  • Puppet version >= 2.7.x
  • Facter version >= 1.6.2

###Beginning with module mariadb

To install the package provided by the module just include it:

    include mariadb

The main class arguments can be provided either via Hiera (from Puppet 3.x) or direct parameters:

    class { 'mariadb':
      parameter => value,

The module provides also a generic define to manage any mariadb configuration file:

    mariadb::conf { 'sample.conf':
      content => '# Test',


  • Install version 5.5 (by default version 10.0 is installed). This changes the repos used for packages.

      class { 'mariadb':
        version => '5.5',
  • Install Galera engine

      class { 'mariadb':
        galera_install => true,
  • A common way to use this module involves the management of the main configuration file via a custom template (provided in a custom site module):

      class { 'mariadb':
        config_file_template => 'site/mariadb/mariadb.conf.erb',
  • You can write custom templates that use setting provided but the config_file_options_hash paramenter

      class { 'mariadb':
        config_file_template      => 'site/mariadb/mariadb.conf.erb',
        config_file_options_hash  => {
          opt  => 'value',
          opt2 => 'value2',
  • Use custom source (here an array) for main configuration file. Note that template and source arguments are alternative.

      class { 'mariadb':
        config_file_source => [ "puppet:///modules/site/mariadb/mariadb.conf-${hostname}" ,
                                "puppet:///modules/site/mariadb/mariadb.conf" ],
  • Use custom source directory for the whole configuration directory, where present.

      class { 'mariadb':
        config_dir_source  => 'puppet:///modules/site/mariadb/conf/',
  • Use custom source directory for the whole configuration directory and purge all the local files that are not on the dir. Note: This option can be used to be sure that the content of a directory is exactly the same you expect, but it is desctructive and may remove files.

      class { 'mariadb':
        config_dir_source => 'puppet:///modules/site/mariadb/conf/',
        config_dir_purge  => true, # Default: false.
  • Use custom source directory for the whole configuration dir and define recursing policy.

      class { 'mariadb':
        config_dir_source    => 'puppet:///modules/site/mariadb/conf/',
        config_dir_recursion => false, # Default: true.

##Operating Systems Support

This is tested on these OS:

  • RedHat osfamily 5 and 6
  • Debian 6 and 7
  • Ubuntu 10.04 and 12.04


Pull requests (PR) and bug reports via GitHub are welcomed.

When submitting PR please follow these quidelines:

  • Provide puppet-lint compliant code
  • If possible provide rspec tests
  • Follow the module style and stdmod naming standards

When submitting bug report please include or link:

  • The Puppet code that triggers the error
  • The output of facter on the system where you try it
  • All the relevant error logs
  • Any other information useful to undestand the context