kamal-backup 0.3.0.beta19 → 0.3.0.beta20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f6e2e4d7d599e994a6dd0383c3bb1eb7b7f240a67af17a78eedbefe7b23540fb
4
- data.tar.gz: 663af541d2ceb9b229ff9c213fbe5468cb441de5b3225dfaf308e7690125a2de
3
+ metadata.gz: 85d6ee6e04e1765b7dcb8666deb42f63b151437a57bccfbc79c18c94b53e0af7
4
+ data.tar.gz: 6d456b02c442c3316eb48f990d2b486410ed1541fd363abd4bed62e3d6018e68
5
5
  SHA512:
6
- metadata.gz: 623e8fc575ff63a2f35f29bec68a59ca8e6f0ae6990ba6f22d06753387577888e9160392efb7e39e4fe0fc7a6bc38e96be9e45cf6c8b6c252d0f701d1e3b9eaa
7
- data.tar.gz: 2fbf13c515b41051cfb203e356f816717c4f72504ce38622df9adb36ced5c5a7799a953186323e6b7a340f1cc1c5730fe54b20776fac287793bd108b37eb969b
6
+ metadata.gz: 9b7bd98124f478da8b1ee5bea4382880f924ab44dd9cb2325dd86d862dfb8fdcaf8f851fbaaf4003ba205243e81bcbdb7bbec928571655239964495e8753731b
7
+ data.tar.gz: a70c403b8b36a474339bd30ee84b8ae22fd11ff60b42aca6459abafc4fb43d3cb431ba1ab9f477f66326c0133d760043c7d35b28fca831451dfa705197132de3
@@ -130,6 +130,12 @@ module KamalBackup
130
130
  restic.check.stdout
131
131
  end
132
132
 
133
+ def prune
134
+ config.validate_backup(check_files: false)
135
+ require_restic!
136
+ restic.prune
137
+ end
138
+
133
139
  def evidence
134
140
  config.validate_restic
135
141
  require_restic!
@@ -158,6 +158,17 @@ module KamalBackup
158
158
  end
159
159
  end
160
160
 
161
+ def print_prune_result(results)
162
+ output = Array(results).map(&:stdout).join
163
+
164
+ if output.empty?
165
+ puts("Prune completed")
166
+ else
167
+ print(output)
168
+ puts unless output.end_with?("\n")
169
+ end
170
+ end
171
+
161
172
  def validate_deploy_config
162
173
  config = Config.new(
163
174
  env: bridge.accessory_environment(accessory_name: accessory_name),
@@ -473,6 +484,15 @@ module KamalBackup
473
484
  end
474
485
  end
475
486
 
487
+ desc "prune", "Apply the configured restic retention policy and prune unneeded data"
488
+ def prune
489
+ if remote_command_mode?
490
+ exec_remote(["kamal-backup", "prune"])
491
+ else
492
+ print_prune_result(direct_app.prune)
493
+ end
494
+ end
495
+
476
496
  desc "evidence", "Print redacted backup, check, and restore-drill evidence as JSON"
477
497
  def evidence
478
498
  if remote_command_mode?
@@ -85,7 +85,11 @@ module KamalBackup
85
85
  end
86
86
 
87
87
  def forget_after_success
88
- retention_tag_sets.each do |tags|
88
+ prune
89
+ end
90
+
91
+ def prune
92
+ retention_tag_sets.map do |tags|
89
93
  args = ["forget", "--prune", "--group-by", "host"] + config.retention_args + filter_tag_args(tags)
90
94
  log("running restic forget/prune with retention policy for #{retention_scope(tags)}")
91
95
  run(args)
@@ -1,3 +1,3 @@
1
1
  module KamalBackup
2
- VERSION = "0.3.0.beta19"
2
+ VERSION = "0.3.0.beta20"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kamal-backup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0.beta19
4
+ version: 0.3.0.beta20
5
5
  platform: ruby
6
6
  authors:
7
7
  - crmne