--- argument_specs: main: options: ################################################################################ # Required ################################################################################ borg_server_host: type: str required: true borg_server_host_ssh_key: type: str required: true ################################################################################ # State Configuration ################################################################################ state: type: str required: false default: present choices: - present - absent borg_dangerously_delete_backups: type: bool required: false default: false ################################################################################ # Optional ################################################################################ borg_server_user: type: str required: false default: borg borg_server_user_create: type: bool required: false default: true borg_client_user: type: str required: false default: root borg_client_user_home: type: str required: false borg_ssh_key_type: type: str required: false default: rsa borg_ssh_key_per_repo: type: bool required: false default: false borg_server_host_url: type: str required: false default: "{{ borg_server_host }}" borg_server_user_home: type: str required: false default: /opt/borg borg_repo_name: type: str required: false default: "{{ inventory_hostname }}" borg_backup_name_format: type: str required: false default: "{hostname}-{now:%Y-%m-%dT%H:%M:%S}" borg_mode_append_only: type: bool required: false default: false borg_storage_quota: type: str required: false default: "" borg_compression: type: str required: false default: zstd borg_create_additional_arguments: type: str required: false default: "" borg_prune_enabled: type: bool required: false default: false borg_prune_trigger: type: str required: false default: after_backup choices: - after_backup - timer borg_prune_additional_arguments: type: str required: false default: "" borg_prune_glob_archives: type: str required: false default: "{hostname}-*" borg_prune_force: type: bool required: false default: false borg_prune_stats: type: bool required: false default: true borg_prune_list: type: bool required: false default: false borg_prune_save_space: type: bool required: false default: false borg_prune_checkpoint_interval: type: int required: false default: 1800 borg_prune_keep_within: type: str required: false default: "" borg_prune_keep_last: type: str required: false default: "" borg_prune_keep_minutely: type: str required: false default: "" borg_prune_keep_hourly: type: str required: false default: "" borg_prune_keep_daily: type: str required: false default: "" borg_prune_keep_weekly: type: str required: false default: "" borg_prune_keep_monthly: type: str required: false default: "" borg_prune_keep_13weekly: type: str required: false default: "" borg_prune_keep_3monthly: type: str required: false default: "" borg_prune_keep_yearly: type: str required: false default: "" borg_prune_compact_enabled: type: bool required: false default: true borg_compact_additional_arguments: type: str required: false default: "" borg_compact_cleanup_commits: type: bool required: false default: false borg_compact_threshold: type: int required: false default: 10 borg_included_dirs: type: list elements: str required: false default: [] borg_excluded_dirs: type: list elements: str required: false default: [] borg_passphrase: type: str required: false borg_decryption_keys_yaml_path: type: str required: false default: "{{ inventory_dir }}/decryption_keys.yml" borg_backup_script_location: type: str required: false default: /usr/local/bin/run_borg_backup borg_prune_script_location: type: str required: false default: /usr/local/bin/run_borg_prune borg_backup_timer_name: type: str required: false default: borg_backup borg_backup_service_name: type: str required: false default: borg_backup borg_prune_timer_name: type: str required: false default: borg_prune borg_prune_service_name: type: str required: false default: borg_prune borg_backup_argument: type: str required: false default: "{{ borg_server_host_url }}" borg_backup_service_successful_exit_status: type: list elements: str required: false default: [] borg_prune_service_successful_exit_status: type: list elements: str required: false default: [] borg_systemd_oncalendar: type: str required: false default: "*-*-* 02:00:00" borg_systemd_accuracysec: type: str required: false default: 60min borg_prune_systemd_oncalendar: type: str required: false default: "*-*-* 03:30:00" borg_prune_systemd_accuracysec: type: str required: false default: 60min