204 lines
8.0 KiB
YAML
204 lines
8.0 KiB
YAML
argument_specs:
|
|
main:
|
|
# https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html#role-argument-validation
|
|
# https://docs.ansible.com/ansible/latest/dev_guide/developing_program_flow_modules.html#argument-spec
|
|
short_description: Role to install borgbackup and borgmatic.
|
|
description: Role to install borgbackup and borgmatic
|
|
author:
|
|
- 2018-2020 Manuel Riel and contributors.
|
|
- Frank Dornheim
|
|
options:
|
|
borg_dep_packages:
|
|
type: str
|
|
required: false
|
|
description: Dependancy Packages to install borg(backup) and borgmatic.
|
|
borg_distro_packages:
|
|
type: str
|
|
required: false
|
|
description: |
|
|
Contains the names of distributions packages for borg(backup) and borgmatic,
|
|
only used if `borg_install_method` is set to package
|
|
borg_pip_packages:
|
|
type: str
|
|
required: false
|
|
description: Dependancy Packages (pip) to install borg(backup) and borgmatic.
|
|
borg_venv_path:
|
|
type: str
|
|
required: false
|
|
description: Path to store the venv for borg(backup) and borgmatic.
|
|
borg_install_method:
|
|
type: str
|
|
required: false
|
|
default: pip
|
|
choices: [pip, package, docker]
|
|
description: |
|
|
By default pip is used to install borgmatic.
|
|
To install via your distributions package manager set this to package and (if needed)
|
|
overwrite the borg_distro_packages variable to contain your distributions package names
|
|
required to install borgmatic.
|
|
Note that many distributions ship outdated versions of borgbackup and borgmatic; use at your own risk.
|
|
To install via a Docker container, set this to "docker". Docker must be installed on target host
|
|
borgmatic_config_name:
|
|
type: str
|
|
required: false
|
|
default: config.yaml
|
|
description: Name to use for the borgmatic config file.
|
|
borg_user:
|
|
type: str
|
|
default: root
|
|
description: Name of the User to create Backups (Service Account). When using Docker, must be root.
|
|
borg_group:
|
|
type: str
|
|
default: root
|
|
description: Name of the Group to create Backups (Service Account). When using Docker, must be root.
|
|
borg_source_directories:
|
|
type: List
|
|
default: "/etc/hostname"
|
|
required: false
|
|
description: List of local folders to back up.
|
|
borg_one_file_system:
|
|
type: str
|
|
required: false
|
|
description: Don't cross file-system boundaries.
|
|
borg_repository:
|
|
type: List
|
|
required: true
|
|
description: |
|
|
Full path to repository.
|
|
Your own server or [BorgBase.com](https://www.borgbase.com) repo.
|
|
Not required when using auto creation of repositories.
|
|
Can be a list if you want to backup to multiple repositories.
|
|
borgmatic_store_atime:
|
|
type: bool
|
|
required: false
|
|
description: Store atime into archive.
|
|
borgmatic_store_ctime:
|
|
type: bool
|
|
required: false
|
|
description: Store ctime into archive.
|
|
borg_exclude_patterns:
|
|
type: List
|
|
required: false
|
|
description: Any paths matching these patterns are excluded from backups. Globs and tildes are expanded.
|
|
borg_exclude_from:
|
|
type: List
|
|
required: false
|
|
description: Read exclude patterns from one or more separate named files, one pattern per line.
|
|
borg_remote_path:
|
|
type: str
|
|
required: false
|
|
description: Alternate Borg remote executable. Defaults to "borg"
|
|
borg_encryption_passphrase:
|
|
type: str
|
|
description: |
|
|
The standard output of this command is used to unlock the encryption key.
|
|
Only use on repositories that were initialized with passcommand/repokey encryption.
|
|
Note that if both encryption_passcommand and encryption_passphrase are set,
|
|
then encryption_passphrase takes precedence.
|
|
borg_encryption_passcommand:
|
|
type: str
|
|
required: false
|
|
description: secret-tool lookup borg-repository repo-name
|
|
borg_remote_rate_limit:
|
|
type: int
|
|
required: false
|
|
description: Remote network upload rate limit in kiBytes/second.
|
|
borg_ssh_key_file_path:
|
|
type: str
|
|
required: false
|
|
description: Path to ssh-key
|
|
borg_ssh_private_key:
|
|
type: str
|
|
required: false
|
|
description: Content of the ssh private key, may you want to provide it. Only keys without passphrase is supported. Most useful for Docker deployments. IMPORTANT! Be sure to provide the content of this variable via an Ansible Vault.
|
|
borg_ssh_command:
|
|
type: str
|
|
description: Command to use instead of just ssh. This can be used to specify ssh options.
|
|
borg_lock_wait_time:
|
|
type: int
|
|
description: Maximum seconds to wait for acquiring a repository/cache lock.
|
|
borgmatic_relocated_repo_access_is_ok:
|
|
type: bool
|
|
description: Bypass Borg error about a repository that has been moved.
|
|
borg_retention_policy:
|
|
keep_secondly:
|
|
type: int
|
|
required: false
|
|
description: Number of secondly archives to keep.
|
|
keep_minutely:
|
|
type: int
|
|
required: false
|
|
description: Number of minutely archives to keep.
|
|
keep_hourly:
|
|
type: int
|
|
required: false
|
|
description: Number of hourly archives to keep.
|
|
keep_daily:
|
|
type: int
|
|
required: false
|
|
description: Number of daily archives to keep.
|
|
keep_weekly:
|
|
type: int
|
|
required: false
|
|
description: Number of weekly archives to keep.
|
|
keep_monthly:
|
|
type: int
|
|
required: false
|
|
description: Number of monthly archives to keep.
|
|
keep_yearly:
|
|
type: int
|
|
required: false
|
|
description: Number of yearly archives to keep.
|
|
borgmatic_checks:
|
|
type: List
|
|
required: false
|
|
description: |
|
|
List of one or more consistency checks to run
|
|
"repository", "archives", "data", and/or "extract".
|
|
Defaults to "repository" and "archives".
|
|
Set to "disabled" to disable all consistency checks.
|
|
"repository" checks the consistency of the repository,
|
|
"archives" checks all of the archives, "data" verifies
|
|
the integrity of the data within the archives, and
|
|
"extract" does an extraction dry-run of the most recent archive.
|
|
Note that "data" implies "archives".
|
|
borgmatic_check_last:
|
|
type: int
|
|
required: false
|
|
description: Restrict the number of checked archives to the last n. Applies only to the "archives" check.
|
|
borgmatic_hooks:
|
|
type: dict
|
|
required: false
|
|
description: Shell commands or scripts to execute before and after a backup or if an error has occurred.
|
|
borgmatic_timer_cron_name:
|
|
type: str
|
|
required: false
|
|
description: Name of the cron Job
|
|
borgmatic_timer:
|
|
type: str
|
|
required: false
|
|
description: If the variable is set, a timer is installed. A choice must be made between "cron" and "systemd".
|
|
borg_ssh_key_type:
|
|
type: str
|
|
required: false
|
|
description: The algorithm used to generate the SSH private key
|
|
borg_ssh_key_name:
|
|
type: str
|
|
required: false
|
|
description: Name of the SSH public and private key
|
|
borgmatic_docker_image_name:
|
|
type: str
|
|
required: false
|
|
default: ansible_borgmatic
|
|
description: When using borg_install_method=docker, name docker image to build
|
|
borgmatic_docker_container_name:
|
|
type: str
|
|
required: false
|
|
default: ansible_borgmatic
|
|
description: When using borg_install_method=docker, name of the docker container
|
|
borgmatic_docker_timezone:
|
|
type: str
|
|
required: false
|
|
default: UTC
|
|
description: Timezone to use when using borg_install_method=docker
|