Classes
Public Classes
borg
: Main class, includes all other classes.
Private Classes
borg::config
:borg::install
: This class handles the installation. Avoid modifying private classes.borg::service
:
Defined types
borg::ssh_keygen
: Define: ssh_keygen this is based on https://github.com/maestrodev/puppet-ssh_keygen/blob/master/manifests/init.pp
Main class, includes all other classes.
The following parameters are available in the borg
class.
Data type: Variant[String[1],Array[String[1]]]
Name of the borg package
Data type: Boolean
Enable a postrun command to create prometheus compatible metrics about all backups
Data type: Boolean
Enable to upstream reporter (see create_prometheus_metrics param) or our vendored version
Data type: Boolean
Enable the restore helper from Florian 'Bluewind' Pritz (https://metacpan.org/release/App-BorgRestore) as another postrun command (see also the install_restore_script parameter)
Data type: Integer[1]
For how many years should we keep our backups?
Data type: Integer[1]
For how many months should we keep our backups?
Data type: Integer[1]
For how many weeks should we keep our backups?
Data type: Integer[1]
For how many days should we keep our backups?
Data type: Integer[1]
For how many days should we keep all backups we have?
Data type: Array[Stdlib::Absolutepath]
list of default mountpoints that should be excluded from backups. Every mountpoint needs to be explicitly excluded or included. See also the additional_excludes parameter.
Data type: Array[Stdlib::Absolutepath]
list of default mountpoints that should be included from backups. Every mountpoint needs to be explicitly excluded or included. See also the additional_includes parameter.
Data type: String[1]
FQDN for the remote server. Will be written into the local ssh client configuration file.
Data type: Boolean
Install the restore helper via cpanm.
Data type: Stdlib::Absolutepath
The path to the restore helper.
Data type: String[1]
The path on the remote server where the backups should be written to.
Data type: Array[String[1]]
We currently support excludes/includes for mountpoints. borg supports also a list of shell glob/regex pattern to filter for files.
Data type: Array[String[1]]
Another array of patterns to extend the modules built-in list (exclude_pattern
parameter).
Default value: []
Data type: Array[String[1]]
A list of dependencies for the restore helper.
Default value: []
Data type: String[1]
Ensure state for the borg package.
Default value: present
Data type: Array[Stdlib::Absolutepath]
Another array of mountpoints to extend the modules built-in list (excludes
parameter).
Default value: []
Data type: Array[Stdlib::Absolutepath]
Another array of mountpoints to extend to modules built-in list (includes
parameter).
Default value: []
Data type: String[1]
The ssh username to connect to the remote borg service.
Default value: $facts['hostname']
Define: ssh_keygen this is based on https://github.com/maestrodev/puppet-ssh_keygen/blob/master/manifests/init.pp
The following parameters are available in the borg::ssh_keygen
defined type.
Data type: Any
The user that will own they key
Default value: undef
Data type: Any
the openssh key type
Default value: undef
Data type: Any
The key length
Default value: undef
Data type: Any
The homedir where we will store the key
Default value: undef
Data type: Any
The filename for the new key
Default value: undef
Data type: Any
Comments that should be added to the key
Default value: undef
Data type: Any
Additional ssh-keygen paramters and options
Default value: undef