Skip to content

Commit f871f7a

Browse files
kaovilaiclaude
andauthored
OADP-3307: Add Azure and GCP CloudStorage API provider implementations (#1828)
Signed-off-by: Tiger Kaovilai <[email protected]> Co-authored-by: Claude <[email protected]>
1 parent 08fecbd commit f871f7a

23 files changed

+8306
-374
lines changed

api/v1alpha1/cloudstorage_types.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,11 @@ type CloudStorageSpec struct {
4242
// region for the bucket to be in, will be us-east-1 if not set.
4343
Region string `json:"region,omitempty"`
4444
// provider is the provider of the cloud storage
45-
// +kubebuilder:validation:Enum=aws
45+
// +kubebuilder:validation:Enum=aws;azure;gcp
4646
Provider CloudStorageProvider `json:"provider"`
47+
// config is provider-specific configuration options
48+
// +kubebuilder:validation:Optional
49+
Config map[string]string `json:"config,omitempty"`
4750

4851
// https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/storage/[email protected]#section-readme
4952
// azure blob primary endpoint

api/v1alpha1/zz_generated.deepcopy.go

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bundle/manifests/oadp.openshift.io_cloudstorages.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ spec:
3939
type: object
4040
spec:
4141
properties:
42+
config:
43+
additionalProperties:
44+
type: string
45+
description: config is provider-specific configuration options
46+
type: object
4247
creationSecret:
4348
description: creationSecret is the secret that is needed to be used
4449
while creating the bucket.
@@ -75,6 +80,8 @@ spec:
7580
description: provider is the provider of the cloud storage
7681
enum:
7782
- aws
83+
- azure
84+
- gcp
7885
type: string
7986
region:
8087
description: region for the bucket to be in, will be us-east-1 if

config/crd/bases/oadp.openshift.io_cloudstorages.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ spec:
3939
type: object
4040
spec:
4141
properties:
42+
config:
43+
additionalProperties:
44+
type: string
45+
description: config is provider-specific configuration options
46+
type: object
4247
creationSecret:
4348
description: creationSecret is the secret that is needed to be used
4449
while creating the bucket.
@@ -75,6 +80,8 @@ spec:
7580
description: provider is the provider of the cloud storage
7681
enum:
7782
- aws
83+
- azure
84+
- gcp
7885
type: string
7986
region:
8087
description: region for the bucket to be in, will be us-east-1 if

0 commit comments

Comments
 (0)