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.
The released images are hosted on the csi-components ECR Public Registry.
| Project | Latest Released Version | Image Pull URI |
|---|---|---|
| external-attacher | v4.10.0-eksbuild.1 | public.ecr.aws/csi-components/csi-attacher:v4.10.0-eksbuild.1 |
| node-driver-registrar | v2.15.0-eksbuild.1 | public.ecr.aws/csi-components/csi-node-driver-registrar:v2.15.0-eksbuild.1 |
| external-provisioner | v5.3.0-eksbuild.4 | public.ecr.aws/csi-components/csi-provisioner:v5.3.0-eksbuild.4 |
| external-resizer | v1.14.0-eksbuild.4 | public.ecr.aws/csi-components/csi-resizer:v1.14.0-eksbuild.4 |
| external-snapshotter | v8.4.0-eksbuild.1 | public.ecr.aws/csi-components/csi-snapshotter:v8.4.0-eksbuild.1 |
| livenessprobe | v2.17.0-eksbuild.1 | public.ecr.aws/csi-components/livenessprobe:v2.17.0-eksbuild.1 |
| snapshot-controller | v8.4.0-eksbuild.1 | public.ecr.aws/csi-components/snapshot-controller:v8.4.0-eksbuild.1 |
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 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 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 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 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 will output all the licences used by the Golang projects built for these images.
See CONTRIBUTING.md for more information.
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.