From 7fbdfd0abbf13232357322e8fe51ef6b36d082a3 Mon Sep 17 00:00:00 2001 From: Victor Colombo Date: Tue, 10 Oct 2023 12:38:23 -0300 Subject: [PATCH] feat: Always keep latest released version of Kurtosis images (#1473) ## Description: Before this PR, images were deleted based on if they were being used by any container and were not dev versions. This caused the latest released version to be deleted if there were no enclaves active. After this PR, the algorithm is: - Keep all dev versions - Keep the latest released version - Keep all images that are used by at least one container ## Is this change user facing? YES ## References (if applicable): https://github.com/kurtosis-tech/kurtosis/issues/1457 --- .../lib/backend_impls/docker/docker_manager/docker_manager.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/container-engine-lib/lib/backend_impls/docker/docker_manager/docker_manager.go b/container-engine-lib/lib/backend_impls/docker/docker_manager/docker_manager.go index 817d37a082..c3e8f01c98 100644 --- a/container-engine-lib/lib/backend_impls/docker/docker_manager/docker_manager.go +++ b/container-engine-lib/lib/backend_impls/docker/docker_manager/docker_manager.go @@ -19,6 +19,7 @@ import ( "github.com/docker/docker/pkg/jsonmessage" "github.com/docker/docker/pkg/stdcopy" "github.com/docker/go-connections/nat" + kurtosis_sdk_version "github.com/kurtosis-tech/kurtosis/api/golang/kurtosis_version" "github.com/kurtosis-tech/kurtosis/container-engine-lib/lib/backend_impls/docker/docker_kurtosis_backend/consts" docker_manager_types "github.com/kurtosis-tech/kurtosis/container-engine-lib/lib/backend_impls/docker/docker_manager/types" "github.com/kurtosis-tech/kurtosis/container-engine-lib/lib/backend_interface/objects/compute_resources" @@ -304,7 +305,7 @@ func (manager *DockerManager) ListUnusedImages(ctx context.Context) ([]types.Ima continue } for _, tag := range image.RepoTags { - if strings.Contains(tag, kurtosisTagPrefix) && containsSemVer(tag) { + if strings.Contains(tag, kurtosisTagPrefix) && containsSemVer(tag) && !strings.Contains(tag, kurtosis_sdk_version.KurtosisVersion) { unusedImages = append(unusedImages, image) } }