Skip to content
This repository was archived by the owner on Dec 6, 2024. It is now read-only.

Commit 76f98f0

Browse files
committed
update docs
1 parent 71cbd78 commit 76f98f0

File tree

1 file changed

+50
-24
lines changed

1 file changed

+50
-24
lines changed

Diff for: README.md

+50-24
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,69 @@
1-
COSI repos and images:
1+
![version](https://img.shields.io/badge/status-pre--alpha-lightgrey)
22

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-
&emsp; - [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-
&emsp; - images: cosi-provisioner \
9-
[CSI Adapter](https://github.com/kubernetes-sigs/container-object-storage-interface-csi-adapter) <br />
10-
&emsp; - images: cosi-node-adapter
3+
# Container Object Storage Interface Spec
114

12-
COSI deprecated repos:
5+
This repository hosts the gRPC API for the Container Object Storage Interface (COSI) standard. The interfaces defined in the [gRPC specification](cosi.proto) are meant to be the common interface for object storage provisioning and management across various object storage vendors.
136

7+
For more information about the COSI effort, visit our [documentation](https://github.com/kubernetes-sigs/container-object-storage-interface-api/tree/master/docs/index.md).
148

9+
## Why another standard?
1510

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)
11+
Kubernetes abstracts file/block storage via the CSI standard. The primitives for file/block storage do not extend well to object storage. Here is the **_extremely_** concise and incomplete list of reasons why:
2112

13+
- Unit of provisioned storage - Bucket instead of filesystem mount or block device.
14+
- Access is over the network instead of local POSIX calls.
15+
- No common protocol for consumption across various implementations of object storage.
16+
- Management policies and primitives - for instance, mounting and unmounting do not apply to object storage.
2217

18+
The existing primitives in CSI do not apply to objectstorage. Thus the need for a new standard to automate the management of objectstorage.
2319

24-
# Container Object Storage Specification
20+
## Developer Guide
2521

26-
Kubernetes specific Container Object Storage Interface (COSI) components.
22+
All API definitions **_MUST_** satisfy the following requirements:
2723

28-
## Community, discussion, contribution, and support
24+
<!-- - Must be backwards compatible -->
25+
- Must be in-sync with the API definitions in [sigs.k8s.io/container-object-storage-interface-api](https://github.com/kubernetes-sigs/container-object-storage-interface-api)
26+
27+
### Build and Test
28+
29+
1. `cosi.proto` is generated from the specification defined in `spec.md`
30+
31+
2. In order to update the API, make changes to `spec.md`. Then, generate `cosi.proto` using:
32+
33+
```sh
34+
# generates cosi.proto
35+
make generate
36+
```
2937

30-
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)
31-
and the [community page](https://github.com/kubernetes/community/tree/master/sig-storage).
38+
3. Clean and Build
3239

33-
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/).
40+
```sh
41+
# cleans up old build files
42+
make clobber
43+
# builds the go bindings
44+
make
45+
```
3446

35-
Learn how to engage with the Kubernetes community on the [community page](http://kubernetes.io/community/).
47+
4. Do it all in 1 step:
48+
49+
```
50+
# generates cosi.proto and builds the go bindings
51+
make all
52+
```
53+
54+
## References
55+
56+
- [Documentation](https://github.com/kubernetes-sigs/container-object-storage-interface-api/tree/master/docs/index.md)
57+
- [Deployment Guide](https://github.com/kubernetes-sigs/container-object-storage-interface-api/tree/master/docs/deployment-guide.md)
58+
- [Weekly Meetings](https://github.com/kubernetes-sigs/container-object-storage-interface-api/tree/master/docs/meetings.md)
59+
- [Roadmap](https://github.com/orgs/kubernetes-sigs/projects/8)
60+
61+
## Community, discussion, contribution, and support
3662

3763
You can reach the maintainers of this project at:
3864

39-
- [Slack](https://kubernetes.slack.com/messages/sig-storage-cosi)
40-
- [Mailing List](https://groups.google.com/g/container-object-storage-interface-wg?pli=1)
65+
- [#sig-storage-cosi](https://kubernetes.slack.com/messages/sig-storage-cosi) slack channel
66+
- [container-object-storage-interface](https://groups.google.com/g/container-object-storage-interface-wg?pli=1) mailing list
4167

4268
### Code of conduct
4369

0 commit comments

Comments
 (0)