Skip to content
Snippets Groups Projects
Select Git revision
  • ddaf61926329bda82de7ae8936f924a0cdcb37a6
  • master default protected
2 results

backup-client

nd's avatar
ddaf6192
History

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: {}