No description
Find a file
2021-08-18 12:49:33 +01:00
defaults add option to disable repository creation 2021-07-01 18:54:13 +01:00
filter_plugins Initial commit 2021-03-12 03:35:14 +01:00
handlers add export service 2021-06-06 01:37:01 +02:00
tasks disable cache for local repos 2021-08-18 12:49:33 +01:00
templates disable cache for local repos 2021-08-18 12:49:33 +01:00
.gitignore Initial commit 2021-03-12 03:35:14 +01:00
README.md add better remote repo support 2021-06-24 20:52:22 +02:00

Backup client

Parameters and defaults

All configuration is to be placed inside the backups dict.

# Settings for all backup related timers.
jobs:
	retention:
		# Can be used to enable/disable the job
		enabled: true
		# Time this job runs on, random by default
		OnCalendar: "hh:mm"
	run:
		# Can be used to enable/disable the job
		enabled: true
		# Time this job runs on, random by default
		OnCalendar: "hh:mm"
	check:
		# Can be used to enable/disable the job
		enabled: true
		# Time this job runs on, random by default
		OnCalendar: "hh:mm"
	export:
		# Can be used to enable/disable the job
		enabled: false
		# Time this job runs on, random by default
		OnCalendar: "hh:mm"

# backend specific settings
backends:
	# restic specific settings
	restic:
		# url of the restic repository
		url: '/var/backup-client/restic'
		# repository type can be 'local' or 'sftp'
		repo_type: 'local'
		# additional repo keys to add. Format is "user: key"
		additional_keys: {}

# Mode in which the backup is taken. One of the following:
#
# vm-via-hypervisor: backup a vm via restic on the hypervisor. Saves config on the host
# hypervisor-restic: backup its vms via restic
# standalone-restic: use restic on the target itself to save a backup to a backup location
mode: vm-via-hypervisor

# Allows backups to be skipped
enabled: True

# How many copies per time intervall should be kept?
# Note that this is ignored in vm-via-hypervisor mode because the vm host settings are used for all vms
retention:
	hours: 12
	days: 14
	weeks: 16
	months: 12
	years: 3

# Settings for the export task
export:
	# list of all remote destinations the backup should be exported to
	destinations: []
	# every element of this list describes an export target
#	- user: root
#	  host: localhost
#	  remotepath: /
#	  type: rsync
#	  port: 22
#	  key: "/etc/backup-client/id_ed25519"

# Settings to create a remote sftp user. Use this for restic sftp repos
remote_sftp_user:
	# enable/disable the user creation feature
	enabled: False
	# user name
	name: backup
	# user group
	group: nogroup
	# user auxillary groups
	groups: []
	# host to create the user on
	host: ~
	# Path used to setup an sftp chroot using ssh.
	# Only the top most folder is created
	chroot_basepath: "/var/chroots/{{ inventory_hostname }}"
	# Path to bindmount in the chroot jail
	storage_path: "/srv/backups/{{ inventory_hostname }}"
	# Wether to create the topmost storage folder or not
	create_storage_folder: True

# keys are strings with glob patterns of files to be excluded. Value musst be true to enable the exclude, false to disable it
# Only supportet in restic based backups
exclude_files: {}

# Keys are strings with glob patterns of files to be included. Value musst be true to enable the include, false to disable it
# Only supportet in restic based backups
# Ignored in vm-via-hypervisor mode
include_files: {}