pe_backup

pdk
Module to manage minimalistic Puppet Enterprise backups

7,527 downloads

150 latest version

4.7 quality score

Version information

  • 2.0.0 (latest)
  • 1.0.2
  • 1.0.1
  • 1.0.0
released Apr 26th 2024
This version is compatible with:
  • Puppet Enterprise 2025.3.x, 2025.2.x, 2025.1.x, 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
  • Puppet >= 7.0.0 < 9.0.0
  • AlmaLinux
    ,
    CentOS
    ,
    OracleLinux
    ,
    RedHat
    ,
    Rocky
    ,
    Ubuntu
    ,
    SLES

Start using this module

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

Add this module to your Puppetfile:

mod 'fvoges-pe_backup', '2.0.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add fvoges-pe_backup
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install fvoges-pe_backup --version 2.0.0

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

fvoges/pe_backup — version 2.0.0 Apr 26th 2024

Puppet pe_backup Module

Build status

Table of Contents

  1. Overview
  2. Module Description
  3. Setup
  4. Usage
  5. Reference
  6. Limitations
  7. Development

Overview

pe_backup is a wrapper around Puppet's puppet backup command, using a script that also backs up the keys not included in the built-in backups.

This module also configures a cron job to run the backup script every day at a specified time.

It can also encrypt backups using GPG. This is highly recommended for production environments.

Module Description

The module manages two resources, a backup script and a cron job to run the script.

This release doesn't include a restore script. To do a restore, just follow the instructions from the documentation. Make sure that you also restore the keys.

Setup

What pe_backup affects

Using the default settings, pe_backup will install a backup script /usr/local/bin/pe_backup.sh and add a cron job to run that script every day at 3:33am.

Beginning with pe_backup

The module should work without changing any of the default parameters and only requires specifying the destination for the backup using the destination parameter.

NOTE: the module expects the destination directory to exist. It will not try to create it. It's better to manage that from a profile instead of trying to work out all the possible cases inside this module.

Usage

Getting started

The basic use case requires passing the destination directory to the pe_backup class:

class { 'pe_backup':
  destination => '/vol/backups/pe_backups',
}

The first time that that code is applied to a node, it will create the backup script /urs/local/bin/pe_backup.sh and a cron job for the root user to run it every day at 3:33am.

The backups will be stored in the location specified with the destination parameter using the naming pe_backup-YYYY-MM-DD_HH.MM_Z.tar.bz2. Where pe_backup is the default prefix and YYYY-MM-DD_HH.MM_Z is the current time stamp at the time the script was executed.

Reference

See REFERENCE.md for the full reference.

Limitations

  • This release doesn't include a restore script. To do a restore, just follow the instructions from the documentation.
    • Make sure that you also restore the keys
  • No ability to set the backup retention policy. The script will remove backups older than 14 days
  • The script doesn't check to see if another backup is in progress
  • It can only accept a single GPG key

Development

Feel free to send bug reports and pull requests to the project page.