Skip to content

Commit 15cc0f0

Browse files
committed
[BucketAPI] Minor updates based on review comments
1 parent bd7b38d commit 15cc0f0

File tree

1 file changed

+23
-17
lines changed
  • keps/sig-storage/1979-object-storage-support

1 file changed

+23
-17
lines changed

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

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ More information about Bucket is [here](#bucket)
209209
| spec: |
210210
| bucketClassName: bc1 |
211211
| protocols: |
212-
| - s3 |
212+
| - s3 |
213213
| parameters: |
214214
| key: value |
215215
| provisioner: s3.amazonaws.com |
@@ -275,7 +275,7 @@ The KEY based mechanism is where access and secret keys are generated to be prov
275275
| bucketAccessClassName: bac1 | | authenticationType: KEY |
276276
| bucketClaimName: bcl1 | |----------------------------------|
277277
| credentialsSecretName: bucketcreds1 |
278-
| protocol: s3 |
278+
| protocol: s3 |
279279
| status: |
280280
| conditions: |
281281
| - name: AccessGranted |
@@ -535,6 +535,7 @@ These properties will be specified in the BucketRequest and follow the same patt
535535

536536
The following resources are managed by admins
537537

538+
- Bucket in case of brownfield buckets
538539
- BucketClass
539540
- BucketAccessClass
540541

@@ -641,11 +642,11 @@ BucketClaim {
641642
Spec BucketClaimSpec {
642643
// Name of the BucketClass
643644
BucketClassName string
644-
645-
// Name of a bucket object that was manually
646-
// created to import a bucket created outside of COSI
647-
// +optional
648-
ExistingBucketName string
645+
646+
// Name of a bucket object that was manually
647+
// created to import a bucket created outside of COSI
648+
// +optional
649+
ExistingBucketName string
649650
}
650651

651652
Status BucketClaimStatus {
@@ -654,7 +655,8 @@ BucketClaim {
654655
BucketReady bool
655656

656657
// BucketName is the name of the provisioned Bucket in response
657-
// to this BucketClaim
658+
// to this BucketClaim. It is generated and set by the COSI controller
659+
// before making the creation request to the OSP backend.
658660
// +optional
659661
BucketName string
660662
}
@@ -707,12 +709,12 @@ BucketAccess {
707709
// +optional
708710
BucketClaimName string
709711

710-
// Protcol is the name of the Protocol
712+
// Protocol is the name of the Protocol
711713
// that this access credential is supposed to support
712-
// If left empty, it will choose the protocol supported
713-
// by the bucket. If the bucket supports multiple protocols,
714-
// the end protocol is determined by the driver.
715-
// +optional
714+
// If left empty, it will choose the protocol supported
715+
// by the bucket. If the bucket supports multiple protocols,
716+
// the end protocol is determined by the driver.
717+
// +optional
716718
Protocol Protocol
717719

718720
// BucketAccessClassName is the name of the BucketAccessClass
@@ -732,7 +734,8 @@ BucketAccess {
732734
// AccessGranted indicates the successful grant of privileges to access the bucket
733735
AccessGranted bool
734736

735-
// AccountID is the unique ID for the account in the OSP
737+
// AccountID is the unique ID for the account in the OSP. It will be populated
738+
// by the COSI sidecar once access has been successfully granted.
736739
// +optional
737740
AccountID string
738741
}
@@ -842,7 +845,7 @@ The returned `bucketID` should be a unique identifier for the bucket in the OSP.
842845

843846
This gRPC call creates a set of access credentials for a bucket. This api must be idempotent. The input to this call is the id of the bucket, a set of opaque parameters and name of the account. This `accountName` field is used to ensure that multiple requests for the same BucketClaim do not result in multiple credentials.
844847

845-
The returned `accountID` should be a unique identifier for the account in the OSP. This value could be the name of the account too. This value will be used by COSI to make all subsequent calls related to this account.
848+
The returned `accountID` should be a unique identifier for the account in the OSP. This value could be the name of the account too. This value will be included in all subsequent calls to the driver for changes to the BucketAccess.
846849

847850
```
848851
ProvisionerGrantBucketAccess
@@ -900,13 +903,16 @@ This gRPC call revokes access granted to a particular account.
900903

901904
## Alpha
902905
- API is reviewed and accepted
903-
- Implement all COSI components to support Greenfield, Green/Brown Field, Brownfield and Static Driverless provisioning
906+
- Design COSI APIs to support Greenfield, Green/Brown Field, Brownfield and Static Driverless provisioning
907+
- Design COSI APIs to support authentication using access/secret keys, and IAM.
904908
- Evaluate gaps, update KEP and conduct reviews for all design changes
905909
- Develop unit test cases to demonstrate that the above mentioned use cases work correctly
906910

907911
## Alpha -\> Beta
912+
- Implement all COSI components to support agreed design.
913+
- Design and implement support for sharing buckets across namespaces.
908914
- Basic unit and e2e tests as outlined in the test plan.
909-
- Metrics in kubernetes/kubernetes for bucket create and delete, and granting and revoking bucket access.
915+
- Metrics for bucket create and delete, and granting and revoking bucket access.
910916
- Metrics in provisioner for bucket create and delete, and granting and revoking bucket access.
911917

912918
## Beta -\> GA

0 commit comments

Comments
 (0)