diff --git a/Dockerfile b/Dockerfile index 6098b5e706..7e8d484e46 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,6 +29,10 @@ RUN yum update -y && \ COPY --from=builder /go/src/github.com/kubernetes-sigs/aws-ebs-csi-driver/bin/aws-ebs-csi-driver /bin/aws-ebs-csi-driver ENTRYPOINT ["/bin/aws-ebs-csi-driver"] +FROM public.ecr.aws/eks-distro-build-tooling/eks-distro-minimal-base-csi-ebs:latest.2 AS linux-minimal +COPY --from=builder /go/src/github.com/kubernetes-sigs/aws-ebs-csi-driver/bin/aws-ebs-csi-driver /bin/aws-ebs-csi-driver +ENTRYPOINT ["/bin/aws-ebs-csi-driver"] + FROM mcr.microsoft.com/windows/servercore:1809 AS windows-1809 COPY --from=builder /go/src/github.com/kubernetes-sigs/aws-ebs-csi-driver/bin/aws-ebs-csi-driver.exe /aws-ebs-csi-driver.exe ENTRYPOINT ["/aws-ebs-csi-driver.exe"] @@ -39,4 +43,4 @@ ENTRYPOINT ["/aws-ebs-csi-driver.exe"] FROM mcr.microsoft.com/windows/servercore:ltsc2019 AS windows-ltsc2019 COPY --from=builder /go/src/github.com/kubernetes-sigs/aws-ebs-csi-driver/bin/aws-ebs-csi-driver.exe /aws-ebs-csi-driver.exe -ENTRYPOINT ["/aws-ebs-csi-driver.exe"] +ENTRYPOINT ["/aws-ebs-csi-driver.exe"] \ No newline at end of file diff --git a/Makefile b/Makefile index 385d3a8dd2..bb55839c8f 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,7 @@ GOBIN=$(shell pwd)/bin REGISTRY?=gcr.io/k8s-staging-provider-aws IMAGE?=$(REGISTRY)/aws-ebs-csi-driver TAG?=$(GIT_COMMIT) +TAG_RC?=$(addsuffix -minimal, $(TAG)) OUTPUT_TYPE?=docker @@ -38,7 +39,7 @@ OSVERSION?=amazon ALL_OS?=linux windows ALL_ARCH_linux?=amd64 arm64 -ALL_OSVERSION_linux?=amazon +ALL_OSVERSION_linux?=amazon minimal ALL_OS_ARCH_OSVERSION_linux=$(foreach arch, $(ALL_ARCH_linux), $(foreach osversion, ${ALL_OSVERSION_linux}, linux-$(arch)-${osversion})) ALL_ARCH_windows?=amd64 @@ -73,13 +74,15 @@ all-push: all-image-registry push-manifest .PHONY: push-manifest push-manifest: create-manifest docker manifest push --purge $(IMAGE):$(TAG) + docker manifest push --purge $(IMAGE):$(TAG_RC) .PHONY: create-manifest create-manifest: # sed expression: # LHS: match 0 or more not space characters # RHS: replace with $(IMAGE):$(TAG)-& where & is what was matched on LHS - docker manifest create --amend $(IMAGE):$(TAG) $(shell echo $(ALL_OS_ARCH_OSVERSION) | sed -e "s~[^ ]*~$(IMAGE):$(TAG)\-&~g") + docker manifest create --amend $(IMAGE):$(TAG) $(shell echo $(ALL_OS_ARCH_OSVERSION) | sed 's/ /\n/g' | sed "/minimal/d" | sed -e "s~[^ ]*~$(IMAGE):$(TAG)\-&~g") + docker manifest create --amend $(IMAGE):$(TAG_RC) $(shell echo $(ALL_OS_ARCH_OSVERSION) | sed 's/ /\n/g' | sed "/amazon/d" | sed -e "s~[^ ]*~$(IMAGE):$(TAG)\-&~g") # Only linux for OUTPUT_TYPE=docker because windows image cannot be exported # "Currently, multi-platform images cannot be exported with the docker export type. The most common usecase for multi-platform images is to directly push to a registry (see registry)." @@ -234,4 +237,4 @@ generate-kustomize: bin/helm cd charts/aws-ebs-csi-driver && ../../bin/helm template kustomize . -s templates/node.yaml > ../../deploy/kubernetes/base/node.yaml cd charts/aws-ebs-csi-driver && ../../bin/helm template kustomize . -s templates/poddisruptionbudget-controller.yaml > ../../deploy/kubernetes/base/poddisruptionbudget-controller.yaml cd charts/aws-ebs-csi-driver && ../../bin/helm template kustomize . -s templates/serviceaccount-csi-controller.yaml > ../../deploy/kubernetes/base/serviceaccount-csi-controller.yaml - cd charts/aws-ebs-csi-driver && ../../bin/helm template kustomize . -s templates/serviceaccount-csi-node.yaml > ../../deploy/kubernetes/base/serviceaccount-csi-node.yaml + cd charts/aws-ebs-csi-driver && ../../bin/helm template kustomize . -s templates/serviceaccount-csi-node.yaml > ../../deploy/kubernetes/base/serviceaccount-csi-node.yaml \ No newline at end of file