forked from red-hat-data-services/noobaa-operator
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathnoobaa.io_backingstores_crd.yaml
361 lines (361 loc) · 17.7 KB
/
noobaa.io_backingstores_crd.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: backingstores.noobaa.io
spec:
group: noobaa.io
names:
kind: BackingStore
listKind: BackingStoreList
plural: backingstores
singular: backingstore
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Type
jsonPath: .spec.type
name: Type
type: string
- description: Phase
jsonPath: .status.phase
name: Phase
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: BackingStore is the Schema for the backingstores API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: Specification of the desired behavior of the noobaa BackingStore.
properties:
awsS3:
description: AWSS3Spec specifies a backing store of type aws-s3
properties:
region:
description: Region is the AWS region
type: string
secret:
description: Secret refers to a secret that provides the credentials
The secret should define AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
properties:
name:
description: Name is unique within a namespace to reference
a secret resource.
type: string
namespace:
description: Namespace defines the space within which the
secret name must be unique.
type: string
type: object
sslDisabled:
description: SSLDisabled allows to disable SSL and use plain http
type: boolean
targetBucket:
description: TargetBucket is the name of the target S3 bucket
type: string
required:
- secret
- targetBucket
type: object
azureBlob:
description: AzureBlob specifies a backing store of type azure-blob
properties:
secret:
description: Secret refers to a secret that provides the credentials
The secret should define AccountName and AccountKey as provided
by Azure Blob.
properties:
name:
description: Name is unique within a namespace to reference
a secret resource.
type: string
namespace:
description: Namespace defines the space within which the
secret name must be unique.
type: string
type: object
targetBlobContainer:
description: TargetBlobContainer is the name of the target Azure
Blob container
type: string
required:
- secret
- targetBlobContainer
type: object
googleCloudStorage:
description: GoogleCloudStorage specifies a backing store of type
google-cloud-storage
properties:
secret:
description: Secret refers to a secret that provides the credentials
The secret should define GoogleServiceAccountPrivateKeyJson
containing the entire json string as provided by Google.
properties:
name:
description: Name is unique within a namespace to reference
a secret resource.
type: string
namespace:
description: Namespace defines the space within which the
secret name must be unique.
type: string
type: object
targetBucket:
description: TargetBucket is the name of the target S3 bucket
type: string
required:
- secret
- targetBucket
type: object
ibmCos:
description: IBMCos specifies a backing store of type ibm-cos
properties:
endpoint:
description: 'Endpoint is the IBM COS compatible endpoint: http(s)://host:port'
type: string
secret:
description: Secret refers to a secret that provides the credentials
The secret should define IBM_COS_ACCESS_KEY_ID and IBM_COS_SECRET_ACCESS_KEY
properties:
name:
description: Name is unique within a namespace to reference
a secret resource.
type: string
namespace:
description: Namespace defines the space within which the
secret name must be unique.
type: string
type: object
signatureVersion:
description: SignatureVersion specifies the client signature version
to use when signing requests.
type: string
targetBucket:
description: TargetBucket is the name of the target IBM COS bucket
type: string
required:
- endpoint
- secret
- targetBucket
type: object
pvPool:
description: PVPool specifies a backing store of type pv-pool
properties:
numVolumes:
description: NumVolumes is the number of volumes to allocate
type: integer
resources:
description: VolumeResources represents the minimum resources
each volume should have.
properties:
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute
resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
type: object
type: object
secret:
description: Secret refers to a secret that provides the agent
configuration The secret should define AGENT_CONFIG containing
agent_configuration from noobaa-core.
properties:
name:
description: Name is unique within a namespace to reference
a secret resource.
type: string
namespace:
description: Namespace defines the space within which the
secret name must be unique.
type: string
type: object
storageClass:
description: StorageClass is the name of the storage class to
use for the PV's
type: string
required:
- numVolumes
type: object
s3Compatible:
description: S3Compatible specifies a backing store of type s3-compatible
properties:
endpoint:
description: 'Endpoint is the S3 compatible endpoint: http(s)://host:port'
type: string
secret:
description: Secret refers to a secret that provides the credentials
The secret should define AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
properties:
name:
description: Name is unique within a namespace to reference
a secret resource.
type: string
namespace:
description: Namespace defines the space within which the
secret name must be unique.
type: string
type: object
signatureVersion:
description: SignatureVersion specifies the client signature version
to use when signing requests.
type: string
targetBucket:
description: TargetBucket is the name of the target S3 bucket
type: string
required:
- endpoint
- secret
- targetBucket
type: object
type:
description: Type is an enum of supported types
type: string
required:
- type
type: object
status:
description: Most recently observed status of the noobaa BackingStore.
properties:
conditions:
description: Conditions is a list of conditions related to operator
reconciliation
items:
description: Condition represents the state of the operator's reconciliation
functionality.
properties:
lastHeartbeatTime:
format: date-time
type: string
lastTransitionTime:
format: date-time
type: string
message:
type: string
reason:
type: string
status:
type: string
type:
description: ConditionType is the state of the operator's reconciliation
functionality.
type: string
required:
- status
- type
type: object
type: array
mode:
description: Mode specifies the updating mode of a BackingStore
properties:
modeCode:
description: ModeCode specifies the updated mode of backingstore
type: string
timeStamp:
description: TimeStamp specifies the update time of backingstore
new mode
type: string
type: object
phase:
description: Phase is a simple, high-level summary of where the backing
store is in its lifecycle
type: string
relatedObjects:
description: RelatedObjects is a list of objects related to this operator.
items:
description: 'ObjectReference contains enough information to let
you inspect or modify the referred object. --- New uses of this
type are discouraged because of difficulty describing its usage
when embedded in APIs. 1. Ignored fields. It includes many fields
which are not generally honored. For instance, ResourceVersion
and FieldPath are both very rarely valid in actual usage. 2.
Invalid usage help. It is impossible to add specific help for
individual usage. In most embedded usages, there are particular restrictions
like, "must refer only to types A and B" or "UID not honored"
or "name must be restricted". Those cannot be well described
when embedded. 3. Inconsistent validation. Because the usages
are different, the validation rules are different by usage, which
makes it hard for users to predict what will happen. 4. The fields
are both imprecise and overly precise. Kind is not a precise
mapping to a URL. This can produce ambiguity during interpretation
and require a REST mapping. In most cases, the dependency is
on the group,resource tuple and the version of the actual
struct is irrelevant. 5. We cannot easily change it. Because
this type is embedded in many locations, updates to this type will
affect numerous schemas. Don''t make new APIs embed an underspecified
API type they do not control. Instead of using this type, create
a locally provided and used type that is well-focused on your
reference. For example, ServiceReferences for admission registration:
https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
.'
properties:
apiVersion:
description: API version of the referent.
type: string
fieldPath:
description: 'If referring to a piece of an object instead of
an entire object, this string should contain a valid JSON/Go
field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object. TODO: this design is not final and this field is
subject to change in the future.'
type: string
kind:
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
resourceVersion:
description: 'Specific resourceVersion to which this reference
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
type: string
uid:
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
type: string
type: object
type: array
type: object
type: object
served: true
storage: true
subresources:
status: {}