forked from noobaa/noobaa-operator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnoobaa.io_namespacestores_crd.yaml
307 lines (307 loc) · 14.6 KB
/
noobaa.io_namespacestores_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
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: namespacestores.noobaa.io
spec:
group: noobaa.io
names:
kind: NamespaceStore
listKind: NamespaceStoreList
plural: namespacestores
singular: namespacestore
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: NamespaceStore is the Schema for the namespacestores 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 NamespaceStore.
properties:
accessMode:
description: AccessMode is an enum of supported access modes
type: string
awsS3:
description: AWSS3Spec specifies a namespace store of type aws-s3
properties:
awsSTSRoleARN:
type: string
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:
- targetBucket
type: object
azureBlob:
description: AzureBlob specifies a namespace 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
ibmCos:
description: IBMCos specifies a namespace 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
nsfs:
description: NSFS specifies a namespace store of type nsfs
properties:
fsBackend:
description: FsBackend is the backend type of the file system
enum:
- CEPH_FS
- GPFS
- NFSv4
type: string
pvcName:
description: PvcName is the name of the pvc in which the file
system resides
type: string
subPath:
description: SubPath is a path to a sub directory in the pvc file
system
type: string
required:
- pvcName
type: object
s3Compatible:
description: S3Compatible specifies a namespace 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 NamespaceStore.
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 NamespaceStore
properties:
modeCode:
description: ModeCode specifies the updated mode of namespacestore
type: string
timeStamp:
description: TimeStamp specifies the update time of namespacestore
new mode
type: string
type: object
phase:
description: Phase is a simple, high-level summary of where the namespace
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: {}