fix: resolve k3s artifact image refs

This commit is contained in:
Codex
2026-05-20 04:34:13 +00:00
parent ce6d3c6deb
commit f3b7d1a183
+11 -8
View File
@@ -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\"",