This repository has been archived on 2024-07-12. You can view files and clone it, but cannot push or open issues or pull requests.
vn-vmware/config.pl

98 lines
2.3 KiB
Perl

# Configuration file, be careful to respect the Perl syntax.
# Don't modify this file, copy it to config.local.pl and make your changes there.
# The log file path
log_file => '/var/log/vn-vmware.log',
# The datacenter name
datacenter => 'datacenter1',
# The datastore name where backups must be stored
backup_datastore => 'backup',
# Directory where backups are stored
# If it's mounted via NFS you have to disable caching for the mount
backup_dir => '/mnt/backup',
# The default storage class
storage_class => 'nearline',
# The archive storage class
archive_class => 'archive',
# Directory where backups are be restored
restore_dir => '/mnt/backup',
# Directory where local backup directory is replicated
replicate_dir => '/mnt/backup-sync',
# Number of processes used by pigz to compress backups
pigz_processes => 1,
# Whether to encrypt backups using gpg with passed passphrase file
passphrase_file => '/etc/vn-vmware/gpg.key',
# The default rotation to use if none is specified on job
rotation => 'lastMonth',
# Backup rotation configuration
rotations => {
lastMonth => {
days => 31,
count => 31,
archive_regex => '^\d{4}-\d{2}-01',
# Function used to archive and exclude backups from rotation
# https://perldoc.perl.org/Time/Piece.html
# https://perldoc.perl.org/Time/Seconds.html
archive_fn => sub {
my ($backup_time, $now) = @_;
return $backup_time->year < $now->year - 1;
}
},
lastWeek => {
days => 7,
storage_class => 'archive'
},
lastYear => {
days => 365
}
},
# Backup jobs
backup_jobs => {
fooJob => {
machines => ['foo'],
rotation => 'lastYear'
},
barJob => {
machines => [{
name => 'bar',
disks => 'bar.vmdk'
}]
},
bazJob => {
machines => [{
name => 'baz',
rotation => 'lastWeek'
}]
}
},
# Clone jobs
clone_jobs => {
machine => {
vm => 'test',
dst_name => 'test-clone',
dst_host => '127.0.0.1',
dst_datastore => 'datastore1',
memory => 4084,
num_cpus => 2,
mac => '00:50:56:BF:01:01',
poweron => 1,
# Be very careful with this option! It deletes destination machine if it exists.
overwrite => 1
}
}