Puppet module to manage Holland Backup Manager
- Description
- Setup - The basics of getting started with holland
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
This module will setup the Holland Backup Manager and manage its providers and backup sets. Currently only the mongodump and mysqldump providers are supported by this module.
This module requires puppetlabs/stdlib and if you are using Puppet 6 or above it also requires puppetlabs/augeas_core
If you are going to use the holland-mongodump
provider you will need to make
sure the mongodump
command is installed and in the path outside of the module
as the package does not pull it in as a dependency. I'm not working around this
in the module because of the many different ways to install the utility. It will need to match the version and deployment method of your MongoDB deployment.
At a minimum you will need to simply include the main holland
class and one
of the providers.
include ::holland
include ::holland::mysqldump
Please see the REFFERENCE.md for the reference documentation and examples of usage.
The version of holland-mongodump
that is included in the EPEL pulls in the
python-pymongo
package from EPEL as a dependency. This package matches with
the version of MongoDB also included in EPEL but will have authentication errors
if you're trying to backup more recent versions of MongoDB. To work around
this issue I've used the following hack to upgrade pymongo
via pip
as a
workaround.
package { 'pymongo':
ensure => '3.7.2',
install_options => '--upgrade',
provider => 'pip',
require => Package['holland-mongodump', 'python2-pip'],
}
Pull requests are welcome especially for unit tests, and additional providers.
- Support more backup providers
- Add logging format config to main Holland configuration
- Support historic backup set size calculation for MySQL providers
- Support "hook" commands to be run before, after, or on failure of a backup.
- Better unit tests