# GuerillaBackup main configuration file.

# General parameters influence behavior of various backup elements,
# e.g. source units, sinks or the generator itself. All those
# parameters start with "General" to indicate their global relevance.

# This is the default persistency storage base directory for all
# components. All components will create files or subdirectories
# starting with the component class name unless changed within
# configuration. See also "ComponentPersistencyPrefix" in unit
# or subunit configuration files.
GeneralPersistencyBaseDir = '[TmpDir]/state'

# This is the default runtime data directory for all components.
# It is used to create sockets, PID files and similar, that need
# not to be preserved between reboots.
GeneralRuntimeDataDir = '[TmpDir]/run'

# This parameter defines the default pipeline element to use to
# compress backup data of any kind before sending it to downstream
# processing, usually encryption of sink. When enabling compression
# and encryption, you may want to disable the additional compression
# step included in many encryption toosl, e.g. via "--compress-algo
# none" in gpg.
GeneralDefaultCompressionElement = guerillabackup.OSProcessPipelineElement(
    '/bin/bzip2', ['/bin/bzip2', '-c9'])

# This parameter defines the default encryption pipeline element
# to use to encrypt backup data of any kind before sending it
# to donwstream processing. For security reasons, a unit might
# use an alternative encryption element, e.g. with different options
# or keys, but it should NEVER ignore the parameter, even when
# unit-specific encryption is disabled. Hence the unit shall never
# generate uncencrypted data while this parameter is not also
# overriden in the unit-specific configuration. See also function
# "getDefaultDownstreamPipeline" documentation.
# GeneralDefaultEncryptionElement = guerillabackup.GpgEncryptionPipelineElement('some key name')

# Debugging settings:

# This flag enables test mode for all configurable components
# in the data pipe from source to sink. As testing of most features
# will require to run real backups, the testing mode will cause
# an abort in the very last moment before completion. Wellbehaved
# components will roll back most of the actions under this circumstances.
# GeneralDebugTestModeFlag = False


# Generator specific settings: Those settings configure the local
# default backup generator.

# Use this sink for storage of backup data elements. The class
# has to have a constructor only taking one argument, that is
# the generator configuration context as defined by the SinkInterface.
# When empty, the guerillabackup.DefaultFileSystemSink is used.
# GeneratorSinkClass = guerillabackup.DefaultFileSystemSink

# Use this directory for storage of the backup data elements generated
# locally. Usually this is "/var/lib/guerillabackup/data" when
# for temporary local storage (local disk-to-disk, e.g. to have
# older versions to recover e.g. after admin errors or failed
# system updates) or "/var/spool/guerillabackup/outgoing" when
# backup data should be transfered to different location using
# asynchronous fetch operations.
DefaultFileSystemSinkBaseDir = '[TmpDir]/data'


# Unit specific default and specific settings can be found in
# the units directory.


# Transfer service configuration: this part of configuration does
# not take effect automatically, a transfer service has to be
# started loading this configuration file. When security considerations
# prohibit use of same configuration, e.g. due to inaccessibility
# of configuration file because of permission settings, then this
# file should be copied to "config-[agent name]" instead.

# Storage directory used by this transfer service. When not present,
# the DefaultFileSystemSinkBaseDir is used instead.
# TransferServiceStorageBaseDir = '/var/spool/guerillabackup/transfer'

# Class to load to define the transfer receiver policy.
TransferReceiverPolicyClass = guerillabackup.Transfer.ReceiverStoreDataTransferPolicy
# Arguments for creating the named transfer policy to pass after
# the configuration context.
# TransferReceiverPolicyInitArgs = None

# Class to load to define the transfer sender policy.
# TransferSenderPolicyClass = None
# Arguments for creating the named transfer policy to pass after
# the configuration context.
# TransferSenderPolicyInitArgs = None
