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