lib/kamal/commands/prune.rb in kamal-0.16.1 vs lib/kamal/commands/prune.rb in kamal-1.0.0
- old
+ new
@@ -1,27 +1,31 @@
require "active_support/duration"
require "active_support/core_ext/numeric/time"
class Kamal::Commands::Prune < Kamal::Commands::Base
def dangling_images
- docker :image, :prune, "--force", "--filter", "label=service=#{config.service}", "--filter", "dangling=true"
+ docker :image, :prune, "--force", "--filter", "label=service=#{config.service}"
end
def tagged_images
pipe \
docker(:image, :ls, *service_filter, "--format", "'{{.ID}} {{.Repository}}:{{.Tag}}'"),
"grep -v -w \"#{active_image_list}\"",
"while read image tag; do docker rmi $tag; done"
end
- def containers(keep_last: 5)
+ def app_containers(keep_last: 5)
pipe \
docker(:ps, "-q", "-a", *service_filter, *stopped_containers_filters),
"tail -n +#{keep_last + 1}",
"while read container_id; do docker rm $container_id; done"
end
+ def healthcheck_containers
+ docker :container, :prune, "--force", *healthcheck_service_filter
+ end
+
private
def stopped_containers_filters
[ "created", "exited", "dead" ].flat_map { |status| ["--filter", "status=#{status}"] }
end
@@ -33,6 +37,10 @@
end
def service_filter
[ "--filter", "label=service=#{config.service}" ]
end
-end
+
+ def healthcheck_service_filter
+ [ "--filter", "label=service=#{config.healthcheck_service}" ]
+ end
+ end