|
1 | 1 | # Container Object Storage Controller
|
2 | 2 |
|
3 | 3 | Container Object Storage Interface (COSI) controller responsible to manage lifecycle of COSI objects.
|
| 4 | +Specifically, this controller monitors the lifecycle of the user-facing CRDs: |
| 5 | + |
| 6 | +- BucketRequest - Represents a request to provision a Bucket |
| 7 | +- BucketAccessRequest - Represents a request to access a Bucket |
| 8 | + |
| 9 | +and generates the associated CRDs: |
| 10 | + |
| 11 | +- Bucket - Represents a Bucket or its equivalent in the storage backend |
| 12 | +- BucketAccess - Represents a access token or service account in the storage backend |
| 13 | + |
| 14 | +## Developer Guide |
| 15 | + |
| 16 | +Before diving into the code of this repo, we suggest that you familiarize yourself with: |
| 17 | + |
| 18 | +- 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) |
| 19 | +- The Spec of the COSI objects [sigs.k8s.io/container-object-storage-interface-spec](https://github.com/kubernetes-sigs/container-object-storage-interface-spec) |
| 20 | + |
| 21 | +A good starting point towards understanding the functionality of this repo would be to study the tests: |
| 22 | + |
| 23 | +- [BucketRequest Test](./pkg/bucketrequest/bucketrequest_test.go) |
| 24 | +- [BucketAccessRequest Test](./pkg/bucketaccessrequest/bucketaccessrequest_test.go) |
| 25 | + |
| 26 | +### Build and Test |
| 27 | + |
| 28 | +In order to build and generate a Docker image execute: |
| 29 | +```bash |
| 30 | +make container |
| 31 | +``` |
| 32 | + |
| 33 | +In order to run the tests execute: |
| 34 | +```bash |
| 35 | +make test |
| 36 | +``` |
| 37 | + |
| 38 | +## References |
| 39 | + |
| 40 | +- [Documentation](https://github.com/kubernetes-sigs/container-object-storage-interface-api/tree/master/docs/index.md) |
| 41 | +- [Deployment Guide](https://github.com/kubernetes-sigs/container-object-storage-interface-api/tree/master/docs/deployment-guide.md) |
| 42 | +- [Weekly Meetings](https://github.com/kubernetes-sigs/container-object-storage-interface-api/tree/master/docs/meetings.md) |
| 43 | +- [Roadmap](https://github.com/orgs/kubernetes-sigs/projects/8) |
4 | 44 |
|
5 | 45 | ## Community, discussion, contribution, and support
|
6 | 46 |
|
|
0 commit comments