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

Update the code with latest KEP #55

Merged
merged 25 commits into from
Jul 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
a581c87
codegen update to the code
thotz Feb 24, 2022
c2761d4
Remove BucketAccessRequest from api
thotz Feb 24, 2022
0cf4ade
Replacing BucketRequest with BucketClaim
thotz Mar 3, 2022
b22351f
Fixing the code generation scripts
mukhoakash Jul 8, 2022
98d0f71
Removing unstructured and improper package named code
mukhoakash Jul 8, 2022
5a5ffb3
Updating the gitignore
mukhoakash Jul 8, 2022
c6e4262
Introducing the vendor directory
mukhoakash Jul 8, 2022
8618747
Adding the new apis resource name
mukhoakash Jul 8, 2022
f7de869
Updating the go version and the related go.mod and go.sum changes
mukhoakash Jul 8, 2022
aa6f5db
Fixing logging from the Makefile
mukhoakash Jul 8, 2022
46fdca1
Adding the newest listeners to the controller
mukhoakash Jul 8, 2022
f0eeae8
Removing debug message from script
mukhoakash Jul 8, 2022
85c7f85
Removing BucketInfo from api
mukhoakash Jul 8, 2022
4459814
Deepcopy generated file
mukhoakash Jul 8, 2022
66cdf92
Updating the CRDs
mukhoakash Jul 8, 2022
fd609e7
Code generated client pkg
mukhoakash Jul 8, 2022
7e8883c
Updated the README
mukhoakash Jul 8, 2022
ae86be8
Referencing objectstorage groupname from v1alpha1 package
mukhoakash Jul 8, 2022
f920d1b
Marking api as approved in kustomize file
mukhoakash Jul 8, 2022
4d1bb13
Fixing enum order
mukhoakash Jul 11, 2022
7df63f2
Introducing BucketInfo in the api. Not generating CRDs for them.
mukhoakash Jul 11, 2022
aabe21e
Removing bucketinfo clients
mukhoakash Jul 12, 2022
1dc78f7
Fixing update-crd script to generate crds from the objectstorage dire…
mukhoakash Jul 12, 2022
4b437c9
Fixing build
mukhoakash Jul 14, 2022
2833476
Fixing intendation
mukhoakash Jul 19, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
.build
*.swp
release-tools
vendor
.idea
.idea
travis.yml

6 changes: 5 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ build:
test:
unit:
codegen:
$(shell ./hack/update-codegen.sh)
@echo "Running update-codegen to generate the code..."
bash ./hack/update-codegen.sh

@echo "Running update-crd to generate the crd..."
bash ./hack/update-crd.sh

include release-tools/build.make
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,12 @@

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
- BucketClaim - 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

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

All API definitions are in [`apis/objectstorage.k8s.io/`](./apis/objectstorage.k8s.io/). All API changes **_MUST_** satisfy the following requirements:
All API definitions are in [`apis/objectstorage.k8s.io/`](./apis/objectstorage/). 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](https://sigs.k8s.io/container-object-storage-interface-spec)
Expand Down
57 changes: 57 additions & 0 deletions apis/bucket_info.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
/*
Copyright 2020 The Kubernetes Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/


package cosiapi

import (
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

// +k8s:deepcopy-gen=false
type BucketInfo struct {
metav1.TypeMeta `json:",inline"`

// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`

Spec BucketInfoSpec `json:"spec,omitempty"`
}

type BucketInfoSpec struct {
// BucketName is the name of the Bucket
BucketName string `json:"bucketName"`

// AuthenticationType denotes the style of authentication
// It can be one of
// KEY - access, secret tokens based authentication
// IAM - implicit authentication of pods to the OSP based on service account mappings
AuthenticationType AuthenticationType `json:"authenticationType"`

// Endpoint is the URL at which the bucket can be accessed
Endpoint string `json:"endpoint"`

// Region is the vendor-defined region where the bucket "resides"
Region string `json:"region"`

// Protocols are the set of data APIs this bucket is expected to support.
// The possible values for protocol are:
// - S3: Indicates Amazon S3 protocol
// - Azure: Indicates Microsoft Azure BlobStore protocol
// - GCS: Indicates Google Cloud Storage protocol
Protocols []Protocol `json:"protocols"`
}
39 changes: 0 additions & 39 deletions apis/objectstorage.k8s.io/v1alpha1/azure_types.go

This file was deleted.

45 changes: 0 additions & 45 deletions apis/objectstorage.k8s.io/v1alpha1/gcs_types.go

This file was deleted.

Loading