|
1 |
| -COSI repos and images: |
2 |
| - |
3 |
| -[Spec](https://github.com/kubernetes-sigs/container-object-storage-interface-spec) \ |
4 |
| -[API](https://github.com/kubernetes-sigs/container-object-storage-interface-api) \ |
5 |
| -[Controller](https://github.com/kubernetes-sigs/container-object-storage-interface-controller) <br/> |
6 |
| -  - [images: cosi-controller](https://quay.io/repository/containerobjectstorage/objectstorage-controller?tab=tags) \ |
7 |
| - [Provisioner Sidecar](https://github.com/kubernetes-sigs/container-object-storage-interface-provisioner-sidecar) <br /> |
8 |
| -   - images: cosi-provisioner \ |
9 |
| - [CSI Adapter](https://github.com/kubernetes-sigs/container-object-storage-interface-csi-adapter) <br /> |
10 |
| -   - images: cosi-node-adapter |
11 |
| - |
12 |
| - <br /> |
| 1 | +  |
| 2 | + |
| 3 | + |
| 4 | +# Container Object Storage Interface Spec |
| 5 | + |
| 6 | +This repository hosts the API defintion of the Custom Resource Definitions (CRD) used for the Container Object Storage Interface (COSI) project. The provisioned unit of storage is a `Bucket`. The following CRDs are defined for managing the lifecycle of Buckets: |
| 7 | + |
| 8 | + - BucketRequest - Represents a request to provision a Bucket |
| 9 | + - BucketClass - Represents a class of Buckets with similar characteristics |
| 10 | + - Bucket - Represents a Bucket or its equivalent in the storage backend |
13 | 11 |
|
14 |
| -COSI deprecated repos: |
| 12 | + The following CRDs are defined for managing the lifecycle of workloads accessing the Bucket: |
| 13 | + |
| 14 | + - BucketAccessRequest - Represents a request to access a Bucket |
| 15 | + - BucketAccessClass - Represents a class of accesors with similar access requirements |
| 16 | + - BucketAccess - Represents a access token or service account in the storage backend |
15 | 17 |
|
16 |
| -[Spec](https://github.com/container-object-storage-interface/spec) \ |
17 |
| -[API](https://github.com/container-object-storage-interface/api) \ |
18 |
| -[Manager (i.e. Controller)](https://github.com/container-object-storage-interface/cosi-controller-manager) \ |
19 |
| -[Provisioner Sidecar](https://github.com/container-object-storage-interface/cosi-provisioner-sidecar) \ |
20 |
| -[Ephemeral CSI Driver](https://github.com/container-object-storage-interface/ephemeral-csi-driver) |
| 18 | +**NOTE**: All of the APIs are defined under the API group `objectstorage.k8s.io`. |
21 | 19 |
|
| 20 | +For more information about COSI, visit our [documentation](https://github.com/kubernetes-sigs/container-object-storage-interface-api/tree/master/docs/index.md). |
22 | 21 |
|
23 |
| -# Container Object Storage Interface (COSI) API |
| 22 | +## Developer Guide |
24 | 23 |
|
25 |
| -API definitions for Container Object Storage. |
| 24 | +All API definitions are in [`apis/objectstorage.k8s.io/`](./apis/objectstorage.k8s.io/). All API changes **_MUST_** satisfy the following requirements: |
26 | 25 |
|
27 |
| -## Community, discussion, contribution, and support |
| 26 | + - Must be backwards compatible |
| 27 | + - Must be in-sync with the API definitions in [sigs.k8s.io/container-object-storage-interface-spec](https://github.com/kubernetes-sigs/container-object-storage-interface-spec) |
| 28 | + |
| 29 | +### Build and Test |
| 30 | + |
| 31 | +1. Test and Build the project |
28 | 32 |
|
29 |
| -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) |
30 |
| -and the [community page](https://github.com/kubernetes/community/tree/master/sig-storage). |
| 33 | +``` |
| 34 | +make all |
| 35 | +``` |
31 | 36 |
|
32 |
| -If you are new to the SIG Storage COSI project, check out the [spec](https://github.com/kubernetes-sigs/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/). |
| 37 | +2. Generate CRDs |
33 | 38 |
|
34 |
| -Learn how to engage with the Kubernetes community on the [community page](http://kubernetes.io/community/). |
| 39 | +``` |
| 40 | +make codegen |
| 41 | +``` |
| 42 | + |
| 43 | +## Adding new fields to protocols |
| 44 | + |
| 45 | +1. Create a new issue raising a RFC for the changes following this format: |
| 46 | + |
| 47 | +Title: [RFC] Changes to protocol xyz |
| 48 | +> **Info**: |
| 49 | +> 1. Protocol: |
| 50 | +> 2. Fields Added: |
| 51 | +> 3. Why is this change neccessary? |
| 52 | +> ...(describe why here)... |
| 53 | +> 4. Which other COSI projects are affected by this change? |
| 54 | +> 5. Upgrade plan |
| 55 | +> (ignore if it doesn't apply) |
| 56 | +
|
| 57 | +## References |
| 58 | + |
| 59 | + - [Documentation](docs/index.md) |
| 60 | + - [Deployment Guide](docs/deployment-guide.md) |
| 61 | + - [Weekly Meetings](docs/meetings.md) |
| 62 | + - [Roadmap](https://github.com/orgs/kubernetes-sigs/projects/8) |
| 63 | + |
| 64 | +## Community, discussion, contribution, and support |
35 | 65 |
|
36 | 66 | You can reach the maintainers of this project at:
|
37 | 67 |
|
38 |
| -- [Slack](https://kubernetes.slack.com/messages/sig-storage-cosi) |
39 |
| -- [Mailing List](https://groups.google.com/g/container-object-storage-interface-wg?pli=1) |
| 68 | + - [#sig-storage-cosi](https://kubernetes.slack.com/messages/sig-storage-cosi) slack channel |
| 69 | + - [container-object-storage-interface](https://groups.google.com/g/container-object-storage-interface-wg?pli=1) mailing list |
40 | 70 |
|
41 | 71 | ### Code of conduct
|
42 | 72 |
|
43 |
| -Participation in the Kubernetes community is governed by the [Kubernetes Code of Conduct](code-of-conduct.md). |
| 73 | +Participation in the Kubernetes community is governed by the [Kubernetes Code of Conduct](code-of-conduct.md). |
0 commit comments