aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2015-04-17 15:52:12 -0400
committerJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2015-04-17 17:12:16 -0400
commita961041c9f80579bf9787af205fd29f6b04c73df (patch)
tree42ff9bd8e3e64d268adf62c3f8864c1f0aea0546
parenta91b1a787d6532e26551a623d7642a1c7deec341 (diff)
downloadpuppet-backupninja-a961041c9f80579bf9787af205fd29f6b04c73df.tar.gz
puppet-backupninja-a961041c9f80579bf9787af205fd29f6b04c73df.tar.bz2
Update README, see upgrade notice
-rw-r--r--README131
1 files changed, 56 insertions, 75 deletions
diff --git a/README b/README
index a839193..6e0c258 100644
--- a/README
+++ b/README
@@ -4,28 +4,33 @@ Backupninja Module
This module helps you configure all of your backups with puppet, using
backupninja!
-! Upgrade notice !
+!! UPGRADE NOTICE !!
If you were previously using this module, some pieces have changed,
and you need to carefully change your use of them, or you will find
-your backups to be duplicated on your backup server. The important
-part that changed has to do with the rdiff-backup handler, if you
-weren't using that, you don't need to worry.
-
-If you were, you will need to make sure you change all of your
-"$directory" parameters to be "$home" instead, and on your
-backupserver you will need to move all of your backups into
-"$home"/rdiff-backup. Previously, they were put in "$directory", which
-doubled as the home for the user that was created. This caused
-problems with rdiff-backup because of dot files and other things which
-were not part of any rdiff-backup.
-
-Getting started
+your backups could stop working.
+
+The backupninja::client class has been renamed to backupninja, and is
+now *required* in all node manifests. Make sure the backupninja class
+is now declared in all your node manifests! This new class now defines
+defaults which were previously provided by backupninja::client::defaults,
+and can now be overridden thanks to the brand new technology of class
+parameters. This class also manages the backupninja configuration file,
+replacing the backupninja::config ressource.
+
+The backupninja::server class has some minor changes, including some
+changes related to the nagios passive checks. See the code for details.
+
+Handlers are *mostly* unchanged.
+
+See below for dependencies which have been introduced in this version.
+
+Dependencies
---------------
-First you will need to import the module:
+This module requires Puppet versions 2.7 and up.
- import "backupninja"
+An up-to-date version of the puppet-stdlib module is also required.
Configure your backup server
----------------------------
@@ -35,41 +40,41 @@ to your node definition for that server:
include backupninja::server
+The default configuration will store backup data in the "/backup"
+directory. To change this you may declare the class with a "backupdir"
+parameter:
+
+ class { 'backupninja::server':
+ backupdir => '/mnt/backupdata'
+ }
+
By configuring a backupninja::server, this module will automatically
create sandboxed users on the server for each client for their
backups.
-You may also want to set some variables on your backup server, such as:
-
- $backupdir = "/backups"
-
-
Configure your backup clients
-----------------------------
-The backupninja package and the necessary backup software will be
-installed automatically when you include any of the different handlers
-(as long as you are not handling it elsewhere in your manifests), for
-example:
+First, you need to include the backupninja class or declare it with
+custom parameters:
-include backupninja::client::rdiff_backup
+ class { 'backupninja':
+ loglvl => 3,
+ usecolors => false,
+ reportsuccess => false,
+ reportwarning => true,
+ ensure_backupninja_version => '1.0.1-1',
+ ensure_rdiffbackup_version => '1.2.8-7'
+ }
In this case, the module will make sure that the backupninja package
-and the required rdiff-backup package are 'installed'/'present' (using
-puppet's ensure parameter language). If you need to specify a specific
-version of either backupninja itself, or the specific programs that
-the handler class installs, you can specify the version you need
-installed by providing a variable, for example:
-
-$backupninja_ensure_version = "0.9.7~bpo50+1"
-$rdiff_backup_ensure_version = "1.2.5-1~bpo40+1"
-$rsync_ensure_version = "3.0.6-1~bpo50+1"
-$duplicity_ensure_version = "0.6.04-1~bpo50+1"
-$debconf_utils_ensure_version = "1.5.28"
-$hwinfo_ensure_version = "16.0-2"
-
-If you do not specify these variables the default 'installed/present'
-version will be installed when you include this class.
+is installed (using puppet's ensure parameter language) and create the
+/etc/backupninja.conf configuration file.
+
+If you need to specify a specific version of either backupninja itself,
+or the specific programs that the handler class installs, you can
+specify the version you need installed by providing a class parameter,
+as shown in the example.
Configuring handlers
--------------------
@@ -87,7 +92,7 @@ Included below are some configuration examples for different handlers.
* An example mysql handler configuration:
-backupninja::mysql { all_databases:
+backupninja::mysql { 'all_databases':
user => root,
backupdir => '/var/backups',
compress => true,
@@ -96,7 +101,7 @@ backupninja::mysql { all_databases:
* An example rdiff-backup handler configuration:
-backupninja::rdiff { backup_all:
+backupninja::rdiff { 'backup_all':
directory => '/media/backupdisk',
include => ['/var/backups', '/home', '/var/lib/dpkg/status'],
exclude => '/home/*/.gnupg'
@@ -104,32 +109,13 @@ backupninja::rdiff { backup_all:
* A remote rdiff-backup handler:
- backupninja::rdiff { "main":
- host => "backup.example.com",
- type => "remote",
- directory => "/backup/$fqdn",
- user => "backup-$hostname",
- }
-
-
-Configuring backupninja itself
-------------------------------
-
-You may wish to configure backupninja itself. You can do that by doing
-the following, and the /etc/backupninja.conf will be managed by
-puppet, all the backupninja configuration options are available, you
-can find them inside this module as well.
-
-For example:
-
-backupninja::config { conf:
- loglvl => 3,
- usecolors => false,
- reportsuccess => false,
- reportwarning => true;
+backupninja::rdiff { 'main':
+ host => 'backup.example.com',
+ type => 'remote',
+ directory => "/backup/${::fqdn}",
+ user => "backup-${::hostname}",
}
-
Automatic creation of ssh-keys for duplicity
--------------------------------------------
@@ -160,9 +146,9 @@ i.e.:
Nagios alerts about backup freshness
------------------------------------
-If you set the $nagios_server variable to be the name of your nagios
-server, then a passive nagios service gets setup so that the backup
-server pushes checks, via a cronjob that calls
+If you set the $backupninja::server::nagios_server variable to be the
+name of your nagios server, then a passive nagios service gets setup so
+that the backup server pushes checks, via a cronjob that calls
/usr/local/bin/checkbackups.pl, to the nagios server to alert about
relative backup freshness.
@@ -171,9 +157,4 @@ To use this feature a few pre-requisites are necessary:
. configure nsca on your backup server (not done via puppet yet)
. configure nsca on your nagios server (not done via puppet yet)
. server backup directories are named after their $fqdn
- . using nagios2 module, nagios/nagios3 modules/nativetypes not supported yet
- . using a nagios puppet module that can create passive service checks
. backups must be under $home/dup, $home/rdiff-backup depending on method
- . $nagios_server must be set before the class is included
-
-