Container Object Storage Interface (COSI) provisioner sidecar is responsible to manage lifecycle of COSI objects and is deployed as a sidecar to a provisioner. Specifically, the sidecar monitors the lifecycle of the CRDs generated by the COSI Controller:
- Bucket - Represents a Bucket or its equivalent in the storage backend
- BucketAccess - Represents a access token or service account in the storage backend
and makes gRPC calls to the associated provisioner.
In this repo you will also find a sample provisioner based on Minio.
Before diving into the code of this repo, we suggest that you familiarize yourself with:
- The Spec of CRDs in objectstorage.k8s.io/v1alpha1/types.go
- The Spec of the COSI objects sigs.k8s.io/container-object-storage-interface-spec
A good starting point towards understanding the functionality of this repo would be to study the tests:
In order to build and generate the Docker images execute:
make container
Notice that this command will also generate the image for the sample-driver:
objectstorage-sidecar:latest
sample-driver:latest
In order to run the tests execute:
make test
To see an example of running the sidecar, take a look at the COSI Driver Minio sub-project.
You can reach the maintainers of this project at:
- #sig-storage-cosi slack channel
- container-object-storage-interface mailing list
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.