@@ -26,23 +26,25 @@ const (
2626 ResourceCredentials = "credentials"
2727)
2828
29- // +kubebuilder:validation:Enum=Aws;Azure;AzureStorage;DigitalOcean;GoogleCloud;GoogleOAuth;Linode;Packet;Rancher;Scaleway;Vultr;Swift;Hetzner
29+ // +kubebuilder:validation:Enum=Aws;Azure;AzureStorage;CloudflareStorage; DigitalOcean;GoogleCloud;GoogleOAuth;Hetzner;HetznerStorage ;Linode;Packet;Rancher;Scaleway;Vultr;Swift;Hetzner
3030type CredentialType string
3131
3232const (
33- CredentialTypeAWS CredentialType = "Aws"
34- CredentialTypeAzure CredentialType = "Azure"
35- CredentialTypeAzureStorage CredentialType = "AzureStorage"
36- CredentialTypeDigitalOcean CredentialType = "DigitalOcean"
37- CredentialTypeGoogleCloud CredentialType = "GoogleCloud"
38- CredentialTypeGoogleOAuth CredentialType = "GoogleOAuth"
39- CredentialTypeLinode CredentialType = "Linode"
40- CredentialTypePacket CredentialType = "Packet"
41- CredentialTypeRancher CredentialType = "Rancher"
42- CredentialTypeScaleway CredentialType = "Scaleway"
43- CredentialTypeVultr CredentialType = "Vultr"
44- CredentialTypeSwift CredentialType = "Swift"
45- CredentialTypeHetzner CredentialType = "Hetzner"
33+ CredentialTypeAWS CredentialType = "Aws"
34+ CredentialTypeAzure CredentialType = "Azure"
35+ CredentialTypeAzureStorage CredentialType = "AzureStorage"
36+ CredentialTypeCloudflareStorage CredentialType = "CloudflareStorage"
37+ CredentialTypeDigitalOcean CredentialType = "DigitalOcean"
38+ CredentialTypeGoogleCloud CredentialType = "GoogleCloud"
39+ CredentialTypeGoogleOAuth CredentialType = "GoogleOAuth"
40+ CredentialTypeHetzner CredentialType = "Hetzner"
41+ CredentialTypeHetznerStorage CredentialType = "HetznerStorage"
42+ CredentialTypeLinode CredentialType = "Linode"
43+ CredentialTypePacket CredentialType = "Packet"
44+ CredentialTypeRancher CredentialType = "Rancher"
45+ CredentialTypeScaleway CredentialType = "Scaleway"
46+ CredentialTypeVultr CredentialType = "Vultr"
47+ CredentialTypeSwift CredentialType = "Swift"
4648)
4749
4850// +genclient
@@ -72,12 +74,18 @@ type CredentialSpec struct {
7274 //+optional
7375 AzureStorage * AzureStorageCredential `json:"azureStorage,omitempty"`
7476 //+optional
77+ CloudflareStorage * CloudflareStorageCredential `json:"cloudflareStorage,omitempty"`
78+ //+optional
7579 DigitalOcean * DigitalOceanCredential `json:"digitalocean,omitempty"`
7680 //+optional
7781 GoogleCloud * GoogleCloudCredential `json:"googleCloud,omitempty"`
7882 //+optional
7983 GoogleOAuth * GoogleOAuthCredential `json:"googleOAuth,omitempty"`
8084 //+optional
85+ Hetzner * HetznerCredential `json:"hetzner,omitempty"`
86+ //+optional
87+ HetznerStorage * HetznerStorageCredential `json:"hetznerStorage,omitempty"`
88+ //+optional
8189 Linode * LinodeCredential `json:"linode,omitempty"`
8290 //+optional
8391 Packet * PacketCredential `json:"packet,omitempty"`
@@ -89,8 +97,6 @@ type CredentialSpec struct {
8997 Swift * SwiftCredential `json:"swift,omitempty"`
9098 //+optional
9199 Vultr * VultrCredential `json:"vultr,omitempty"`
92- //+optional
93- Hetzner * HetznerCredential `json:"hetzner,omitempty"`
94100}
95101
96102type GoogleOAuthCredential struct {
@@ -163,11 +169,23 @@ type SwiftCredential struct {
163169 TenantId string `json:"tenantID,omitempty"`
164170 TenantDomain string `json:"tenantDomain,omitempty"`
165171}
172+
166173type HetznerCredential struct {
167174 SSHKeyName string `json:"sshKeyName"`
168175 Token string `json:"token"`
169176}
170177
178+ type HetznerStorageCredential struct {
179+ AccessKeyID string `json:"accessKeyID"`
180+ SecretAccessKey string `json:"secretAccessKey"`
181+ }
182+
183+ type CloudflareStorageCredential struct {
184+ AccountID string `json:"accountID"`
185+ AccessKeyID string `json:"accessKeyID"`
186+ SecretAccessKey string `json:"secretAccessKey"`
187+ }
188+
171189// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
172190// +kubebuilder:object:root=true
173191type CredentialList struct {
0 commit comments