Forge Home

bontmia

Configure and manage bontmia

13,357 downloads

88 latest version

4.2 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

  • 0.4.0 (latest)
  • 0.3.11
  • 0.3.10
  • 0.3.9
  • 0.3.8
  • 0.3.7
  • 0.3.6
  • 0.3.5
  • 0.3.4
  • 0.3.3
  • 0.3.2
  • 0.3.1
  • 0.3.0
  • 0.2.2
released May 8th 2015
This version is compatible with:
  • ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'ULHPC-bontmia', '0.3.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add ULHPC-bontmia
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install ULHPC-bontmia --version 0.3.1

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

ULHPC/bontmia — version 0.3.1 May 8th 2015

-- mode: markdown; mode: auto-fill; fill-column: 80 --

Bontmia Puppet Module

Puppet Forge License Supported Platforms

Configure and manage bontmia

  Copyright (c) 2015 H. Cartiaux <hpc-sysadmins@uni.lu>
  

Synopsis

This module configures a bontmia installation and the backup tasks.

Note that we use a forked version of bontmia.

It implements the following elements:

  • classes:
    • bontmia
  • definitions:
    • bontmia::target:

The various operations of this repository are piloted from a Rakefile which assumes that you have RVM installed on your system.

Dependencies

See metadata.json. In particular, this module depends on

General Parameters

See:

Overview and Usage

class bontmia

 class { 'bontmia':
     ensure => 'present',
     prefix => '/data/bontmia',
     sudo   => true
 }

definition bontmia::target

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. If src_host is not set, it assumes that we want to backup the local directory src_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    => 'hpc-sysadmins@uni.lu'
 }

Librarian-Puppet / R10K Setup

You can of course configure ULHPC-sudo 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 

Issues / Feature request

You can submit bug / issues / feature request using the ULHPC/bontmia Puppet Module Tracker.

Developments / Contributing to the code

If you want to contribute to the code, you shall be aware of the way this module is organized. These elements are detailed on doc/contributing.md

You are more than welcome to contribute to its development by sending a pull request.

Tests on Vagrant box

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 of the vagrant box and relies on boxes generated through my vagrant-vms repository.
Once cloned, run

  $> rake packer:Debian:init
  

To create a template. Select the version matching the once mentioned on the Vagrantfile (7.6.0-amd64 for instance) Then run

  $> rake packer:Debian:build
  

This shall generate the vagrant box debian-7.6.0-amd64.box that you can then add to your box lists:

  $> vagrant box add debian-7.6.0-amd64  packer/debian-7.6.0-amd64/debian-7.6.0-amd64.box

Now you can run vagrant up from this repository to boot the VM, provision it to be ready to test this module (see the .vagrant_init.rb script). For instance, you can test the manifests of the tests/ directory within the VM:

  $> vagrant ssh 
  [...]
  (vagrant)$> sudo puppet apply -t /vagrant/tests/init.pp
  

Run vagrant halt (or vagrant destroy) to stop (or kill) the VM once you've finished to play with it.

Resources

Git

You should become familiar (if not yet) with Git. Consider these resources: