Skip to content

Commit 0a31cd5

Browse files
committed
[BucketAPI] move protocols to BucketClaim
1 parent bbd7357 commit 0a31cd5

File tree

2 files changed

+27
-21
lines changed

2 files changed

+27
-21
lines changed

keps/sig-storage/1979-object-storage-support/README.md

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -189,11 +189,12 @@ The BucketClaim is a claim to create a new Bucket. This resource can be used to
189189
|------------------------------| |--------------------------------|
190190
| metadata: | | deletionPolicy: delete |
191191
| namespace: ns1 | | driverName: s3.amazonaws.com |
192-
| spec: | | protocols: |
193-
| bucketClassName: bc1 | | - s3 |
194-
| | | parameters: |
195-
|------------------------------| | key: value |
196-
|--------------------------------|
192+
| spec: | | parameters: |
193+
| bucketClassName: bc1 | | key: value |
194+
| protocols: | |--------------------------------|
195+
| - s3 |
196+
|------------------------------|
197+
197198
```
198199

199200
###### 2. COSI creates an intermediate Bucket object
@@ -472,9 +473,9 @@ The admin must ensure that this bucket binds only to a specific BucketClaim by s
472473
| name: bucketName123 |
473474
| spec: |
474475
| bucketID: bucketname123 |
475-
| bucketClaim: |
476-
| name: bucketClaim123 |
477-
| namespace: ns1 |
476+
| bucketClaim: |
477+
| name: bucketClaim123 |
478+
| namespace: ns1 |
478479
| protocols: |
479480
| - s3 |
480481
| parameters: |
@@ -601,7 +602,7 @@ Bucket {
601602

602603
// Name of the BucketClaim that resulted in the creation of this Bucket
603604
// In case the Bucket object was created manually, then this should refer
604-
// to the BucketClaim with which this Bucket should be bound
605+
// to the BucketClaim with which this Bucket should be bound
605606
BucketClaim corev1.ObjectReference
606607

607608
// Protocols are the set of data APIs this bucket is expected to support.
@@ -649,9 +650,16 @@ BucketClaim {
649650
// Name of the BucketClass
650651
BucketClassName string
651652

653+
// Protocols are the set of data API this bucket is required to support.
654+
// The possible values for protocol are:
655+
// - S3: Indicates Amazon S3 protocol
656+
// - Azure: Indicates Microsoft Azure BlobStore protocol
657+
// - GCS: Indicates Google Cloud Storage protocol
658+
Protocols []Protocol
659+
652660
// Name of a bucket object that was manually
653661
// created to import a bucket created outside of COSI
654-
// If unspecified, then a new Bucket will be dynamically provisioned
662+
// If unspecified, then a new Bucket will be dynamically provisioned
655663
// +optional
656664
ExistingBucketName string
657665
}
@@ -680,13 +688,6 @@ BucketClass {
680688
// DriverName is the name of driver associated with this bucket
681689
DriverName string
682690

683-
// Protocols are the set of data API this bucket is required to support.
684-
// The possible values for protocol are:
685-
// - S3: Indicates Amazon S3 protocol
686-
// - Azure: Indicates Microsoft Azure BlobStore protocol
687-
// - GCS: Indicates Google Cloud Storage protocol
688-
Protocols []Protocol
689-
690691
// DeletionPolicy is used to specify how COSI should handle deletion of this
691692
// bucket. There are 3 possible values:
692693
// - Retain: Indicates that the bucket should not be deleted from the OSP
@@ -729,7 +730,7 @@ BucketAccess {
729730
// CredentialsSecretName is the name of the secret that COSI should populate
730731
// with the credentials. If a secret by this name already exists, then it is
731732
// assumed that credentials have already been generated. It is not overridden.
732-
// This secret is deleted when the BucketAccess is delted.
733+
// This secret is deleted when the BucketAccess is delted.
733734
CredentialsSecretName string
734735

735736
// ServiceAccountName is the name of the serviceAccount that COSI will map
@@ -750,13 +751,17 @@ BucketAccess {
750751

751752
## BucketAccessClass
752753

753-
Resouce for configuring common properties for multiple BucketClaims. BucketAccessClass is a clustered resource
754+
Resoruce for configuring common properties for multiple BucketClaims. BucketAccessClass is a clustered resource
754755

755756
```yaml
756757
BucketAccessClass {
757758
TypeMeta
758759
ObjectMeta
759760

761+
// DriverName is the name of driver associated with
762+
// this BucketAccess
763+
DriverName string
764+
760765
// AuthenticationType denotes the style of authentication
761766
// It can be one of
762767
// KEY - access, secret tokens based authentication
@@ -918,6 +923,7 @@ This gRPC call revokes access granted to a particular account.
918923
## Alpha -\> Beta
919924
- Implement all COSI components to support agreed design.
920925
- Design and implement support for sharing buckets across namespaces.
926+
- Design and implement quotas/restrictions for Buckets and BucketAccess.
921927
- Basic unit and e2e tests as outlined in the test plan.
922928
- Metrics for bucket create and delete, and granting and revoking bucket access.
923929
- Metrics in provisioner for bucket create and delete, and granting and revoking bucket access.

keps/sig-storage/1979-object-storage-support/kep.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ approvers:
1919
- "@thockin"
2020
editor: TBD
2121
creation-date: 2019-11-25
22-
last-updated: 2020-08-01
23-
status: implementable
22+
last-updated: 2022-04-06
23+
status: alpha
2424
stage: alpha
2525
latest-milestone: v1.24
2626
milestone:

0 commit comments

Comments
 (0)