Please go through CSI Spec and General CSI driver development guideline to get some basic understanding of CSI driver before you start.
- Golang 1.17.6
- Docker 20.10.5+ for releasing
Dependencies are managed through go module.
To build the project, first turn on go mod using export GO111MODULE=on
, then build the project using: make build-image
First you need several things:
- kubeconfig
- docker registry (cf example)
Second, push the image to the docker registry. With the example above, here is how you push:
REGISTRY_IMAGE=localhost:4242/<IMAGE_NAME> REGISTRY_TAG=<CUSTOM_TAG> make image-tag image-push
Finaly, deploy the plugin by using helm
(see deploy) and add to the command line the following parameters:
# Note: set your docker-registry address
--set image.repository=10.0.1.10:30754/<IMAGE_NAME> \
--set image.tag=<IMAGE_TAG>
See Release Process
- To execute all unit tests, run:
make test
- To execute e2e single az tests, run:
export OSC_ACCESS_KEY=XXX
export OSC_SECRET_KEY=XXX
export KC=$(base64 -w 0 path/to/kube_config.yaml)
make test-e2e-single-az