diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 48da96b..1bec2b1 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest env: IMG: tetrate/kubegres:${{ github.ref_name }} - PLATFORMS: linux/amd64 + PLATFORMS: linux/amd64,linux/arm64 steps: - uses: docker/setup-qemu-action@v3 with: diff --git a/Dockerfile b/Dockerfile index eb1bb68..ce852f7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,9 +6,7 @@ FROM gcr.io/distroless/static:nonroot ARG TARGETPLATFORM -USER 65532:65532 -COPY build/bin/${TARGETPLATFORM}/manager / - WORKDIR / +COPY build/bin/${TARGETPLATFORM}/manager /manager ENTRYPOINT ["/manager"] diff --git a/Makefile b/Makefile index 10e25dc..0e295bb 100644 --- a/Makefile +++ b/Makefile @@ -87,7 +87,7 @@ build/%: PLATFORM=$(*) build/%: GOARCH=$(notdir $(PLATFORM)) build/%: GOOS=$(subst /,,$(dir $(PLATFORM))) build/%: ## Build manager binary for a specific platform. - GOOS=${GOOS} GOARCH=${GOARCH} go build -o build/bin/$(PLATFORM)/manager main.go + CGO_ENABLED=0 GOOS=${GOOS} GOARCH=${GOARCH} go build -o build/bin/$(PLATFORM)/manager main.go .PHONY: run run: install ## Run a controller from your host. @@ -98,7 +98,7 @@ DOCKER_BUILDER_NAME?=kubegres docker-buildx: docker buildx inspect $(DOCKER_BUILDER_NAME) || \ docker buildx create --name $(DOCKER_BUILDER_NAME) --driver docker-container --driver-opt network=host \ - --buildkitd-flags '--allow-insecure-entitlement network.host' --platform linux/amd64,linux/arm64 + --buildkitd-flags '--allow-insecure-entitlement network.host' --platform ${PLATFORMS} #docker-build: test ## Build docker image with the manager. .PHONY: docker-build-push @@ -114,9 +114,7 @@ docker-build/%: PLATFORM=$(*) docker-build/%: DOCKER_OS=$(subst /,,$(dir $(PLATFORM))) docker-build/%: DOCKER_ARCH=$(notdir $(PLATFORM)) docker-build/%: docker-buildx ## Build docker image with ARCH as image tag suffix. - docker buildx build --builder $(DOCKER_BUILDER_NAME) --platform ${PLATFORM} \ - --build-arg TARGETOS=$(DOCKER_OS) --build-arg TARGETARCH=$(DOCKER_ARCH) \ - -t ${IMG}-${DOCKER_ARCH} --load . + docker buildx build --builder $(DOCKER_BUILDER_NAME) --platform ${PLATFORM} -t ${IMG}-${DOCKER_ARCH} --load . .PHONY: scan-local scan-local: IMG=local/kubegres:scan-${LOCAL_ARCH}