Backups
For backups, restic is used.
The SFTP backend is used, for simplicity.
Both sender and receiver profile classes exist (profiles::backup::sender and profiles::backup::receiver).
In addition to that there are private Hiera data files on the puppetserver in /etc/puppetlabs/puppet/data which are not tracked in git.
This contains the backup passwords to encrypt the data.
Adding a receiver target
The profiles::backup::receiver class has a parameter targets which is an array of target names.
This gets converted into instances of profiles::backup::receiver::target.
Add the short hostname to this array in data/common.yaml
Adding a sender
First, add a password in /etc/puppetlabs/puppet/data/nodes/HOSTNAME.yaml on the puppetserver:
---
restic::password: "ThePassword"
A password can be generated using pwgen -y -s 25.
TODO: securely store this TODO: shared storage?