From b371aee610315dedf9f9fe6d82edaa4fa2b084a3 Mon Sep 17 00:00:00 2001 From: ChengHao Yang <17496418+tico88612@users.noreply.github.com> Date: Tue, 27 Jan 2026 05:07:05 +0800 Subject: [PATCH] Feat: container image delete force option (#1096) - Fixed #1087 Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com> --- Sources/ContainerCommands/Image/ImageDelete.swift | 5 ++++- docs/command-reference.md | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Sources/ContainerCommands/Image/ImageDelete.swift b/Sources/ContainerCommands/Image/ImageDelete.swift index 5cedae90..17afb23e 100644 --- a/Sources/ContainerCommands/Image/ImageDelete.swift +++ b/Sources/ContainerCommands/Image/ImageDelete.swift @@ -28,6 +28,9 @@ extension Application { @Flag(name: .shortAndLong, help: "Delete all images") var all: Bool = false + @Flag(name: .shortAndLong, help: "Ignore errors for images that are not found") + var force: Bool = false + @Argument var images: [String] = [] } @@ -51,7 +54,7 @@ extension Application { } return try await ClientImage.get(names: options.images) }() - var failures: [String] = notFound + var failures: [String] = options.force ? [] : notFound var didDeleteAnyImage = false for image in found { guard !Utility.isInfraImage(name: image.reference) else { diff --git a/docs/command-reference.md b/docs/command-reference.md index b5c6231d..873b8b43 100644 --- a/docs/command-reference.md +++ b/docs/command-reference.md @@ -538,7 +538,7 @@ Deletes one or more images. If no images are provided, `--all` can be used to de **Usage** ```bash -container image delete [--all] [--debug] [ ...] +container image delete [--all] [--force] [--debug] [ ...] ``` **Arguments** @@ -548,6 +548,7 @@ container image delete [--all] [--debug] [ ...] **Options** * `-a, --all`: Delete all images +* `-f, --force`: Ignore errors for images that are not found ### `container image prune`