-- mode: markdown; mode: visual-line; --
Configure and manage bontmia
Copyright (c) 2021 UL HPC Team <[email protected]>
| Project Page | Sources | Documentation | Issues |
This module configures a bontmia installation and the backup tasks.
This module implements the following elements: Note that we use a forked version of bontmia.
-
Puppet classes:
bontmia
bontmia::common
bontmia::common::debian
bontmia::common::redhat
bontmia::params
-
Puppet definitions:
bontmia::target
All these components are configured through a set of variables you will find in
manifests/params.pp
.
Note: the various operations that can be conducted from this repository are piloted from a Rakefile
and assumes you have a running Ruby installation.
See docs/contributing.md
for more details on the steps you shall follow to have this Rakefile
working properly.
See metadata.json
. In particular, this module depends on
See:
- manifests/params.pp
- the headers of manifests/bontmia.pp
- the headers of manifests/target.pp
class { 'bontmia':
ensure => 'present',
prefix => '/data/bontmia',
sudo => true
}
The definition bontmia::target
permits to set-up one backup task.
This definition accepts the following parameters:
-
ensure
: default to 'present', can be 'absent'. -
dest_dir
: destination directory of the backup -
src_dir
,src_host
,src_user
,src_port
: defines the backup source. Ifsrc_host
is not set, it assumes that we want to backup the local directorysrc_dir
. -
rotation_days
,rotation_weeks
,rotation_months
,rotation_years
: set-up the rotation policy with these values, see the bontmia documentation for more information -
cron_minute
,cron_hour
,cron_weekday
,cron_monthday
,cron_month
: set-up a cronjob with these settings -
email
: send the execution output to this email address
Example:
bontmia::target{ 'backup_hcartiaux':
ensure => 'present',
dest_dir => '/data/test/hcartiaux',
src_user => 'localadmin',
src_host => 'nfs.chaos',
src_dir => '/export/users/homedirs/hcartiaux',
src_port => '2222',
days => '7',
weeks => '4',
months => '12',
years => '2',
email => '[email protected]'
}
You can of course configure the bontmia module in your Puppetfile
to make it available with Librarian puppet or
r10k by adding the following entry:
# Modules from the Puppet Forge
mod "ULHPC/bontmia"
or, if you prefer to work on the git version:
mod "ULHPC/bontmia",
:git => 'https://github.com/ULHPC/puppet-bontmia',
:ref => 'production'
You can submit bug / issues / feature request using the ULHPC/bontmia Puppet Module Tracker.
If you want to contribute to the code, you shall be aware of the way this module is organized.
These elements are detailed on docs/contributing.md
.
You are more than welcome to contribute to its development by sending a pull request.
The best way to test this module in a non-intrusive way is to rely on Vagrant.
The Vagrantfile
at the root of the repository pilot the provisioning various vagrant boxes available on Vagrant cloud you can use to test this module.
See docs/vagrant.md
for more details.
Read the Docs aka RTFD hosts documentation for the open source community and the ULHPC/bontmia puppet module has its documentation (see the docs/
directly) hosted on readthedocs.
See docs/rtfd.md
for more details.
This project and the sources proposed within this repository are released under the terms of the GPL-3.0 licence.