test(e2e): drop cert-manager from prepull list

The prepull DaemonSet starts containers with `command: ["sleep",
"infinity"]`, which assumes the image ships /bin/sleep. cert-manager
images (cainjector, controller, webhook, startupapicheck) are
distroless and have only the cert-manager binary — the container
fails to exec with "sleep: executable file not found".

Verified locally on a kind v1.33.1 cluster: the sidecar-init
pattern (initContainer with restartPolicy: Always) doesn't help
either, because crashing distroless containers never reach a
persistent `started=true` state, so kubelet never progresses past
the first sidecar and the pod stays Initialized=False.

Revert to the original two-chart kubeovn + linstor prepull (both
non-distroless, both have sleep). The PackageSource dependsOn chain
added in 9dae97e is what actually prevents the cert-manager cascade —
prepull was only meant as a speed-up. Cert-manager bootstraps in a
couple extra minutes on cold install, but consumers wait correctly.

Assisted-By: Claude <noreply@anthropic.com>
Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
This commit is contained in:
Myasnikov Daniil committed 2026-05-19 19:11:20 +05:00
1 parent cb17565044
commit 5a4ac9c202
1 file changed
+7 -13
+7 -13
View File
@@ -24,22 +24,16 @@
# skipped. Writing to a file makes `set -e` trip on a render failure
# without using `var=$(helm template ...)` captures, which `set -x`
# would expand into the trace and balloon CI logs.
# cert-manager: every operator that mounts a cert-manager-issued webhook
# Secret blocks on the controller; a cold bootstrap can blow progressDeadline.
# cozytest.sh runs @test bodies under /bin/sh (POSIX), so no bash arrays.
local charts="packages/system/kubeovn packages/system/linstor packages/system/cert-manager"
local rendered=""
local chart f
for chart in $charts; do
f=$(mktemp)
helm template "$chart" > "$f"
rendered="$rendered $f"
done
cat $rendered | yq -N '
local kubeovn_yaml linstor_yaml
kubeovn_yaml=$(mktemp)
linstor_yaml=$(mktemp)
helm template packages/system/kubeovn > "$kubeovn_yaml"
helm template packages/system/linstor > "$linstor_yaml"
cat "$kubeovn_yaml" "$linstor_yaml" | yq -N '
(..|select(has("containers"))|.containers[]|.image),
(..|select(has("initContainers"))|.initContainers[]|.image)
' | hack/e2e-prepull-images.sh
rm -f $rendered
rm -f "$kubeovn_yaml" "$linstor_yaml"
}
@test "Install Cozystack" {