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:
- BucketRequest - Represents a request to provision a Bucket
- BucketClass - Represents a class of Buckets with similar characteristics
- Bucket - Represents a Bucket or its equivalent in the storage backend
The following CRDs are defined for managing the lifecycle of workloads accessing the Bucket:
- BucketAccessRequest - Represents a request to access a Bucket
- BucketAccessClass - Represents a class of accessors with similar access requirements
- BucketAccess - Represents a access token or service account in the storage backend
NOTE: All of the APIs are defined under the API group objectstorage.k8s.io
.
For more information about COSI, visit our documentation.
All API definitions are in apis/objectstorage.k8s.io/
. All API changes MUST satisfy the following requirements:
- Must be backwards compatible
- Must be in-sync with the API definitions in sigs.k8s.io/container-object-storage-interface-spec
- Test and Build the project
make all
- Generate CRDs
make codegen
- Create a new issue raising a RFC for the changes following this format:
Title: [RFC] Changes to protocol xyz
Info:
- Protocol:
- Fields Added:
- Why is this change neccessary? ...(describe why here)...
- Which other COSI projects are affected by this change?
- Upgrade plan (ignore if it doesn't apply)
You can reach the maintainers of this project at:
- #sig-storage-cosi slack channel
- container-object-storage-interface mailing list
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.