Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kubernetes-sigs/container-object-storage-interface-provisioner-sidecar
Container Object Storage Interface (COSI) provisioner responsible to interface with COSI drivers.
https://github.com/kubernetes-sigs/container-object-storage-interface-provisioner-sidecar
k8s-sig-storage
Last synced: 21 days ago
JSON representation
Container Object Storage Interface (COSI) provisioner responsible to interface with COSI drivers.
- Host: GitHub
- URL: https://github.com/kubernetes-sigs/container-object-storage-interface-provisioner-sidecar
- Owner: kubernetes-sigs
- License: apache-2.0
- Created: 2020-07-22T05:21:28.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-10-28T21:15:05.000Z (about 1 month ago)
- Last Synced: 2024-11-06T12:05:46.463Z (about 1 month ago)
- Topics: k8s-sig-storage
- Language: Go
- Homepage:
- Size: 338 KB
- Stars: 35
- Watchers: 11
- Forks: 31
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG/CHANGELOG-0.1.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: code-of-conduct.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
- awesome-cloud-native - COSI - Container Object Storage Interface provisioner responsible to interface. (Storage)
README
# Container Object Storage Provisioner Sidecar
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](https://github.com/kubernetes-sigs/container-object-storage-interface-controller):- Bucket - Represents a Bucket or its equivalent in the storage backend
- BucketAccess - Represents a access token or service account in the storage backendand makes gRPC calls to the associated provisioner.
In this repo you will also find a [sample provisioner](./cmd/sample-driver) based on Minio.
## Developer Guide
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](https://github.com/kubernetes-sigs/container-object-storage-interface-api/blob/master/apis/objectstorage.k8s.io/v1alpha1/types.go)
- The Spec of the COSI objects [sigs.k8s.io/container-object-storage-interface-spec](https://github.com/kubernetes-sigs/container-object-storage-interface-spec)A good starting point towards understanding the functionality of this repo would be to study the tests:
- [Bucket Controller Test](./pkg/bucket/bucket_controller_test.go)
- [Bucket Access Controller Test](./pkg/bucketaccess/bucketaccess_controller_test.go)### Build and Test
In order to build and generate the Docker images execute:
```bash
make container
```
Notice that this command will also generate the image for the sample-driver:
```bash
objectstorage-sidecar:latest
sample-driver:latest
```In order to run the tests execute:
```bash
make test
```### Running the Sidecar
To see an example of running the sidecar, take a look at the [COSI Driver Minio](https://github.com/kubernetes-sigs/cosi-driver-minio) sub-project.
## References
- [Documentation](https://container-object-storage-interface.github.io/)
- [Deployment Guide](https://container-object-storage-interface.github.io/docs/deployment-guide)
- [Weekly Meetings](https://container-object-storage-interface.github.io/docs/community/weekly-meetings)
- [Roadmap](https://github.com/orgs/kubernetes-sigs/projects/8)## Community, discussion, contribution, and support
You can reach the maintainers of this project at:
- [#sig-storage-cosi](https://kubernetes.slack.com/messages/sig-storage-cosi) slack channel
- [container-object-storage-interface](https://groups.google.com/g/container-object-storage-interface-wg?pli=1) mailing list### Code of conduct
Participation in the Kubernetes community is governed by the [Kubernetes Code of Conduct](code-of-conduct.md).