Skip to content
This repository was archived by the owner on Dec 3, 2024. It is now read-only.
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 44 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,61 @@
COSI repos and images:
# Container Object Storage Provisioner Sidecar

[Spec](https://sigs.k8s.io/container-object-storage-interface-spec) \
[API](https://sigs.k8s.io/container-object-storage-interface-api) \
[Controller](https://sigs.k8s.io/container-object-storage-interface-controller) <br/>
&emsp; - [images: cosi-controller](https://quay.io/repository/containerobjectstorage/objectstorage-controller?tab=tags) \
[Provisioner Sidecar](https://sigs.k8s.io/container-object-storage-interface-provisioner-sidecar) <br />
&emsp; - images: cosi-provisioner \
[CSI Adapter](https://sigs.k8s.io/container-object-storage-interface-csi-adapter) <br />
&emsp; - images: cosi-node-adapter
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):

<br />

COSI deprecated repos:
- Bucket - Represents a Bucket or its equivalent in the storage backend
- BucketAccess - Represents a access token or service account in the storage backend

[Spec](https://github.com/container-object-storage-interface/spec) \
[API](https://github.com/container-object-storage-interface/api) \
[Manager (i.e. Controller)](https://github.com/container-object-storage-interface/cosi-controller-manager) \
[Provisioner Sidecar](https://github.com/container-object-storage-interface/cosi-provisioner-sidecar) \
[Ephemeral CSI Driver](https://github.com/container-object-storage-interface/ephemeral-csi-driver)
and makes gRPC calls to the associated provisioner.

# Container Object Storage Interface Provisioner Sidecar
In this repo you will also find a [sample provisioner](./cmd/sample-driver) based on Minio.

Container Object Storage Interface (COSI) provisioner responsible to interface with COSI drivers.
## Developer Guide

## Community, discussion, contribution, and support
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/controller/bucket/bucket_controller_test.go)
- [Bucket Access Controller Test](./pkg/controller/bucketaccess/bucket_access_controller_test.go)

### Build and Test

If you are new to a SIG Storage project, check out this [contributing guide](https://github.com/kubernetes/community/blob/master/sig-storage/CONTRIBUTING.md)
and the [community page](https://github.com/kubernetes/community/tree/master/sig-storage).
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
```

If you are new to the SIG Storage COSI project, check out the [spec](https://sigs.k8s.io/container-object-storage-interface-spec/blob/master/spec.md), [KEP](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1979-object-storage-support), and [project board](https://github.com/orgs/kubernetes-sigs/projects/).

In order to run the tests execute:
```bash
make test
```

## References

- [Documentation](https://github.com/kubernetes-sigs/container-object-storage-interface-api/tree/master/docs/index.md)
- [Deployment Guide](https://github.com/kubernetes-sigs/container-object-storage-interface-api/tree/master/docs/deployment-guide.md)
- [Weekly Meetings](https://github.com/kubernetes-sigs/container-object-storage-interface-api/tree/master/docs/meetings.md)
- [Roadmap](https://github.com/orgs/kubernetes-sigs/projects/8)

## Community, discussion, contribution, and support

Learn how to engage with the Kubernetes community on the [community page](http://kubernetes.io/community/).

You can reach the maintainers of this project at:

- [Slack](https://kubernetes.slack.com/messages/sig-storage-cosi)
- [Mailing List](https://groups.google.com/g/container-object-storage-interface-wg?pli=1)
- [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-storage)

### Code of conduct

Expand Down