From 9c7586c7c3a235672ec6490d1a8bc44a222ce5d1 Mon Sep 17 00:00:00 2001 From: Colin Wilk Date: Tue, 1 Sep 2026 21:01:05 +0200 Subject: Add borg prune and compact jobs Run repository retention either after a successful backup or from a dedicated systemd timer. Clean up script generation with templates and expand molecule test coverage. BREAKING CHANGE: Aggregate backup scripts are no longer managed, and state=preset now requires at least one readable included directory. --- meta/argument_specs.yml | 149 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) (limited to 'meta') diff --git a/meta/argument_specs.yml b/meta/argument_specs.yml index 52e85cb..984b1ca 100644 --- a/meta/argument_specs.yml +++ b/meta/argument_specs.yml @@ -102,6 +102,124 @@ argument_specs: 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 @@ -126,6 +244,11 @@ argument_specs: 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 @@ -136,6 +259,16 @@ argument_specs: 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 @@ -147,6 +280,12 @@ argument_specs: required: false default: [] + borg_prune_service_successful_exit_status: + type: list + elements: str + required: false + default: [] + borg_systemd_oncalendar: type: str required: false @@ -156,3 +295,13 @@ argument_specs: 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 -- cgit v1.2.3