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

Commit 02ff3dd

Browse files
authored
Merge pull request #55 from mukhoakash/latest-kep-changes
Update the code with latest KEP
2 parents 18f05e9 + 2833476 commit 02ff3dd

File tree

3,703 files changed

+1192321
-6494
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,703 files changed

+1192321
-6494
lines changed

Diff for: .gitignore

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@
33
.build
44
*.swp
55
release-tools
6-
vendor
7-
.idea
6+
.idea
7+
travis.yml
8+

Diff for: Makefile

+5-1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ build:
3636
test:
3737
unit:
3838
codegen:
39-
$(shell ./hack/update-codegen.sh)
39+
@echo "Running update-codegen to generate the code..."
40+
bash ./hack/update-codegen.sh
41+
42+
@echo "Running update-crd to generate the crd..."
43+
bash ./hack/update-crd.sh
4044

4145
include release-tools/build.make

Diff for: README.md

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,12 @@
55

66
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:
77

8-
- BucketRequest - Represents a request to provision a Bucket
8+
- BucketClaim - Represents a request to provision a Bucket
99
- BucketClass - Represents a class of Buckets with similar characteristics
1010
- Bucket - Represents a Bucket or its equivalent in the storage backend
1111

1212
The following CRDs are defined for managing the lifecycle of workloads accessing the Bucket:
1313

14-
- BucketAccessRequest - Represents a request to access a Bucket
1514
- BucketAccessClass - Represents a class of accessors with similar access requirements
1615
- BucketAccess - Represents a access token or service account in the storage backend
1716

@@ -20,7 +19,7 @@ This repository hosts the API defintion of the Custom Resource Definitions (CRD)
2019
For more information about COSI, visit our [documentation](https://container-object-storage-interface.github.io/docs).
2120
## Developer Guide
2221

23-
All API definitions are in [`apis/objectstorage.k8s.io/`](./apis/objectstorage.k8s.io/). All API changes **_MUST_** satisfy the following requirements:
22+
All API definitions are in [`apis/objectstorage.k8s.io/`](./apis/objectstorage/). All API changes **_MUST_** satisfy the following requirements:
2423

2524
- Must be backwards compatible
2625
- Must be in-sync with the API definitions in [sigs.k8s.io/container-object-storage-interface-spec](https://sigs.k8s.io/container-object-storage-interface-spec)

Diff for: apis/bucket_info.go

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/*
2+
Copyright 2020 The Kubernetes Authors.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
18+
package cosiapi
19+
20+
import (
21+
corev1 "k8s.io/api/core/v1"
22+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
23+
)
24+
25+
// +k8s:deepcopy-gen=false
26+
type BucketInfo struct {
27+
metav1.TypeMeta `json:",inline"`
28+
29+
// +optional
30+
metav1.ObjectMeta `json:"metadata,omitempty"`
31+
32+
Spec BucketInfoSpec `json:"spec,omitempty"`
33+
}
34+
35+
type BucketInfoSpec struct {
36+
// BucketName is the name of the Bucket
37+
BucketName string `json:"bucketName"`
38+
39+
// AuthenticationType denotes the style of authentication
40+
// It can be one of
41+
// KEY - access, secret tokens based authentication
42+
// IAM - implicit authentication of pods to the OSP based on service account mappings
43+
AuthenticationType AuthenticationType `json:"authenticationType"`
44+
45+
// Endpoint is the URL at which the bucket can be accessed
46+
Endpoint string `json:"endpoint"`
47+
48+
// Region is the vendor-defined region where the bucket "resides"
49+
Region string `json:"region"`
50+
51+
// Protocols are the set of data APIs this bucket is expected to support.
52+
// The possible values for protocol are:
53+
// - S3: Indicates Amazon S3 protocol
54+
// - Azure: Indicates Microsoft Azure BlobStore protocol
55+
// - GCS: Indicates Google Cloud Storage protocol
56+
Protocols []Protocol `json:"protocols"`
57+
}

Diff for: apis/objectstorage.k8s.io/v1alpha1/azure_types.go

-39
This file was deleted.

Diff for: apis/objectstorage.k8s.io/v1alpha1/gcs_types.go

-45
This file was deleted.

0 commit comments

Comments
 (0)