File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11# ############ builder
2- FROM golang:1.26.0 AS builder
2+ FROM --platform=$BUILDPLATFORM golang:1.26.0 AS builder
33
44WORKDIR /go/src/github.com/gardener/gardener-extension-provider-aws
55
@@ -11,8 +11,10 @@ RUN go mod download
1111COPY . .
1212
1313ARG EFFECTIVE_VERSION
14+ ARG TARGETOS
15+ ARG TARGETARCH
1416
15- RUN make install EFFECTIVE_VERSION=$EFFECTIVE_VERSION
17+ RUN make build GOOS=$TARGETOS GOARCH=$TARGETARCH EFFECTIVE_VERSION=$EFFECTIVE_VERSION BUILD_OUTPUT_FILE= "/output/bin/"
1618
1719# ############ base
1820FROM gcr.io/distroless/static-debian12:nonroot AS base
@@ -21,12 +23,12 @@ FROM gcr.io/distroless/static-debian12:nonroot AS base
2123FROM base AS gardener-extension-provider-aws
2224WORKDIR /
2325
24- COPY --from=builder /go /bin/gardener-extension-provider-aws /gardener-extension-provider-aws
26+ COPY --from=builder /output /bin/gardener-extension-provider-aws /gardener-extension-provider-aws
2527ENTRYPOINT ["/gardener-extension-provider-aws" ]
2628
2729# ############ gardener-extension-admission-aws
2830FROM base AS gardener-extension-admission-aws
2931WORKDIR /
3032
31- COPY --from=builder /go /bin/gardener-extension-admission-aws /gardener-extension-admission-aws
33+ COPY --from=builder /output /bin/gardener-extension-admission-aws /gardener-extension-admission-aws
3234ENTRYPOINT ["/gardener-extension-admission-aws" ]
Original file line number Diff line number Diff line change @@ -23,7 +23,7 @@ WEBHOOK_CONFIG_URL := host.docker.internal:$(WEBHOOK_CONFIG_PORT)
2323EXTENSION_NAMESPACE := garden
2424GARDEN_KUBECONFIG ?=
2525
26- PLATFORM : = linux/amd64
26+ TARGET_PLATFORMS ? = linux/$( shell go env GOARCH)
2727
2828WEBHOOK_PARAM := --webhook-config-url=$(WEBHOOK_CONFIG_URL )
2929ifeq ($(WEBHOOK_CONFIG_MODE ) , service)
@@ -97,17 +97,25 @@ install:
9797 @LD_FLAGS=$(LD_FLAGS ) EFFECTIVE_VERSION=$(EFFECTIVE_VERSION ) \
9898 bash $(GARDENER_HACK_DIR ) /install.sh ./...
9999
100+ BUILD_OUTPUT_FILE ?= .
101+ BUILD_PACKAGES ?= ./...
102+
103+ .PHONY : build
104+ build :
105+ @LD_FLAGS=$(LD_FLAGS ) EFFECTIVE_VERSION=$(EFFECTIVE_VERSION ) \
106+ bash $(GARDENER_HACK_DIR ) /build.sh -o $(BUILD_OUTPUT_FILE ) $(BUILD_PACKAGES )
107+
100108.PHONY : docker-login
101109docker-login :
102110 @gcloud auth activate-service-account --key-file .kube-secrets/gcr/gcr-readwrite.json
103111
104112.PHONY : docker-image-provider
105113docker-image-provider :
106- @docker buildx build --load --platform=$(PLATFORM ) --build-arg EFFECTIVE_VERSION=$(EFFECTIVE_VERSION ) -t $(IMAGE_PREFIX ) /$(NAME ) :$(VERSION ) -t $(IMAGE_PREFIX ) /$(NAME ) :latest -f Dockerfile -m 6g --target $(EXTENSION_PREFIX ) -$(NAME ) .
114+ @docker buildx build --load --platform=$(TARGET_PLATFORMS ) --build-arg EFFECTIVE_VERSION=$(EFFECTIVE_VERSION ) -t $(IMAGE_PREFIX ) /$(NAME ) :$(VERSION ) -t $(IMAGE_PREFIX ) /$(NAME ) :latest -f Dockerfile -m 6g --target $(EXTENSION_PREFIX ) -$(NAME ) .
107115
108116.PHONY : docker-image-admission
109117docker-image-admission :
110- @docker buildx build --load --platform=$(PLATFORM ) --build-arg EFFECTIVE_VERSION=$(EFFECTIVE_VERSION ) -t $(IMAGE_PREFIX ) /$(ADMISSION_NAME ) :$(VERSION ) -t $(IMAGE_PREFIX ) /$(ADMISSION_NAME ) :latest -f Dockerfile -m 6g --target $(EXTENSION_PREFIX ) -$(ADMISSION_NAME ) .
118+ @docker buildx build --load --platform=$(TARGET_PLATFORMS ) --build-arg EFFECTIVE_VERSION=$(EFFECTIVE_VERSION ) -t $(IMAGE_PREFIX ) /$(ADMISSION_NAME ) :$(VERSION ) -t $(IMAGE_PREFIX ) /$(ADMISSION_NAME ) :latest -f Dockerfile -m 6g --target $(EXTENSION_PREFIX ) -$(ADMISSION_NAME ) .
111119
112120.PHONY : docker-images
113121docker-images : docker-image-provider docker-image-admission
You can’t perform that action at this time.
0 commit comments