diff --git a/scripts/src/artifact-registry.ts b/scripts/src/artifact-registry.ts index 7c193be9..a5f5744b 100644 --- a/scripts/src/artifact-registry.ts +++ b/scripts/src/artifact-registry.ts @@ -2000,8 +2000,16 @@ function d601K3sArtifactDeployScript(options: ArtifactRegistryOptions, spec: Art "manifest=$(mktemp /tmp/unidesk-artifact-k3s-manifest.XXXXXX.yaml)", "docker save \"$commit_image\" \"$stable_image\" -o \"$archive\"", "root_exec ctr --address /run/k3s/containerd/containerd.sock -n k8s.io images import \"$archive\" >/dev/null", - "root_exec ctr --address /run/k3s/containerd/containerd.sock -n k8s.io images ls | grep -F \"$stable_image\" >/dev/null", - "root_exec ctr --address /run/k3s/containerd/containerd.sock -n k8s.io images ls | grep -F \"$commit_image\" >/dev/null", + "containerd_image_ref() {", + " ref=\"$1\"", + " if root_exec ctr --address /run/k3s/containerd/containerd.sock -n k8s.io images inspect \"$ref\" >/dev/null 2>&1; then printf '%s\\n' \"$ref\"; return; fi", + " suffix=\"${ref#*/}\"", + " actual_ref=$(root_exec ctr --address /run/k3s/containerd/containerd.sock -n k8s.io images ls -q | grep -F \"/$suffix\" | head -1 || true)", + " test -n \"$actual_ref\"", + " printf '%s\\n' \"$actual_ref\"", + "}", + "stable_containerd_ref=$(containerd_image_ref \"$stable_image\")", + "commit_containerd_ref=$(containerd_image_ref \"$commit_image\")", "printf '%s' \"$manifest_b64\" | base64 -d > \"$manifest\"", "deployment_specs=$(mktemp /tmp/unidesk-artifact-k3s-deployments.XXXXXX.json)", "printf '%s' \"$deployment_specs_b64\" | base64 -d > \"$deployment_specs\"", @@ -2042,12 +2050,7 @@ function d601K3sArtifactDeployScript(options: ArtifactRegistryOptions, spec: Art "containerd_config_label() {", " ref=\"$1\"", " key=\"$2\"", - " actual_ref=\"$ref\"", - " if ! root_exec ctr --address /run/k3s/containerd/containerd.sock -n k8s.io images inspect \"$actual_ref\" >/dev/null 2>&1; then", - " suffix=\"${ref#*/}\"", - " actual_ref=$(root_exec ctr --address /run/k3s/containerd/containerd.sock -n k8s.io images ls -q | grep -F \"/$suffix\" | head -1 || true)", - " fi", - " test -n \"$actual_ref\"", + " actual_ref=$(containerd_image_ref \"$ref\")", " target_digest=$(root_exec ctr --address /run/k3s/containerd/containerd.sock -n k8s.io images inspect \"$actual_ref\" | python3 -c 'import re,sys; m=re.search(r\"@(sha256:[0-9a-f]+)\", sys.stdin.read()); print(m.group(1) if m else \"\")')", " test -n \"$target_digest\"", " digest=\"$target_digest\"",