From 7443e223453032d0a907311f3b5865889b713299 Mon Sep 17 00:00:00 2001 From: Myasnikov Daniil Date: Mon, 27 Apr 2026 17:18:45 +0500 Subject: [PATCH 1/2] build(linstor): include linstor-gui in root image build target The linstor-gui package was added in #2382 with its own per-package Makefile and Dockerfile, but the root Makefile's `build:` target was not updated to invoke it. As a result `ghcr.io/cozystack/cozystack/ linstor-gui` has never been published (registry returns NAME_UNKNOWN) and the chart's `image.tag` was never digest-pinned. Any cluster deploying the chart hits ImagePullBackOff. Wire the package into the root build alongside the other system images. The next CI build will publish the image and the per-package Makefile will rewrite values.yaml `image.repository`/`image.tag` to a digest-pinned reference automatically. Assisted-By: Claude Signed-off-by: Myasnikov Daniil --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 0e94c5e6..5041ac64 100644 --- a/Makefile +++ b/Makefile @@ -22,6 +22,7 @@ build: build-deps make -C packages/system/lineage-controller-webhook image make -C packages/system/cilium image make -C packages/system/linstor image + make -C packages/system/linstor-gui image make -C packages/system/kubeovn-webhook image make -C packages/system/kubeovn-plunger image make -C packages/system/dashboard image From a9a66bf066360c340203508fd6072977ff4eb8ea Mon Sep 17 00:00:00 2001 From: Myasnikov Daniil Date: Mon, 27 Apr 2026 17:31:07 +0500 Subject: [PATCH 2/2] build(linstor): use shared BUILDX_ARGS for linstor-gui image build The per-package Makefile added in #2382 hardcoded buildx flags (--provenance, --builder, --platform=linux/amd64,linux/arm64, --push, --load, --label) instead of using the shared $(BUILDX_ARGS) macro from hack/common-envs.mk. This broke CI: the runner's default docker driver does not support multi-platform builds, and the hardcoded multi-arch platform list crashed `make build` with "Multi-platform build is not supported for the docker driver." Replace the hardcoded flags with $(BUILDX_ARGS) to match every other package (e.g. linstor, dashboard, cilium). $(BUILDX_ARGS) injects --push, --load, --label, --provenance=false, and only sets --builder or --platform when the operator explicitly exports BUILDER/PLATFORM. Assisted-By: Claude Signed-off-by: Myasnikov Daniil --- packages/system/linstor-gui/Makefile | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/packages/system/linstor-gui/Makefile b/packages/system/linstor-gui/Makefile index e202f4cc..b408491d 100644 --- a/packages/system/linstor-gui/Makefile +++ b/packages/system/linstor-gui/Makefile @@ -12,18 +12,13 @@ image: image-linstor-gui image-linstor-gui: docker buildx build images/linstor-gui \ - --provenance false \ - --builder=$(BUILDER) \ - --platform=linux/amd64,linux/arm64 \ --build-arg LINSTOR_GUI_VERSION=$(LINSTOR_GUI_VERSION) \ --tag $(REGISTRY)/linstor-gui:$(call settag,$(LINSTOR_GUI_VERSION)) \ --tag $(REGISTRY)/linstor-gui:$(call settag,$(LINSTOR_GUI_VERSION)-$(TAG)) \ --cache-from type=registry,ref=$(REGISTRY)/linstor-gui:latest \ --cache-to type=inline \ --metadata-file images/linstor-gui.json \ - --push=$(PUSH) \ - --label "org.opencontainers.image.source=https://github.com/cozystack/cozystack" \ - --load=$(LOAD) + $(BUILDX_ARGS) REPOSITORY="$(REGISTRY)/linstor-gui" \ yq -i '.image.repository = strenv(REPOSITORY)' values.yaml TAG="$(call settag,$(LINSTOR_GUI_VERSION))@$$(yq e '."containerimage.digest"' images/linstor-gui.json -o json -r)" \