forked from gardener/gardener
/
10-crd-operator.gardener.cloud_gardens.yaml
356 lines (356 loc) · 16.8 KB
/
10-crd-operator.gardener.cloud_gardens.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
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.1
creationTimestamp: null
name: gardens.operator.gardener.cloud
spec:
group: operator.gardener.cloud
names:
kind: Garden
listKind: GardenList
plural: gardens
shortNames:
- grdn
singular: garden
scope: Cluster
versions:
- additionalPrinterColumns:
- description: Indicates whether the garden has been reconciled.
jsonPath: .status.conditions[?(@.type=="Reconciled")].status
name: Reconciled
type: string
- description: creation timestamp
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: Garden describes a list of gardens.
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: Spec contains the specification of this garden.
properties:
runtimeCluster:
description: RuntimeCluster contains configuration for the runtime
cluster.
properties:
provider:
description: Provider defines the provider-specific information
for this cluster.
properties:
zones:
description: Zones is the list of availability zones the cluster
is deployed to.
items:
type: string
type: array
type: object
settings:
description: Settings contains certain settings for this cluster.
properties:
loadBalancerServices:
description: LoadBalancerServices controls certain settings
for services of type load balancer that are created in the
runtime cluster.
properties:
annotations:
additionalProperties:
type: string
description: Annotations is a map of annotations that
will be injected/merged into every load balancer service
object.
type: object
type: object
verticalPodAutoscaler:
description: VerticalPodAutoscaler controls certain settings
for the vertical pod autoscaler components deployed in the
cluster.
properties:
enabled:
default: true
description: Enabled controls whether the VPA components
shall be deployed into this cluster. It is true by default
because the operator (and Gardener) heavily rely on
a VPA being deployed. You should only disable this if
your runtime cluster already has another, manually/custom
managed VPA deployment. If this is not the case, but
you still disable it, then reconciliation will fail.
type: boolean
type: object
type: object
required:
- provider
type: object
virtualCluster:
description: VirtualCluster contains configuration for the virtual
cluster.
properties:
controlPlane:
description: ControlPlane holds information about the general
settings for the control plane of the virtual cluster.
properties:
highAvailability:
description: HighAvailability holds the configuration settings
for high availability settings.
type: object
type: object
etcd:
description: ETCD contains configuration for the etcds of the
virtual garden cluster.
properties:
events:
description: Events contains configuration for the events
etcd.
properties:
storage:
description: Storage contains storage configuration.
properties:
capacity:
anyOf:
- type: integer
- type: string
default: 10Gi
description: Capacity is the storage capacity for
the volumes.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
className:
description: ClassName is the name of a storage class.
type: string
type: object
type: object
main:
description: Main contains configuration for the main etcd.
properties:
backup:
description: Backup contains the object store configuration
for backups for the virtual garden etcd.
properties:
bucketName:
description: BucketName is the name of the backup
bucket.
type: string
x-kubernetes-validations:
- message: BucketName is immutable
rule: self == oldSelf
provider:
description: Provider is a provider name. This field
is immutable.
type: string
x-kubernetes-validations:
- message: Provider is immutable
rule: self == oldSelf
secretRef:
description: SecretRef is a reference to a Secret
object containing the cloud provider credentials
for the object store where backups should be stored.
It should have enough privileges to manipulate the
objects as well as buckets.
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
x-kubernetes-map-type: atomic
required:
- bucketName
- provider
- secretRef
type: object
storage:
description: Storage contains storage configuration.
properties:
capacity:
anyOf:
- type: integer
- type: string
default: 10Gi
description: Capacity is the storage capacity for
the volumes.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
className:
description: ClassName is the name of a storage class.
type: string
type: object
type: object
type: object
maintenance:
description: Maintenance contains information about the time window
for maintenance operations.
properties:
timeWindow:
description: TimeWindow contains information about the time
window for maintenance operations.
properties:
begin:
description: Begin is the beginning of the time window
in the format HHMMSS+ZONE, e.g. "220000+0100". If not
present, a random value will be computed.
pattern: ([0-1][0-9]|2[0-3])[0-5][0-9][0-5][0-9]\+[0-1][0-4]00
type: string
end:
description: End is the end of the time window in the
format HHMMSS+ZONE, e.g. "220000+0100". If not present,
the value will be computed based on the "Begin" value.
pattern: ([0-1][0-9]|2[0-3])[0-5][0-9][0-5][0-9]\+[0-1][0-4]00
type: string
required:
- begin
- end
type: object
required:
- timeWindow
type: object
required:
- maintenance
type: object
required:
- runtimeCluster
- virtualCluster
type: object
status:
description: Status contains the status of this garden.
properties:
conditions:
description: Conditions is a list of conditions.
items:
description: Condition holds the information about the state of
a resource.
properties:
codes:
description: Well-defined error codes in case the condition
reports a problem.
items:
description: ErrorCode is a string alias.
type: string
type: array
lastTransitionTime:
description: Last time the condition transitioned from one status
to another.
format: date-time
type: string
lastUpdateTime:
description: Last time the condition was updated.
format: date-time
type: string
message:
description: A human readable message indicating details about
the transition.
type: string
reason:
description: The reason for the condition's last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of the condition.
type: string
required:
- lastTransitionTime
- lastUpdateTime
- message
- reason
- status
- type
type: object
type: array
credentials:
description: Credentials contains information about the virtual garden
cluster credentials.
properties:
rotation:
description: Rotation contains information about the credential
rotations.
properties:
certificateAuthorities:
description: CertificateAuthorities contains information about
the certificate authority credential rotation.
properties:
lastCompletionTime:
description: LastCompletionTime is the most recent time
when the certificate authority credential rotation was
successfully completed.
format: date-time
type: string
lastCompletionTriggeredTime:
description: LastCompletionTriggeredTime is the recent
time when the certificate authority credential rotation
completion was triggered.
format: date-time
type: string
lastInitiationFinishedTime:
description: LastInitiationFinishedTime is the recent
time when the certificate authority credential rotation
initiation was completed.
format: date-time
type: string
lastInitiationTime:
description: LastInitiationTime is the most recent time
when the certificate authority credential rotation was
initiated.
format: date-time
type: string
phase:
description: Phase describes the phase of the certificate
authority credential rotation.
type: string
required:
- phase
type: object
type: object
type: object
gardener:
description: Gardener holds information about the Gardener which last
acted on the Garden.
properties:
id:
description: ID is the Docker container id of the Gardener which
last acted on a resource.
type: string
name:
description: Name is the hostname (pod name) of the Gardener which
last acted on a resource.
type: string
version:
description: Version is the version of the Gardener which last
acted on a resource.
type: string
required:
- id
- name
- version
type: object
observedGeneration:
description: ObservedGeneration is the most recent generation observed
for this resource.
format: int64
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}