This repository contains the tooling used to build minimal Amazon Linux based versions of the Kubernetes CSI Sidecars (and other related components such as the Kubernetes CSI snapshot-controller image).
These images are used in the official releases of the EBS CSI Driver versions v1.45.0 and later.
make all will build all of the binaries that are used in each image, but not the images themselves.
make bin/PROJECT may be used to build an individual binary.
make all-images
make all-images will build and push all images provided by this project. The REGISTRY environment variable can be used to set the destination registry.
make image/PROJECT may be used to build and push an individual image. make setup-ecr can be used to automatically setup ECR repositories for testing.
make all-trivy
make all-trivy will use the Trivy vulnerability scanner to scan for vulnerabilities in the built image and binaries.
make trivy/PROJECT will scan only a single project’s image.
make e2e/TEST
make e2e/TEST will run E2E tests using the AWS EBS CSI Driver. The TEST to run is equivalent to the target passed to make in the EBS CSI Driver repo (e.g. make e2e/test-e2e-external).
make licenses/PROJECT
make licenses/PROJECT will output all the licences used by the Golang projects built for these images.
The build tooling in this repository is licensed under the Apache License 2.0. Sub-projects and dependencies have their own licenses, see above section on make licenses/PROJECT.
Components for CSI
Overview
This repository contains the tooling used to build minimal Amazon Linux based versions of the Kubernetes CSI Sidecars (and other related components such as the Kubernetes CSI
snapshot-controllerimage).These images are used in the official releases of the EBS CSI Driver versions
v1.45.0and later.Images
The released images are hosted on the
csi-componentsECR Public Registry.public.ecr.aws/csi-components/csi-attacher:v4.11.0-eksbuild.3public.ecr.aws/csi-components/csi-node-driver-registrar:v2.16.0-eksbuild.3public.ecr.aws/csi-components/csi-provisioner:v6.2.0-eksbuild.2public.ecr.aws/csi-components/csi-resizer:v2.1.0-eksbuild.3public.ecr.aws/csi-components/csi-snapshotter:v8.5.0-eksbuild.3public.ecr.aws/csi-components/livenessprobe:v2.18.0-eksbuild.3public.ecr.aws/csi-components/snapshot-controller:v8.5.0-eksbuild.3public.ecr.aws/ebs-csi-driver/volume-modifier-for-k8s:v0.9.4-eksbuild.1Building
Dependencies
The following dependencies are required to build:
yq: https://github.com/mikefarah/yqgit: https://git-scm.com/downloadsdockeranddocker buildx: https://docs.docker.com/get-docker/ and https://github.com/docker/buildx#installingmakego: https://go.dev/doc/install (only if building binaries locally or reporting licenses)go-licenses: https://github.com/google/go-licenses (only if reporting licenses)make allmake allwill build all of the binaries that are used in each image, but not the images themselves.make bin/PROJECTmay be used to build an individual binary.make all-imagesmake all-imageswill build and push all images provided by this project. TheREGISTRYenvironment variable can be used to set the destination registry.make image/PROJECTmay be used to build and push an individual image.make setup-ecrcan be used to automatically setup ECR repositories for testing.make all-trivymake all-trivywill use the Trivy vulnerability scanner to scan for vulnerabilities in the built image and binaries.make trivy/PROJECTwill scan only a single project’s image.make e2e/TESTmake e2e/TESTwill run E2E tests using the AWS EBS CSI Driver. TheTESTto run is equivalent to the target passed tomakein the EBS CSI Driver repo (e.g.make e2e/test-e2e-external).make licenses/PROJECTmake licenses/PROJECTwill output all the licences used by the Golang projects built for these images.Contributing and Security
See CONTRIBUTING.md for more information.
License
The build tooling in this repository is licensed under the Apache License 2.0. Sub-projects and dependencies have their own licenses, see above section on
make licenses/PROJECT.