blob: e3a6190950e8e32712fac994d183a7ce78fa4c69 [file] [log] [blame]
okozachenko120323147262023-01-28 04:16:42 +11001{{- if .Values.crds.enabled }}
Mohammed Naser65cda132024-05-02 14:34:08 -04002---
okozachenko120323147262023-01-28 04:16:42 +11003apiVersion: apiextensions.k8s.io/v1
4kind: CustomResourceDefinition
5metadata:
6 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -04007 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +11008 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +11009 name: cephblockpoolradosnamespaces.ceph.rook.io
10spec:
11 group: ceph.rook.io
12 names:
13 kind: CephBlockPoolRadosNamespace
14 listKind: CephBlockPoolRadosNamespaceList
15 plural: cephblockpoolradosnamespaces
16 singular: cephblockpoolradosnamespace
17 scope: Namespaced
18 versions:
Mohammed Naser65cda132024-05-02 14:34:08 -040019 - additionalPrinterColumns:
20 - jsonPath: .status.phase
21 name: Phase
22 type: string
23 - description: Name of the Ceph BlockPool
24 jsonPath: .spec.blockPoolName
25 name: BlockPool
26 type: string
27 - jsonPath: .metadata.creationTimestamp
28 name: Age
29 type: date
30 name: v1
okozachenko120323147262023-01-28 04:16:42 +110031 schema:
32 openAPIV3Schema:
33 description: CephBlockPoolRadosNamespace represents a Ceph BlockPool Rados Namespace
34 properties:
35 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -040036 description: |-
37 APIVersion defines the versioned schema of this representation of an object.
38 Servers should convert recognized schemas to the latest internal value, and
39 may reject unrecognized values.
40 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +110041 type: string
42 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -040043 description: |-
44 Kind is a string value representing the REST resource this object represents.
45 Servers may infer this from the endpoint the client submits requests to.
46 Cannot be updated.
47 In CamelCase.
48 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +110049 type: string
50 metadata:
51 type: object
52 spec:
53 description: Spec represents the specification of a Ceph BlockPool Rados Namespace
54 properties:
55 blockPoolName:
Mohammed Naser65cda132024-05-02 14:34:08 -040056 description: |-
57 BlockPoolName is the name of Ceph BlockPool. Typically it's the name of
58 the CephBlockPool CR.
okozachenko120323147262023-01-28 04:16:42 +110059 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040060 x-kubernetes-validations:
61 - message: blockPoolName is immutable
62 rule: self == oldSelf
63 name:
64 description: The name of the CephBlockPoolRadosNamespaceSpec namespace. If not set, the default is the name of the CR.
65 type: string
66 x-kubernetes-validations:
67 - message: name is immutable
68 rule: self == oldSelf
okozachenko120323147262023-01-28 04:16:42 +110069 required:
70 - blockPoolName
71 type: object
72 status:
73 description: Status represents the status of a CephBlockPool Rados Namespace
74 properties:
75 info:
76 additionalProperties:
77 type: string
78 nullable: true
79 type: object
80 phase:
81 description: ConditionType represent a resource's status
82 type: string
83 type: object
84 x-kubernetes-preserve-unknown-fields: true
85 required:
86 - metadata
87 - spec
88 type: object
89 served: true
90 storage: true
91 subresources:
92 status: {}
okozachenko120323147262023-01-28 04:16:42 +110093---
94apiVersion: apiextensions.k8s.io/v1
95kind: CustomResourceDefinition
96metadata:
97 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -040098 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +110099 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +1100100 name: cephblockpools.ceph.rook.io
101spec:
102 group: ceph.rook.io
103 names:
104 kind: CephBlockPool
105 listKind: CephBlockPoolList
106 plural: cephblockpools
107 singular: cephblockpool
108 scope: Namespaced
109 versions:
110 - additionalPrinterColumns:
111 - jsonPath: .status.phase
112 name: Phase
113 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -0400114 - jsonPath: .status.info.type
115 name: Type
116 type: string
117 - jsonPath: .status.info.failureDomain
118 name: FailureDomain
119 type: string
120 - jsonPath: .spec.replicated.size
121 name: Replication
122 priority: 1
123 type: integer
124 - jsonPath: .spec.erasureCoded.codingChunks
125 name: EC-CodingChunks
126 priority: 1
127 type: integer
128 - jsonPath: .spec.erasureCoded.dataChunks
129 name: EC-DataChunks
130 priority: 1
131 type: integer
132 - jsonPath: .metadata.creationTimestamp
133 name: Age
134 type: date
okozachenko120323147262023-01-28 04:16:42 +1100135 name: v1
136 schema:
137 openAPIV3Schema:
138 description: CephBlockPool represents a Ceph Storage Pool
139 properties:
140 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -0400141 description: |-
142 APIVersion defines the versioned schema of this representation of an object.
143 Servers should convert recognized schemas to the latest internal value, and
144 may reject unrecognized values.
145 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +1100146 type: string
147 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -0400148 description: |-
149 Kind is a string value representing the REST resource this object represents.
150 Servers may infer this from the endpoint the client submits requests to.
151 Cannot be updated.
152 In CamelCase.
153 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +1100154 type: string
155 metadata:
156 type: object
157 spec:
Mohammed Naser65cda132024-05-02 14:34:08 -0400158 description: |-
159 NamedBlockPoolSpec allows a block pool to be created with a non-default name.
160 This is more specific than the NamedPoolSpec so we get schema validation on the
161 allowed pool names that can be specified.
okozachenko120323147262023-01-28 04:16:42 +1100162 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -0400163 application:
164 description: The application name to set on the pool. Only expected to be set for rgw pools.
165 type: string
okozachenko120323147262023-01-28 04:16:42 +1100166 compressionMode:
Mohammed Naser65cda132024-05-02 14:34:08 -0400167 description: |-
168 DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force"
169 The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
170 Do NOT set a default value for kubebuilder as this will override the Parameters
okozachenko120323147262023-01-28 04:16:42 +1100171 enum:
172 - none
173 - passive
174 - aggressive
175 - force
176 - ""
177 nullable: true
178 type: string
179 crushRoot:
180 description: The root of the crush hierarchy utilized by the pool
181 nullable: true
182 type: string
183 deviceClass:
184 description: The device class the OSD should set to for use in the pool
185 nullable: true
186 type: string
187 enableRBDStats:
188 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
189 type: boolean
190 erasureCoded:
191 description: The erasure code settings
192 properties:
193 algorithm:
194 description: The algorithm for erasure coding
195 type: string
196 codingChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -0400197 description: |-
198 Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
199 This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
okozachenko120323147262023-01-28 04:16:42 +1100200 minimum: 0
201 type: integer
202 dataChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -0400203 description: |-
204 Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
205 The number of chunks required to recover an object when any single OSD is lost is the same
206 as dataChunks so be aware that the larger the number of data chunks, the higher the cost of recovery.
okozachenko120323147262023-01-28 04:16:42 +1100207 minimum: 0
208 type: integer
209 required:
210 - codingChunks
211 - dataChunks
212 type: object
213 failureDomain:
214 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
215 type: string
216 mirroring:
217 description: The mirroring settings
218 properties:
219 enabled:
220 description: Enabled whether this pool is mirrored or not
221 type: boolean
222 mode:
223 description: 'Mode is the mirroring mode: either pool or image'
224 type: string
225 peers:
226 description: Peers represents the peers spec
227 nullable: true
228 properties:
229 secretNames:
230 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
231 items:
232 type: string
233 type: array
234 type: object
235 snapshotSchedules:
236 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
237 items:
238 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
239 properties:
240 interval:
241 description: Interval represent the periodicity of the snapshot.
242 type: string
243 path:
244 description: Path is the path to snapshot, only valid for CephFS
245 type: string
246 startTime:
247 description: StartTime indicates when to start the snapshot
248 type: string
249 type: object
250 type: array
251 type: object
252 name:
253 description: The desired name of the pool if different from the CephBlockPool CR name.
254 enum:
Mohammed Naser65cda132024-05-02 14:34:08 -0400255 - .rgw.root
okozachenko120323147262023-01-28 04:16:42 +1100256 - .nfs
257 - .mgr
258 type: string
259 parameters:
260 additionalProperties:
261 type: string
262 description: Parameters is a list of properties to enable on a given pool
263 nullable: true
264 type: object
265 x-kubernetes-preserve-unknown-fields: true
266 quotas:
267 description: The quota settings
268 nullable: true
269 properties:
270 maxBytes:
Mohammed Naser65cda132024-05-02 14:34:08 -0400271 description: |-
272 MaxBytes represents the quota in bytes
273 Deprecated in favor of MaxSize
okozachenko120323147262023-01-28 04:16:42 +1100274 format: int64
275 type: integer
276 maxObjects:
277 description: MaxObjects represents the quota in objects
278 format: int64
279 type: integer
280 maxSize:
281 description: MaxSize represents the quota in bytes as a string
282 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
283 type: string
284 type: object
285 replicated:
286 description: The replication settings
287 properties:
288 hybridStorage:
289 description: HybridStorage represents hybrid storage tier settings
290 nullable: true
291 properties:
292 primaryDeviceClass:
293 description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
294 minLength: 1
295 type: string
296 secondaryDeviceClass:
297 description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
298 minLength: 1
299 type: string
300 required:
301 - primaryDeviceClass
302 - secondaryDeviceClass
303 type: object
304 replicasPerFailureDomain:
305 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
306 minimum: 1
307 type: integer
308 requireSafeReplicaSize:
309 description: RequireSafeReplicaSize if false allows you to set replica 1
310 type: boolean
311 size:
312 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
313 minimum: 0
314 type: integer
315 subFailureDomain:
316 description: SubFailureDomain the name of the sub-failure domain
317 type: string
318 targetSizeRatio:
319 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
320 type: number
321 required:
322 - size
323 type: object
324 statusCheck:
325 description: The mirroring statusCheck
326 properties:
327 mirror:
328 description: HealthCheckSpec represents the health check of an object store bucket
329 nullable: true
330 properties:
331 disabled:
332 type: boolean
333 interval:
334 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
335 type: string
336 timeout:
337 type: string
338 type: object
339 type: object
340 x-kubernetes-preserve-unknown-fields: true
341 type: object
342 status:
343 description: CephBlockPoolStatus represents the mirroring status of Ceph Storage Pool
344 properties:
345 conditions:
346 items:
347 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
348 properties:
349 lastHeartbeatTime:
350 format: date-time
351 type: string
352 lastTransitionTime:
353 format: date-time
354 type: string
355 message:
356 type: string
357 reason:
358 description: ConditionReason is a reason for a condition
359 type: string
360 status:
361 type: string
362 type:
363 description: ConditionType represent a resource's status
364 type: string
365 type: object
366 type: array
367 info:
368 additionalProperties:
369 type: string
370 nullable: true
371 type: object
372 mirroringInfo:
373 description: MirroringInfoSpec is the status of the pool mirroring
374 properties:
375 details:
376 type: string
377 lastChanged:
378 type: string
379 lastChecked:
380 type: string
381 mode:
382 description: Mode is the mirroring mode
383 type: string
384 peers:
385 description: Peers are the list of peer sites connected to that cluster
386 items:
387 description: PeersSpec contains peer details
388 properties:
389 client_name:
390 description: ClientName is the CephX user used to connect to the peer
391 type: string
392 direction:
393 description: Direction is the peer mirroring direction
394 type: string
395 mirror_uuid:
396 description: MirrorUUID is the mirror UUID
397 type: string
398 site_name:
399 description: SiteName is the current site name
400 type: string
401 uuid:
402 description: UUID is the peer UUID
403 type: string
404 type: object
405 type: array
406 site_name:
407 description: SiteName is the current site name
408 type: string
409 type: object
410 mirroringStatus:
411 description: MirroringStatusSpec is the status of the pool mirroring
412 properties:
413 details:
414 description: Details contains potential status errors
415 type: string
416 lastChanged:
417 description: LastChanged is the last time time the status last changed
418 type: string
419 lastChecked:
420 description: LastChecked is the last time time the status was checked
421 type: string
422 summary:
423 description: Summary is the mirroring status summary
424 properties:
425 daemon_health:
426 description: DaemonHealth is the health of the mirroring daemon
427 type: string
428 health:
429 description: Health is the mirroring health
430 type: string
431 image_health:
432 description: ImageHealth is the health of the mirrored image
433 type: string
434 states:
435 description: States is the various state for all mirrored images
436 nullable: true
437 properties:
438 error:
439 description: Error is when the mirroring state is errored
440 type: integer
441 replaying:
442 description: Replaying is when the replay of the mirroring journal is on-going
443 type: integer
444 starting_replay:
445 description: StartingReplay is when the replay of the mirroring journal starts
446 type: integer
447 stopped:
448 description: Stopped is when the mirroring state is stopped
449 type: integer
450 stopping_replay:
451 description: StopReplaying is when the replay of the mirroring journal stops
452 type: integer
453 syncing:
454 description: Syncing is when the image is syncing
455 type: integer
456 unknown:
457 description: Unknown is when the mirroring state is unknown
458 type: integer
459 type: object
460 type: object
461 type: object
462 observedGeneration:
463 description: ObservedGeneration is the latest generation observed by the controller.
464 format: int64
465 type: integer
466 phase:
467 description: ConditionType represent a resource's status
468 type: string
469 snapshotScheduleStatus:
470 description: SnapshotScheduleStatusSpec is the status of the snapshot schedule
471 properties:
472 details:
473 description: Details contains potential status errors
474 type: string
475 lastChanged:
476 description: LastChanged is the last time time the status last changed
477 type: string
478 lastChecked:
479 description: LastChecked is the last time time the status was checked
480 type: string
481 snapshotSchedules:
482 description: SnapshotSchedules is the list of snapshots scheduled
483 items:
484 description: SnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool
485 properties:
486 image:
487 description: Image is the mirrored image
488 type: string
489 items:
490 description: Items is the list schedules times for a given snapshot
491 items:
492 description: SnapshotSchedule is a schedule
493 properties:
494 interval:
495 description: Interval is the interval in which snapshots will be taken
496 type: string
497 start_time:
498 description: StartTime is the snapshot starting time
499 type: string
500 type: object
501 type: array
502 namespace:
503 description: Namespace is the RADOS namespace the image is part of
504 type: string
505 pool:
506 description: Pool is the pool name
507 type: string
508 type: object
509 nullable: true
510 type: array
511 type: object
512 type: object
513 x-kubernetes-preserve-unknown-fields: true
514 required:
515 - metadata
516 - spec
517 type: object
518 served: true
519 storage: true
520 subresources:
521 status: {}
okozachenko120323147262023-01-28 04:16:42 +1100522---
523apiVersion: apiextensions.k8s.io/v1
524kind: CustomResourceDefinition
525metadata:
526 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -0400527 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +1100528 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +1100529 name: cephbucketnotifications.ceph.rook.io
530spec:
531 group: ceph.rook.io
532 names:
533 kind: CephBucketNotification
534 listKind: CephBucketNotificationList
535 plural: cephbucketnotifications
536 singular: cephbucketnotification
537 scope: Namespaced
538 versions:
539 - name: v1
540 schema:
541 openAPIV3Schema:
542 description: CephBucketNotification represents a Bucket Notifications
543 properties:
544 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -0400545 description: |-
546 APIVersion defines the versioned schema of this representation of an object.
547 Servers should convert recognized schemas to the latest internal value, and
548 may reject unrecognized values.
549 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +1100550 type: string
551 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -0400552 description: |-
553 Kind is a string value representing the REST resource this object represents.
554 Servers may infer this from the endpoint the client submits requests to.
555 Cannot be updated.
556 In CamelCase.
557 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +1100558 type: string
559 metadata:
560 type: object
561 spec:
562 description: BucketNotificationSpec represent the spec of a Bucket Notification
563 properties:
564 events:
565 description: List of events that should trigger the notification
566 items:
567 description: BucketNotificationSpec represent the event type of the bucket notification
568 enum:
569 - s3:ObjectCreated:*
570 - s3:ObjectCreated:Put
571 - s3:ObjectCreated:Post
572 - s3:ObjectCreated:Copy
573 - s3:ObjectCreated:CompleteMultipartUpload
574 - s3:ObjectRemoved:*
575 - s3:ObjectRemoved:Delete
576 - s3:ObjectRemoved:DeleteMarkerCreated
577 type: string
578 type: array
579 filter:
580 description: Spec of notification filter
581 properties:
582 keyFilters:
583 description: Filters based on the object's key
584 items:
585 description: NotificationKeyFilterRule represent a single key rule in the Notification Filter spec
586 properties:
587 name:
588 description: Name of the filter - prefix/suffix/regex
589 enum:
590 - prefix
591 - suffix
592 - regex
593 type: string
594 value:
595 description: Value to filter on
596 type: string
597 required:
598 - name
599 - value
600 type: object
601 type: array
602 metadataFilters:
603 description: Filters based on the object's metadata
604 items:
605 description: NotificationFilterRule represent a single rule in the Notification Filter spec
606 properties:
607 name:
608 description: Name of the metadata or tag
609 minLength: 1
610 type: string
611 value:
612 description: Value to filter on
613 type: string
614 required:
615 - name
616 - value
617 type: object
618 type: array
619 tagFilters:
620 description: Filters based on the object's tags
621 items:
622 description: NotificationFilterRule represent a single rule in the Notification Filter spec
623 properties:
624 name:
625 description: Name of the metadata or tag
626 minLength: 1
627 type: string
628 value:
629 description: Value to filter on
630 type: string
631 required:
632 - name
633 - value
634 type: object
635 type: array
636 type: object
637 topic:
638 description: The name of the topic associated with this notification
639 minLength: 1
640 type: string
641 required:
642 - topic
643 type: object
644 status:
645 description: Status represents the status of an object
646 properties:
647 conditions:
648 items:
649 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
650 properties:
651 lastHeartbeatTime:
652 format: date-time
653 type: string
654 lastTransitionTime:
655 format: date-time
656 type: string
657 message:
658 type: string
659 reason:
660 description: ConditionReason is a reason for a condition
661 type: string
662 status:
663 type: string
664 type:
665 description: ConditionType represent a resource's status
666 type: string
667 type: object
668 type: array
669 observedGeneration:
670 description: ObservedGeneration is the latest generation observed by the controller.
671 format: int64
672 type: integer
673 phase:
674 type: string
675 type: object
676 x-kubernetes-preserve-unknown-fields: true
677 required:
678 - metadata
679 - spec
680 type: object
681 served: true
682 storage: true
683 subresources:
684 status: {}
okozachenko120323147262023-01-28 04:16:42 +1100685---
686apiVersion: apiextensions.k8s.io/v1
687kind: CustomResourceDefinition
688metadata:
689 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -0400690 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +1100691 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +1100692 name: cephbuckettopics.ceph.rook.io
693spec:
694 group: ceph.rook.io
695 names:
696 kind: CephBucketTopic
697 listKind: CephBucketTopicList
698 plural: cephbuckettopics
699 singular: cephbuckettopic
700 scope: Namespaced
701 versions:
702 - additionalPrinterColumns:
703 - jsonPath: .status.phase
704 name: Phase
705 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -0400706 - jsonPath: .metadata.creationTimestamp
707 name: Age
708 type: date
okozachenko120323147262023-01-28 04:16:42 +1100709 name: v1
710 schema:
711 openAPIV3Schema:
712 description: CephBucketTopic represents a Ceph Object Topic for Bucket Notifications
713 properties:
714 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -0400715 description: |-
716 APIVersion defines the versioned schema of this representation of an object.
717 Servers should convert recognized schemas to the latest internal value, and
718 may reject unrecognized values.
719 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +1100720 type: string
721 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -0400722 description: |-
723 Kind is a string value representing the REST resource this object represents.
724 Servers may infer this from the endpoint the client submits requests to.
725 Cannot be updated.
726 In CamelCase.
727 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +1100728 type: string
729 metadata:
730 type: object
731 spec:
732 description: BucketTopicSpec represent the spec of a Bucket Topic
733 properties:
734 endpoint:
735 description: Contains the endpoint spec of the topic
736 properties:
737 amqp:
738 description: Spec of AMQP endpoint
739 properties:
740 ackLevel:
741 default: broker
742 description: The ack level required for this topic (none/broker/routeable)
743 enum:
744 - none
745 - broker
746 - routeable
747 type: string
748 disableVerifySSL:
749 description: Indicate whether the server certificate is validated by the client or not
750 type: boolean
751 exchange:
752 description: Name of the exchange that is used to route messages based on topics
753 minLength: 1
754 type: string
755 uri:
756 description: The URI of the AMQP endpoint to push notification to
757 minLength: 1
758 type: string
759 required:
760 - exchange
761 - uri
762 type: object
763 http:
764 description: Spec of HTTP endpoint
765 properties:
766 disableVerifySSL:
767 description: Indicate whether the server certificate is validated by the client or not
768 type: boolean
769 sendCloudEvents:
Mohammed Naser65cda132024-05-02 14:34:08 -0400770 description: 'Send the notifications with the CloudEvents header: https://github.com/cloudevents/spec/blob/main/cloudevents/adapters/aws-s3.md'
okozachenko120323147262023-01-28 04:16:42 +1100771 type: boolean
772 uri:
773 description: The URI of the HTTP endpoint to push notification to
774 minLength: 1
775 type: string
776 required:
777 - uri
778 type: object
779 kafka:
780 description: Spec of Kafka endpoint
781 properties:
782 ackLevel:
783 default: broker
784 description: The ack level required for this topic (none/broker)
785 enum:
786 - none
787 - broker
788 type: string
789 disableVerifySSL:
790 description: Indicate whether the server certificate is validated by the client or not
791 type: boolean
792 uri:
793 description: The URI of the Kafka endpoint to push notification to
794 minLength: 1
795 type: string
796 useSSL:
797 description: Indicate whether to use SSL when communicating with the broker
798 type: boolean
799 required:
800 - uri
801 type: object
802 type: object
803 objectStoreName:
804 description: The name of the object store on which to define the topic
805 minLength: 1
806 type: string
807 objectStoreNamespace:
808 description: The namespace of the object store on which to define the topic
809 minLength: 1
810 type: string
811 opaqueData:
812 description: Data which is sent in each event
813 type: string
814 persistent:
815 description: Indication whether notifications to this endpoint are persistent or not
816 type: boolean
817 required:
818 - endpoint
819 - objectStoreName
820 - objectStoreNamespace
821 type: object
822 status:
823 description: BucketTopicStatus represents the Status of a CephBucketTopic
824 properties:
825 ARN:
826 description: The ARN of the topic generated by the RGW
827 nullable: true
828 type: string
829 observedGeneration:
830 description: ObservedGeneration is the latest generation observed by the controller.
831 format: int64
832 type: integer
833 phase:
834 type: string
835 type: object
836 x-kubernetes-preserve-unknown-fields: true
837 required:
838 - metadata
839 - spec
840 type: object
841 served: true
842 storage: true
843 subresources:
844 status: {}
okozachenko120323147262023-01-28 04:16:42 +1100845---
846apiVersion: apiextensions.k8s.io/v1
847kind: CustomResourceDefinition
848metadata:
849 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -0400850 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +1100851 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +1100852 name: cephclients.ceph.rook.io
853spec:
854 group: ceph.rook.io
855 names:
856 kind: CephClient
857 listKind: CephClientList
858 plural: cephclients
859 singular: cephclient
860 scope: Namespaced
861 versions:
862 - additionalPrinterColumns:
863 - jsonPath: .status.phase
864 name: Phase
865 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -0400866 - jsonPath: .metadata.creationTimestamp
867 name: Age
868 type: date
okozachenko120323147262023-01-28 04:16:42 +1100869 name: v1
870 schema:
871 openAPIV3Schema:
872 description: CephClient represents a Ceph Client
873 properties:
874 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -0400875 description: |-
876 APIVersion defines the versioned schema of this representation of an object.
877 Servers should convert recognized schemas to the latest internal value, and
878 may reject unrecognized values.
879 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +1100880 type: string
881 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -0400882 description: |-
883 Kind is a string value representing the REST resource this object represents.
884 Servers may infer this from the endpoint the client submits requests to.
885 Cannot be updated.
886 In CamelCase.
887 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +1100888 type: string
889 metadata:
890 type: object
891 spec:
892 description: Spec represents the specification of a Ceph Client
893 properties:
894 caps:
895 additionalProperties:
896 type: string
897 type: object
898 x-kubernetes-preserve-unknown-fields: true
899 name:
900 type: string
901 required:
902 - caps
903 type: object
904 status:
905 description: Status represents the status of a Ceph Client
906 properties:
907 info:
908 additionalProperties:
909 type: string
910 nullable: true
911 type: object
912 observedGeneration:
913 description: ObservedGeneration is the latest generation observed by the controller.
914 format: int64
915 type: integer
916 phase:
917 description: ConditionType represent a resource's status
918 type: string
919 type: object
920 x-kubernetes-preserve-unknown-fields: true
921 required:
922 - metadata
923 - spec
924 type: object
925 served: true
926 storage: true
927 subresources:
928 status: {}
okozachenko120323147262023-01-28 04:16:42 +1100929---
930apiVersion: apiextensions.k8s.io/v1
931kind: CustomResourceDefinition
932metadata:
933 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -0400934 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +1100935 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +1100936 name: cephclusters.ceph.rook.io
937spec:
938 group: ceph.rook.io
939 names:
940 kind: CephCluster
941 listKind: CephClusterList
942 plural: cephclusters
943 singular: cephcluster
944 scope: Namespaced
945 versions:
946 - additionalPrinterColumns:
947 - description: Directory used on the K8s nodes
948 jsonPath: .spec.dataDirHostPath
949 name: DataDirHostPath
950 type: string
951 - description: Number of MONs
952 jsonPath: .spec.mon.count
953 name: MonCount
954 type: string
955 - jsonPath: .metadata.creationTimestamp
956 name: Age
957 type: date
958 - jsonPath: .status.phase
959 name: Phase
960 type: string
961 - description: Message
962 jsonPath: .status.message
963 name: Message
964 type: string
965 - description: Ceph Health
966 jsonPath: .status.ceph.health
967 name: Health
968 type: string
969 - jsonPath: .spec.external.enable
970 name: External
971 type: boolean
Mohammed Naser65cda132024-05-02 14:34:08 -0400972 - description: Ceph FSID
973 jsonPath: .status.ceph.fsid
974 name: FSID
975 type: string
okozachenko120323147262023-01-28 04:16:42 +1100976 name: v1
977 schema:
978 openAPIV3Schema:
979 description: CephCluster is a Ceph storage cluster
980 properties:
981 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -0400982 description: |-
983 APIVersion defines the versioned schema of this representation of an object.
984 Servers should convert recognized schemas to the latest internal value, and
985 may reject unrecognized values.
986 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +1100987 type: string
988 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -0400989 description: |-
990 Kind is a string value representing the REST resource this object represents.
991 Servers may infer this from the endpoint the client submits requests to.
992 Cannot be updated.
993 In CamelCase.
994 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +1100995 type: string
996 metadata:
997 type: object
998 spec:
999 description: ClusterSpec represents the specification of Ceph Cluster
1000 properties:
1001 annotations:
1002 additionalProperties:
1003 additionalProperties:
1004 type: string
1005 description: Annotations are annotations
1006 type: object
1007 description: The annotations-related configuration to add/set on each Pod related object.
1008 nullable: true
1009 type: object
1010 x-kubernetes-preserve-unknown-fields: true
Mohammed Naser65cda132024-05-02 14:34:08 -04001011 cephConfig:
1012 additionalProperties:
1013 additionalProperties:
1014 type: string
1015 type: object
1016 description: Ceph Config options
1017 nullable: true
1018 type: object
okozachenko120323147262023-01-28 04:16:42 +11001019 cephVersion:
1020 description: The version information that instructs Rook to orchestrate a particular version of Ceph.
1021 nullable: true
1022 properties:
1023 allowUnsupported:
1024 description: Whether to allow unsupported versions (do not set to true in production)
1025 type: boolean
1026 image:
Mohammed Naser65cda132024-05-02 14:34:08 -04001027 description: |-
1028 Image is the container image used to launch the ceph daemons, such as quay.io/ceph/ceph:<tag>
1029 The full list of images can be found at https://quay.io/repository/ceph/ceph?tab=tags
okozachenko120323147262023-01-28 04:16:42 +11001030 type: string
1031 imagePullPolicy:
Mohammed Naser65cda132024-05-02 14:34:08 -04001032 description: |-
1033 ImagePullPolicy describes a policy for if/when to pull a container image
1034 One of Always, Never, IfNotPresent.
okozachenko120323147262023-01-28 04:16:42 +11001035 enum:
1036 - IfNotPresent
1037 - Always
1038 - Never
1039 - ""
1040 type: string
1041 type: object
1042 cleanupPolicy:
Mohammed Naser65cda132024-05-02 14:34:08 -04001043 description: |-
1044 Indicates user intent when deleting a cluster; blocks orchestration and should not be set if cluster
1045 deletion is not imminent.
okozachenko120323147262023-01-28 04:16:42 +11001046 nullable: true
1047 properties:
1048 allowUninstallWithVolumes:
1049 description: AllowUninstallWithVolumes defines whether we can proceed with the uninstall if they are RBD images still present
1050 type: boolean
1051 confirmation:
1052 description: Confirmation represents the cleanup confirmation
1053 nullable: true
1054 pattern: ^$|^yes-really-destroy-data$
1055 type: string
1056 sanitizeDisks:
1057 description: SanitizeDisks represents way we sanitize disks
1058 nullable: true
1059 properties:
1060 dataSource:
1061 description: DataSource is the data source to use to sanitize the disk with
1062 enum:
1063 - zero
1064 - random
1065 type: string
1066 iteration:
1067 description: Iteration is the number of pass to apply the sanitizing
1068 format: int32
1069 type: integer
1070 method:
1071 description: Method is the method we use to sanitize disks
1072 enum:
1073 - complete
1074 - quick
1075 type: string
1076 type: object
1077 type: object
1078 continueUpgradeAfterChecksEvenIfNotHealthy:
1079 description: ContinueUpgradeAfterChecksEvenIfNotHealthy defines if an upgrade should continue even if PGs are not clean
1080 type: boolean
1081 crashCollector:
1082 description: A spec for the crash controller
1083 nullable: true
1084 properties:
1085 daysToRetain:
1086 description: DaysToRetain represents the number of days to retain crash until they get pruned
1087 type: integer
1088 disable:
1089 description: Disable determines whether we should enable the crash collector
1090 type: boolean
1091 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04001092 csi:
1093 description: CSI Driver Options applied per cluster.
1094 properties:
1095 cephfs:
1096 description: CephFS defines CSI Driver settings for CephFS driver.
1097 properties:
1098 fuseMountOptions:
1099 description: FuseMountOptions defines the mount options for ceph fuse mounter.
1100 type: string
1101 kernelMountOptions:
1102 description: KernelMountOptions defines the mount options for kernel mounter.
1103 type: string
1104 type: object
1105 readAffinity:
1106 description: ReadAffinity defines the read affinity settings for CSI driver.
1107 properties:
1108 crushLocationLabels:
1109 description: |-
1110 CrushLocationLabels defines which node labels to use
1111 as CRUSH location. This should correspond to the values set in
1112 the CRUSH map.
1113 items:
1114 type: string
1115 type: array
1116 enabled:
1117 description: Enables read affinity for CSI driver.
1118 type: boolean
1119 type: object
1120 type: object
okozachenko120323147262023-01-28 04:16:42 +11001121 dashboard:
1122 description: Dashboard settings
1123 nullable: true
1124 properties:
1125 enabled:
1126 description: Enabled determines whether to enable the dashboard
1127 type: boolean
1128 port:
1129 description: Port is the dashboard webserver port
1130 maximum: 65535
1131 minimum: 0
1132 type: integer
Mohammed Naser65cda132024-05-02 14:34:08 -04001133 prometheusEndpoint:
1134 description: Endpoint for the Prometheus host
1135 type: string
1136 prometheusEndpointSSLVerify:
1137 description: Whether to verify the ssl endpoint for prometheus. Set to false for a self-signed cert.
1138 type: boolean
okozachenko120323147262023-01-28 04:16:42 +11001139 ssl:
1140 description: SSL determines whether SSL should be used
1141 type: boolean
1142 urlPrefix:
1143 description: URLPrefix is a prefix for all URLs to use the dashboard with a reverse proxy
1144 type: string
1145 type: object
1146 dataDirHostPath:
1147 description: The path on the host where config and data can be persisted
1148 pattern: ^/(\S+)
1149 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04001150 x-kubernetes-validations:
1151 - message: DataDirHostPath is immutable
1152 rule: self == oldSelf
okozachenko120323147262023-01-28 04:16:42 +11001153 disruptionManagement:
1154 description: A spec for configuring disruption management.
1155 nullable: true
1156 properties:
1157 machineDisruptionBudgetNamespace:
Mohammed Naser65cda132024-05-02 14:34:08 -04001158 description: Deprecated. Namespace to look for MDBs by the machineDisruptionBudgetController
okozachenko120323147262023-01-28 04:16:42 +11001159 type: string
1160 manageMachineDisruptionBudgets:
Mohammed Naser65cda132024-05-02 14:34:08 -04001161 description: Deprecated. This enables management of machinedisruptionbudgets.
okozachenko120323147262023-01-28 04:16:42 +11001162 type: boolean
1163 managePodBudgets:
1164 description: This enables management of poddisruptionbudgets
1165 type: boolean
1166 osdMaintenanceTimeout:
Mohammed Naser65cda132024-05-02 14:34:08 -04001167 description: |-
1168 OSDMaintenanceTimeout sets how many additional minutes the DOWN/OUT interval is for drained failure domains
1169 it only works if managePodBudgets is true.
1170 the default is 30 minutes
okozachenko120323147262023-01-28 04:16:42 +11001171 format: int64
1172 type: integer
1173 pgHealthCheckTimeout:
Mohammed Naser65cda132024-05-02 14:34:08 -04001174 description: |-
1175 PGHealthCheckTimeout is the time (in minutes) that the operator will wait for the placement groups to become
1176 healthy (active+clean) after a drain was completed and OSDs came back up. Rook will continue with the next drain
1177 if the timeout exceeds. It only works if managePodBudgets is true.
1178 No values or 0 means that the operator will wait until the placement groups are healthy before unblocking the next drain.
okozachenko120323147262023-01-28 04:16:42 +11001179 format: int64
1180 type: integer
Mohammed Naser65cda132024-05-02 14:34:08 -04001181 pgHealthyRegex:
1182 description: |-
1183 PgHealthyRegex is the regular expression that is used to determine which PG states should be considered healthy.
1184 The default is `^(active\+clean|active\+clean\+scrubbing|active\+clean\+scrubbing\+deep)$`
1185 type: string
okozachenko120323147262023-01-28 04:16:42 +11001186 type: object
1187 external:
Mohammed Naser65cda132024-05-02 14:34:08 -04001188 description: |-
1189 Whether the Ceph Cluster is running external to this Kubernetes cluster
1190 mon, mgr, osd, mds, and discover daemons will not be created for external clusters.
okozachenko120323147262023-01-28 04:16:42 +11001191 nullable: true
1192 properties:
1193 enable:
1194 description: Enable determines whether external mode is enabled or not
1195 type: boolean
1196 type: object
1197 x-kubernetes-preserve-unknown-fields: true
1198 healthCheck:
1199 description: Internal daemon healthchecks and liveness probe
1200 nullable: true
1201 properties:
1202 daemonHealth:
1203 description: DaemonHealth is the health check for a given daemon
1204 nullable: true
1205 properties:
1206 mon:
1207 description: Monitor represents the health check settings for the Ceph monitor
1208 nullable: true
1209 properties:
1210 disabled:
1211 type: boolean
1212 interval:
1213 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
1214 type: string
1215 timeout:
1216 type: string
1217 type: object
1218 osd:
1219 description: ObjectStorageDaemon represents the health check settings for the Ceph OSDs
1220 nullable: true
1221 properties:
1222 disabled:
1223 type: boolean
1224 interval:
1225 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
1226 type: string
1227 timeout:
1228 type: string
1229 type: object
1230 status:
1231 description: Status represents the health check settings for the Ceph health
1232 nullable: true
1233 properties:
1234 disabled:
1235 type: boolean
1236 interval:
1237 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
1238 type: string
1239 timeout:
1240 type: string
1241 type: object
1242 type: object
1243 livenessProbe:
1244 additionalProperties:
1245 description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
1246 properties:
1247 disabled:
1248 description: Disabled determines whether probe is disable or not
1249 type: boolean
1250 probe:
Mohammed Naser65cda132024-05-02 14:34:08 -04001251 description: |-
1252 Probe describes a health check to be performed against a container to determine whether it is
1253 alive or ready to receive traffic.
okozachenko120323147262023-01-28 04:16:42 +11001254 properties:
1255 exec:
1256 description: Exec specifies the action to take.
1257 properties:
1258 command:
Mohammed Naser65cda132024-05-02 14:34:08 -04001259 description: |-
1260 Command is the command line to execute inside the container, the working directory for the
1261 command is root ('/') in the container's filesystem. The command is simply exec'd, it is
1262 not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
1263 a shell, you need to explicitly call out to that shell.
1264 Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
okozachenko120323147262023-01-28 04:16:42 +11001265 items:
1266 type: string
1267 type: array
1268 type: object
1269 failureThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -04001270 description: |-
1271 Minimum consecutive failures for the probe to be considered failed after having succeeded.
1272 Defaults to 3. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11001273 format: int32
1274 type: integer
1275 grpc:
Mohammed Naser65cda132024-05-02 14:34:08 -04001276 description: GRPC specifies an action involving a GRPC port.
okozachenko120323147262023-01-28 04:16:42 +11001277 properties:
1278 port:
1279 description: Port number of the gRPC service. Number must be in the range 1 to 65535.
1280 format: int32
1281 type: integer
1282 service:
Mohammed Naser65cda132024-05-02 14:34:08 -04001283 description: |-
1284 Service is the name of the service to place in the gRPC HealthCheckRequest
1285 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
1286
1287
1288 If this is not specified, the default behavior is defined by gRPC.
okozachenko120323147262023-01-28 04:16:42 +11001289 type: string
1290 required:
1291 - port
1292 type: object
1293 httpGet:
1294 description: HTTPGet specifies the http request to perform.
1295 properties:
1296 host:
Mohammed Naser65cda132024-05-02 14:34:08 -04001297 description: |-
1298 Host name to connect to, defaults to the pod IP. You probably want to set
1299 "Host" in httpHeaders instead.
okozachenko120323147262023-01-28 04:16:42 +11001300 type: string
1301 httpHeaders:
1302 description: Custom headers to set in the request. HTTP allows repeated headers.
1303 items:
1304 description: HTTPHeader describes a custom header to be used in HTTP probes
1305 properties:
1306 name:
Mohammed Naser65cda132024-05-02 14:34:08 -04001307 description: |-
1308 The header field name.
1309 This will be canonicalized upon output, so case-variant names will be understood as the same header.
okozachenko120323147262023-01-28 04:16:42 +11001310 type: string
1311 value:
1312 description: The header field value
1313 type: string
1314 required:
1315 - name
1316 - value
1317 type: object
1318 type: array
1319 path:
1320 description: Path to access on the HTTP server.
1321 type: string
1322 port:
1323 anyOf:
1324 - type: integer
1325 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04001326 description: |-
1327 Name or number of the port to access on the container.
1328 Number must be in the range 1 to 65535.
1329 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +11001330 x-kubernetes-int-or-string: true
1331 scheme:
Mohammed Naser65cda132024-05-02 14:34:08 -04001332 description: |-
1333 Scheme to use for connecting to the host.
1334 Defaults to HTTP.
okozachenko120323147262023-01-28 04:16:42 +11001335 type: string
1336 required:
1337 - port
1338 type: object
1339 initialDelaySeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04001340 description: |-
1341 Number of seconds after the container has started before liveness probes are initiated.
1342 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +11001343 format: int32
1344 type: integer
1345 periodSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04001346 description: |-
1347 How often (in seconds) to perform the probe.
1348 Default to 10 seconds. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11001349 format: int32
1350 type: integer
1351 successThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -04001352 description: |-
1353 Minimum consecutive successes for the probe to be considered successful after having failed.
1354 Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11001355 format: int32
1356 type: integer
1357 tcpSocket:
1358 description: TCPSocket specifies an action involving a TCP port.
1359 properties:
1360 host:
1361 description: 'Optional: Host name to connect to, defaults to the pod IP.'
1362 type: string
1363 port:
1364 anyOf:
1365 - type: integer
1366 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04001367 description: |-
1368 Number or name of the port to access on the container.
1369 Number must be in the range 1 to 65535.
1370 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +11001371 x-kubernetes-int-or-string: true
1372 required:
1373 - port
1374 type: object
1375 terminationGracePeriodSeconds:
okozachenko120323147262023-01-28 04:16:42 +11001376 format: int64
1377 type: integer
1378 timeoutSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04001379 description: |-
1380 Number of seconds after which the probe times out.
1381 Defaults to 1 second. Minimum value is 1.
1382 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +11001383 format: int32
1384 type: integer
1385 type: object
1386 type: object
1387 description: LivenessProbe allows changing the livenessProbe configuration for a given daemon
1388 type: object
1389 startupProbe:
1390 additionalProperties:
1391 description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
1392 properties:
1393 disabled:
1394 description: Disabled determines whether probe is disable or not
1395 type: boolean
1396 probe:
Mohammed Naser65cda132024-05-02 14:34:08 -04001397 description: |-
1398 Probe describes a health check to be performed against a container to determine whether it is
1399 alive or ready to receive traffic.
okozachenko120323147262023-01-28 04:16:42 +11001400 properties:
1401 exec:
1402 description: Exec specifies the action to take.
1403 properties:
1404 command:
Mohammed Naser65cda132024-05-02 14:34:08 -04001405 description: |-
1406 Command is the command line to execute inside the container, the working directory for the
1407 command is root ('/') in the container's filesystem. The command is simply exec'd, it is
1408 not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
1409 a shell, you need to explicitly call out to that shell.
1410 Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
okozachenko120323147262023-01-28 04:16:42 +11001411 items:
1412 type: string
1413 type: array
1414 type: object
1415 failureThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -04001416 description: |-
1417 Minimum consecutive failures for the probe to be considered failed after having succeeded.
1418 Defaults to 3. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11001419 format: int32
1420 type: integer
1421 grpc:
Mohammed Naser65cda132024-05-02 14:34:08 -04001422 description: GRPC specifies an action involving a GRPC port.
okozachenko120323147262023-01-28 04:16:42 +11001423 properties:
1424 port:
1425 description: Port number of the gRPC service. Number must be in the range 1 to 65535.
1426 format: int32
1427 type: integer
1428 service:
Mohammed Naser65cda132024-05-02 14:34:08 -04001429 description: |-
1430 Service is the name of the service to place in the gRPC HealthCheckRequest
1431 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
1432
1433
1434 If this is not specified, the default behavior is defined by gRPC.
okozachenko120323147262023-01-28 04:16:42 +11001435 type: string
1436 required:
1437 - port
1438 type: object
1439 httpGet:
1440 description: HTTPGet specifies the http request to perform.
1441 properties:
1442 host:
Mohammed Naser65cda132024-05-02 14:34:08 -04001443 description: |-
1444 Host name to connect to, defaults to the pod IP. You probably want to set
1445 "Host" in httpHeaders instead.
okozachenko120323147262023-01-28 04:16:42 +11001446 type: string
1447 httpHeaders:
1448 description: Custom headers to set in the request. HTTP allows repeated headers.
1449 items:
1450 description: HTTPHeader describes a custom header to be used in HTTP probes
1451 properties:
1452 name:
Mohammed Naser65cda132024-05-02 14:34:08 -04001453 description: |-
1454 The header field name.
1455 This will be canonicalized upon output, so case-variant names will be understood as the same header.
okozachenko120323147262023-01-28 04:16:42 +11001456 type: string
1457 value:
1458 description: The header field value
1459 type: string
1460 required:
1461 - name
1462 - value
1463 type: object
1464 type: array
1465 path:
1466 description: Path to access on the HTTP server.
1467 type: string
1468 port:
1469 anyOf:
1470 - type: integer
1471 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04001472 description: |-
1473 Name or number of the port to access on the container.
1474 Number must be in the range 1 to 65535.
1475 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +11001476 x-kubernetes-int-or-string: true
1477 scheme:
Mohammed Naser65cda132024-05-02 14:34:08 -04001478 description: |-
1479 Scheme to use for connecting to the host.
1480 Defaults to HTTP.
okozachenko120323147262023-01-28 04:16:42 +11001481 type: string
1482 required:
1483 - port
1484 type: object
1485 initialDelaySeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04001486 description: |-
1487 Number of seconds after the container has started before liveness probes are initiated.
1488 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +11001489 format: int32
1490 type: integer
1491 periodSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04001492 description: |-
1493 How often (in seconds) to perform the probe.
1494 Default to 10 seconds. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11001495 format: int32
1496 type: integer
1497 successThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -04001498 description: |-
1499 Minimum consecutive successes for the probe to be considered successful after having failed.
1500 Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11001501 format: int32
1502 type: integer
1503 tcpSocket:
1504 description: TCPSocket specifies an action involving a TCP port.
1505 properties:
1506 host:
1507 description: 'Optional: Host name to connect to, defaults to the pod IP.'
1508 type: string
1509 port:
1510 anyOf:
1511 - type: integer
1512 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04001513 description: |-
1514 Number or name of the port to access on the container.
1515 Number must be in the range 1 to 65535.
1516 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +11001517 x-kubernetes-int-or-string: true
1518 required:
1519 - port
1520 type: object
1521 terminationGracePeriodSeconds:
okozachenko120323147262023-01-28 04:16:42 +11001522 format: int64
1523 type: integer
1524 timeoutSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04001525 description: |-
1526 Number of seconds after which the probe times out.
1527 Defaults to 1 second. Minimum value is 1.
1528 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +11001529 format: int32
1530 type: integer
1531 type: object
1532 type: object
1533 description: StartupProbe allows changing the startupProbe configuration for a given daemon
1534 type: object
1535 type: object
1536 labels:
1537 additionalProperties:
1538 additionalProperties:
1539 type: string
1540 description: Labels are label for a given daemons
1541 type: object
1542 description: The labels-related configuration to add/set on each Pod related object.
1543 nullable: true
1544 type: object
1545 x-kubernetes-preserve-unknown-fields: true
1546 logCollector:
1547 description: Logging represents loggings settings
1548 nullable: true
1549 properties:
1550 enabled:
1551 description: Enabled represents whether the log collector is enabled
1552 type: boolean
1553 maxLogSize:
1554 anyOf:
1555 - type: integer
1556 - type: string
1557 description: MaxLogSize is the maximum size of the log per ceph daemons. Must be at least 1M.
1558 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1559 x-kubernetes-int-or-string: true
1560 periodicity:
1561 description: Periodicity is the periodicity of the log rotation.
1562 pattern: ^$|^(hourly|daily|weekly|monthly|1h|24h|1d)$
1563 type: string
1564 type: object
1565 mgr:
1566 description: A spec for mgr related options
1567 nullable: true
1568 properties:
1569 allowMultiplePerNode:
1570 description: AllowMultiplePerNode allows to run multiple managers on the same node (not recommended)
1571 type: boolean
1572 count:
Mohammed Naser65cda132024-05-02 14:34:08 -04001573 description: Count is the number of manager daemons to run
1574 maximum: 5
okozachenko120323147262023-01-28 04:16:42 +11001575 minimum: 0
1576 type: integer
1577 modules:
1578 description: Modules is the list of ceph manager modules to enable/disable
1579 items:
1580 description: Module represents mgr modules that the user wants to enable or disable
1581 properties:
1582 enabled:
1583 description: Enabled determines whether a module should be enabled or not
1584 type: boolean
1585 name:
1586 description: Name is the name of the ceph manager module
1587 type: string
1588 type: object
1589 nullable: true
1590 type: array
1591 type: object
1592 mon:
1593 description: A spec for mon related options
1594 nullable: true
1595 properties:
1596 allowMultiplePerNode:
1597 description: AllowMultiplePerNode determines if we can run multiple monitors on the same node (not recommended)
1598 type: boolean
1599 count:
1600 description: Count is the number of Ceph monitors
1601 maximum: 9
1602 minimum: 0
1603 type: integer
Mohammed Naser65cda132024-05-02 14:34:08 -04001604 failureDomainLabel:
1605 type: string
okozachenko120323147262023-01-28 04:16:42 +11001606 stretchCluster:
1607 description: StretchCluster is the stretch cluster specification
1608 properties:
1609 failureDomainLabel:
1610 description: 'FailureDomainLabel the failure domain name (e,g: zone)'
1611 type: string
1612 subFailureDomain:
1613 description: SubFailureDomain is the failure domain within a zone
1614 type: string
1615 zones:
1616 description: Zones is the list of zones
1617 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04001618 description: MonZoneSpec represents the specification of a zone in a Ceph Cluster
okozachenko120323147262023-01-28 04:16:42 +11001619 properties:
1620 arbiter:
Mohammed Naser65cda132024-05-02 14:34:08 -04001621 description: Arbiter determines if the zone contains the arbiter used for stretch cluster mode
okozachenko120323147262023-01-28 04:16:42 +11001622 type: boolean
1623 name:
1624 description: Name is the name of the zone
1625 type: string
1626 volumeClaimTemplate:
1627 description: VolumeClaimTemplate is the PVC template
1628 properties:
okozachenko120323147262023-01-28 04:16:42 +11001629 metadata:
Mohammed Naser65cda132024-05-02 14:34:08 -04001630 description: |-
1631 Standard object's metadata.
1632 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
okozachenko120323147262023-01-28 04:16:42 +11001633 properties:
1634 annotations:
1635 additionalProperties:
1636 type: string
1637 type: object
1638 finalizers:
1639 items:
1640 type: string
1641 type: array
1642 labels:
1643 additionalProperties:
1644 type: string
1645 type: object
1646 name:
1647 type: string
1648 namespace:
1649 type: string
1650 type: object
1651 spec:
Mohammed Naser65cda132024-05-02 14:34:08 -04001652 description: |-
1653 spec defines the desired characteristics of a volume requested by a pod author.
1654 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
okozachenko120323147262023-01-28 04:16:42 +11001655 properties:
1656 accessModes:
Mohammed Naser65cda132024-05-02 14:34:08 -04001657 description: |-
1658 accessModes contains the desired access modes the volume should have.
1659 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
okozachenko120323147262023-01-28 04:16:42 +11001660 items:
1661 type: string
1662 type: array
1663 dataSource:
Mohammed Naser65cda132024-05-02 14:34:08 -04001664 description: |-
1665 dataSource field can be used to specify either:
1666 * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
1667 * An existing PVC (PersistentVolumeClaim)
1668 If the provisioner or an external controller can support the specified data source,
1669 it will create a new volume based on the contents of the specified data source.
1670 When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
1671 and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
1672 If the namespace is specified, then dataSourceRef will not be copied to dataSource.
okozachenko120323147262023-01-28 04:16:42 +11001673 properties:
1674 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04001675 description: |-
1676 APIGroup is the group for the resource being referenced.
1677 If APIGroup is not specified, the specified Kind must be in the core API group.
1678 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11001679 type: string
1680 kind:
1681 description: Kind is the type of resource being referenced
1682 type: string
1683 name:
1684 description: Name is the name of resource being referenced
1685 type: string
1686 required:
1687 - kind
1688 - name
1689 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04001690 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11001691 dataSourceRef:
Mohammed Naser65cda132024-05-02 14:34:08 -04001692 description: |-
1693 dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
1694 volume is desired. This may be any object from a non-empty API group (non
1695 core object) or a PersistentVolumeClaim object.
1696 When this field is specified, volume binding will only succeed if the type of
1697 the specified object matches some installed volume populator or dynamic
1698 provisioner.
1699 This field will replace the functionality of the dataSource field and as such
1700 if both fields are non-empty, they must have the same value. For backwards
1701 compatibility, when namespace isn't specified in dataSourceRef,
1702 both fields (dataSource and dataSourceRef) will be set to the same
1703 value automatically if one of them is empty and the other is non-empty.
1704 When namespace is specified in dataSourceRef,
1705 dataSource isn't set to the same value and must be empty.
1706 There are three important differences between dataSource and dataSourceRef:
1707 * While dataSource only allows two specific types of objects, dataSourceRef
1708 allows any non-core object, as well as PersistentVolumeClaim objects.
1709 * While dataSource ignores disallowed values (dropping them), dataSourceRef
1710 preserves all values, and generates an error if a disallowed value is
1711 specified.
1712 * While dataSource only allows local objects, dataSourceRef allows objects
1713 in any namespaces.
1714 (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
1715 (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11001716 properties:
1717 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04001718 description: |-
1719 APIGroup is the group for the resource being referenced.
1720 If APIGroup is not specified, the specified Kind must be in the core API group.
1721 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11001722 type: string
1723 kind:
1724 description: Kind is the type of resource being referenced
1725 type: string
1726 name:
1727 description: Name is the name of resource being referenced
1728 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04001729 namespace:
1730 description: |-
1731 Namespace is the namespace of resource being referenced
1732 Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
1733 (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
1734 type: string
okozachenko120323147262023-01-28 04:16:42 +11001735 required:
1736 - kind
1737 - name
1738 type: object
1739 resources:
Mohammed Naser65cda132024-05-02 14:34:08 -04001740 description: |-
1741 resources represents the minimum resources the volume should have.
1742 If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
1743 that are lower than previous value but must still be higher than capacity recorded in the
1744 status field of the claim.
1745 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
okozachenko120323147262023-01-28 04:16:42 +11001746 properties:
1747 limits:
1748 additionalProperties:
1749 anyOf:
1750 - type: integer
1751 - type: string
1752 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1753 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04001754 description: |-
1755 Limits describes the maximum amount of compute resources allowed.
1756 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11001757 type: object
1758 requests:
1759 additionalProperties:
1760 anyOf:
1761 - type: integer
1762 - type: string
1763 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1764 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04001765 description: |-
1766 Requests describes the minimum amount of compute resources required.
1767 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
1768 otherwise to an implementation-defined value. Requests cannot exceed Limits.
1769 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11001770 type: object
1771 type: object
1772 selector:
1773 description: selector is a label query over volumes to consider for binding.
1774 properties:
1775 matchExpressions:
1776 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1777 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04001778 description: |-
1779 A label selector requirement is a selector that contains values, a key, and an operator that
1780 relates the key and values.
okozachenko120323147262023-01-28 04:16:42 +11001781 properties:
1782 key:
1783 description: key is the label key that the selector applies to.
1784 type: string
1785 operator:
Mohammed Naser65cda132024-05-02 14:34:08 -04001786 description: |-
1787 operator represents a key's relationship to a set of values.
1788 Valid operators are In, NotIn, Exists and DoesNotExist.
okozachenko120323147262023-01-28 04:16:42 +11001789 type: string
1790 values:
Mohammed Naser65cda132024-05-02 14:34:08 -04001791 description: |-
1792 values is an array of string values. If the operator is In or NotIn,
1793 the values array must be non-empty. If the operator is Exists or DoesNotExist,
1794 the values array must be empty. This array is replaced during a strategic
1795 merge patch.
okozachenko120323147262023-01-28 04:16:42 +11001796 items:
1797 type: string
1798 type: array
1799 required:
1800 - key
1801 - operator
1802 type: object
1803 type: array
1804 matchLabels:
1805 additionalProperties:
1806 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04001807 description: |-
1808 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
1809 map is equivalent to an element of matchExpressions, whose key field is "key", the
1810 operator is "In", and the values array contains only "value". The requirements are ANDed.
okozachenko120323147262023-01-28 04:16:42 +11001811 type: object
1812 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04001813 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11001814 storageClassName:
Mohammed Naser65cda132024-05-02 14:34:08 -04001815 description: |-
1816 storageClassName is the name of the StorageClass required by the claim.
1817 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
1818 type: string
1819 volumeAttributesClassName:
1820 description: |-
1821 volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
1822 If specified, the CSI driver will create or update the volume with the attributes defined
1823 in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
1824 it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
1825 will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
1826 If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
1827 will be set by the persistentvolume controller if it exists.
1828 If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
1829 set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
1830 exists.
1831 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
1832 (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11001833 type: string
1834 volumeMode:
Mohammed Naser65cda132024-05-02 14:34:08 -04001835 description: |-
1836 volumeMode defines what type of volume is required by the claim.
1837 Value of Filesystem is implied when not included in claim spec.
okozachenko120323147262023-01-28 04:16:42 +11001838 type: string
1839 volumeName:
1840 description: volumeName is the binding reference to the PersistentVolume backing this claim.
1841 type: string
1842 type: object
okozachenko120323147262023-01-28 04:16:42 +11001843 type: object
1844 x-kubernetes-preserve-unknown-fields: true
1845 type: object
1846 nullable: true
1847 type: array
1848 type: object
1849 volumeClaimTemplate:
1850 description: VolumeClaimTemplate is the PVC definition
1851 properties:
okozachenko120323147262023-01-28 04:16:42 +11001852 metadata:
Mohammed Naser65cda132024-05-02 14:34:08 -04001853 description: |-
1854 Standard object's metadata.
1855 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
okozachenko120323147262023-01-28 04:16:42 +11001856 properties:
1857 annotations:
1858 additionalProperties:
1859 type: string
1860 type: object
1861 finalizers:
1862 items:
1863 type: string
1864 type: array
1865 labels:
1866 additionalProperties:
1867 type: string
1868 type: object
1869 name:
1870 type: string
1871 namespace:
1872 type: string
1873 type: object
1874 spec:
Mohammed Naser65cda132024-05-02 14:34:08 -04001875 description: |-
1876 spec defines the desired characteristics of a volume requested by a pod author.
1877 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
okozachenko120323147262023-01-28 04:16:42 +11001878 properties:
1879 accessModes:
Mohammed Naser65cda132024-05-02 14:34:08 -04001880 description: |-
1881 accessModes contains the desired access modes the volume should have.
1882 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
okozachenko120323147262023-01-28 04:16:42 +11001883 items:
1884 type: string
1885 type: array
1886 dataSource:
Mohammed Naser65cda132024-05-02 14:34:08 -04001887 description: |-
1888 dataSource field can be used to specify either:
1889 * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
1890 * An existing PVC (PersistentVolumeClaim)
1891 If the provisioner or an external controller can support the specified data source,
1892 it will create a new volume based on the contents of the specified data source.
1893 When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
1894 and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
1895 If the namespace is specified, then dataSourceRef will not be copied to dataSource.
okozachenko120323147262023-01-28 04:16:42 +11001896 properties:
1897 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04001898 description: |-
1899 APIGroup is the group for the resource being referenced.
1900 If APIGroup is not specified, the specified Kind must be in the core API group.
1901 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11001902 type: string
1903 kind:
1904 description: Kind is the type of resource being referenced
1905 type: string
1906 name:
1907 description: Name is the name of resource being referenced
1908 type: string
1909 required:
1910 - kind
1911 - name
1912 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04001913 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11001914 dataSourceRef:
Mohammed Naser65cda132024-05-02 14:34:08 -04001915 description: |-
1916 dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
1917 volume is desired. This may be any object from a non-empty API group (non
1918 core object) or a PersistentVolumeClaim object.
1919 When this field is specified, volume binding will only succeed if the type of
1920 the specified object matches some installed volume populator or dynamic
1921 provisioner.
1922 This field will replace the functionality of the dataSource field and as such
1923 if both fields are non-empty, they must have the same value. For backwards
1924 compatibility, when namespace isn't specified in dataSourceRef,
1925 both fields (dataSource and dataSourceRef) will be set to the same
1926 value automatically if one of them is empty and the other is non-empty.
1927 When namespace is specified in dataSourceRef,
1928 dataSource isn't set to the same value and must be empty.
1929 There are three important differences between dataSource and dataSourceRef:
1930 * While dataSource only allows two specific types of objects, dataSourceRef
1931 allows any non-core object, as well as PersistentVolumeClaim objects.
1932 * While dataSource ignores disallowed values (dropping them), dataSourceRef
1933 preserves all values, and generates an error if a disallowed value is
1934 specified.
1935 * While dataSource only allows local objects, dataSourceRef allows objects
1936 in any namespaces.
1937 (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
1938 (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11001939 properties:
1940 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04001941 description: |-
1942 APIGroup is the group for the resource being referenced.
1943 If APIGroup is not specified, the specified Kind must be in the core API group.
1944 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11001945 type: string
1946 kind:
1947 description: Kind is the type of resource being referenced
1948 type: string
1949 name:
1950 description: Name is the name of resource being referenced
1951 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04001952 namespace:
1953 description: |-
1954 Namespace is the namespace of resource being referenced
1955 Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
1956 (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
1957 type: string
okozachenko120323147262023-01-28 04:16:42 +11001958 required:
1959 - kind
1960 - name
1961 type: object
1962 resources:
Mohammed Naser65cda132024-05-02 14:34:08 -04001963 description: |-
1964 resources represents the minimum resources the volume should have.
1965 If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
1966 that are lower than previous value but must still be higher than capacity recorded in the
1967 status field of the claim.
1968 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
okozachenko120323147262023-01-28 04:16:42 +11001969 properties:
1970 limits:
1971 additionalProperties:
1972 anyOf:
1973 - type: integer
1974 - type: string
1975 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1976 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04001977 description: |-
1978 Limits describes the maximum amount of compute resources allowed.
1979 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11001980 type: object
1981 requests:
1982 additionalProperties:
1983 anyOf:
1984 - type: integer
1985 - type: string
1986 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1987 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04001988 description: |-
1989 Requests describes the minimum amount of compute resources required.
1990 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
1991 otherwise to an implementation-defined value. Requests cannot exceed Limits.
1992 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11001993 type: object
1994 type: object
1995 selector:
1996 description: selector is a label query over volumes to consider for binding.
1997 properties:
1998 matchExpressions:
1999 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2000 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04002001 description: |-
2002 A label selector requirement is a selector that contains values, a key, and an operator that
2003 relates the key and values.
okozachenko120323147262023-01-28 04:16:42 +11002004 properties:
2005 key:
2006 description: key is the label key that the selector applies to.
2007 type: string
2008 operator:
Mohammed Naser65cda132024-05-02 14:34:08 -04002009 description: |-
2010 operator represents a key's relationship to a set of values.
2011 Valid operators are In, NotIn, Exists and DoesNotExist.
okozachenko120323147262023-01-28 04:16:42 +11002012 type: string
2013 values:
Mohammed Naser65cda132024-05-02 14:34:08 -04002014 description: |-
2015 values is an array of string values. If the operator is In or NotIn,
2016 the values array must be non-empty. If the operator is Exists or DoesNotExist,
2017 the values array must be empty. This array is replaced during a strategic
2018 merge patch.
okozachenko120323147262023-01-28 04:16:42 +11002019 items:
2020 type: string
2021 type: array
2022 required:
2023 - key
2024 - operator
2025 type: object
2026 type: array
2027 matchLabels:
2028 additionalProperties:
2029 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04002030 description: |-
2031 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
2032 map is equivalent to an element of matchExpressions, whose key field is "key", the
2033 operator is "In", and the values array contains only "value". The requirements are ANDed.
okozachenko120323147262023-01-28 04:16:42 +11002034 type: object
2035 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002036 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002037 storageClassName:
Mohammed Naser65cda132024-05-02 14:34:08 -04002038 description: |-
2039 storageClassName is the name of the StorageClass required by the claim.
2040 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
2041 type: string
2042 volumeAttributesClassName:
2043 description: |-
2044 volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
2045 If specified, the CSI driver will create or update the volume with the attributes defined
2046 in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
2047 it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
2048 will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
2049 If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
2050 will be set by the persistentvolume controller if it exists.
2051 If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
2052 set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
2053 exists.
2054 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
2055 (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11002056 type: string
2057 volumeMode:
Mohammed Naser65cda132024-05-02 14:34:08 -04002058 description: |-
2059 volumeMode defines what type of volume is required by the claim.
2060 Value of Filesystem is implied when not included in claim spec.
okozachenko120323147262023-01-28 04:16:42 +11002061 type: string
2062 volumeName:
2063 description: volumeName is the binding reference to the PersistentVolume backing this claim.
2064 type: string
2065 type: object
okozachenko120323147262023-01-28 04:16:42 +11002066 type: object
2067 x-kubernetes-preserve-unknown-fields: true
Mohammed Naser65cda132024-05-02 14:34:08 -04002068 zones:
2069 description: Zones are specified when we want to provide zonal awareness to mons
2070 items:
2071 description: MonZoneSpec represents the specification of a zone in a Ceph Cluster
2072 properties:
2073 arbiter:
2074 description: Arbiter determines if the zone contains the arbiter used for stretch cluster mode
2075 type: boolean
2076 name:
2077 description: Name is the name of the zone
2078 type: string
2079 volumeClaimTemplate:
2080 description: VolumeClaimTemplate is the PVC template
2081 properties:
2082 metadata:
2083 description: |-
2084 Standard object's metadata.
2085 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
2086 properties:
2087 annotations:
2088 additionalProperties:
2089 type: string
2090 type: object
2091 finalizers:
2092 items:
2093 type: string
2094 type: array
2095 labels:
2096 additionalProperties:
2097 type: string
2098 type: object
2099 name:
2100 type: string
2101 namespace:
2102 type: string
2103 type: object
2104 spec:
2105 description: |-
2106 spec defines the desired characteristics of a volume requested by a pod author.
2107 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
2108 properties:
2109 accessModes:
2110 description: |-
2111 accessModes contains the desired access modes the volume should have.
2112 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
2113 items:
2114 type: string
2115 type: array
2116 dataSource:
2117 description: |-
2118 dataSource field can be used to specify either:
2119 * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
2120 * An existing PVC (PersistentVolumeClaim)
2121 If the provisioner or an external controller can support the specified data source,
2122 it will create a new volume based on the contents of the specified data source.
2123 When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
2124 and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
2125 If the namespace is specified, then dataSourceRef will not be copied to dataSource.
2126 properties:
2127 apiGroup:
2128 description: |-
2129 APIGroup is the group for the resource being referenced.
2130 If APIGroup is not specified, the specified Kind must be in the core API group.
2131 For any other third-party types, APIGroup is required.
2132 type: string
2133 kind:
2134 description: Kind is the type of resource being referenced
2135 type: string
2136 name:
2137 description: Name is the name of resource being referenced
2138 type: string
2139 required:
2140 - kind
2141 - name
2142 type: object
2143 x-kubernetes-map-type: atomic
2144 dataSourceRef:
2145 description: |-
2146 dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
2147 volume is desired. This may be any object from a non-empty API group (non
2148 core object) or a PersistentVolumeClaim object.
2149 When this field is specified, volume binding will only succeed if the type of
2150 the specified object matches some installed volume populator or dynamic
2151 provisioner.
2152 This field will replace the functionality of the dataSource field and as such
2153 if both fields are non-empty, they must have the same value. For backwards
2154 compatibility, when namespace isn't specified in dataSourceRef,
2155 both fields (dataSource and dataSourceRef) will be set to the same
2156 value automatically if one of them is empty and the other is non-empty.
2157 When namespace is specified in dataSourceRef,
2158 dataSource isn't set to the same value and must be empty.
2159 There are three important differences between dataSource and dataSourceRef:
2160 * While dataSource only allows two specific types of objects, dataSourceRef
2161 allows any non-core object, as well as PersistentVolumeClaim objects.
2162 * While dataSource ignores disallowed values (dropping them), dataSourceRef
2163 preserves all values, and generates an error if a disallowed value is
2164 specified.
2165 * While dataSource only allows local objects, dataSourceRef allows objects
2166 in any namespaces.
2167 (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
2168 (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
2169 properties:
2170 apiGroup:
2171 description: |-
2172 APIGroup is the group for the resource being referenced.
2173 If APIGroup is not specified, the specified Kind must be in the core API group.
2174 For any other third-party types, APIGroup is required.
2175 type: string
2176 kind:
2177 description: Kind is the type of resource being referenced
2178 type: string
2179 name:
2180 description: Name is the name of resource being referenced
2181 type: string
2182 namespace:
2183 description: |-
2184 Namespace is the namespace of resource being referenced
2185 Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
2186 (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
2187 type: string
2188 required:
2189 - kind
2190 - name
2191 type: object
2192 resources:
2193 description: |-
2194 resources represents the minimum resources the volume should have.
2195 If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
2196 that are lower than previous value but must still be higher than capacity recorded in the
2197 status field of the claim.
2198 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
2199 properties:
2200 limits:
2201 additionalProperties:
2202 anyOf:
2203 - type: integer
2204 - type: string
2205 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2206 x-kubernetes-int-or-string: true
2207 description: |-
2208 Limits describes the maximum amount of compute resources allowed.
2209 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
2210 type: object
2211 requests:
2212 additionalProperties:
2213 anyOf:
2214 - type: integer
2215 - type: string
2216 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2217 x-kubernetes-int-or-string: true
2218 description: |-
2219 Requests describes the minimum amount of compute resources required.
2220 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
2221 otherwise to an implementation-defined value. Requests cannot exceed Limits.
2222 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
2223 type: object
2224 type: object
2225 selector:
2226 description: selector is a label query over volumes to consider for binding.
2227 properties:
2228 matchExpressions:
2229 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2230 items:
2231 description: |-
2232 A label selector requirement is a selector that contains values, a key, and an operator that
2233 relates the key and values.
2234 properties:
2235 key:
2236 description: key is the label key that the selector applies to.
2237 type: string
2238 operator:
2239 description: |-
2240 operator represents a key's relationship to a set of values.
2241 Valid operators are In, NotIn, Exists and DoesNotExist.
2242 type: string
2243 values:
2244 description: |-
2245 values is an array of string values. If the operator is In or NotIn,
2246 the values array must be non-empty. If the operator is Exists or DoesNotExist,
2247 the values array must be empty. This array is replaced during a strategic
2248 merge patch.
2249 items:
2250 type: string
2251 type: array
2252 required:
2253 - key
2254 - operator
2255 type: object
2256 type: array
2257 matchLabels:
2258 additionalProperties:
2259 type: string
2260 description: |-
2261 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
2262 map is equivalent to an element of matchExpressions, whose key field is "key", the
2263 operator is "In", and the values array contains only "value". The requirements are ANDed.
2264 type: object
2265 type: object
2266 x-kubernetes-map-type: atomic
2267 storageClassName:
2268 description: |-
2269 storageClassName is the name of the StorageClass required by the claim.
2270 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
2271 type: string
2272 volumeAttributesClassName:
2273 description: |-
2274 volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
2275 If specified, the CSI driver will create or update the volume with the attributes defined
2276 in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
2277 it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
2278 will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
2279 If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
2280 will be set by the persistentvolume controller if it exists.
2281 If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
2282 set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
2283 exists.
2284 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
2285 (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
2286 type: string
2287 volumeMode:
2288 description: |-
2289 volumeMode defines what type of volume is required by the claim.
2290 Value of Filesystem is implied when not included in claim spec.
2291 type: string
2292 volumeName:
2293 description: volumeName is the binding reference to the PersistentVolume backing this claim.
2294 type: string
2295 type: object
2296 type: object
2297 x-kubernetes-preserve-unknown-fields: true
2298 type: object
2299 type: array
okozachenko120323147262023-01-28 04:16:42 +11002300 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002301 x-kubernetes-validations:
2302 - message: zones must be less than or equal to count
2303 rule: '!has(self.zones) || (has(self.zones) && (size(self.zones) <= self.count))'
2304 - message: stretchCluster zones must be equal to 3
2305 rule: '!has(self.stretchCluster) || (has(self.stretchCluster) && (size(self.stretchCluster.zones) > 0) && (size(self.stretchCluster.zones) == 3))'
okozachenko120323147262023-01-28 04:16:42 +11002306 monitoring:
2307 description: Prometheus based Monitoring settings
2308 nullable: true
2309 properties:
2310 enabled:
Mohammed Naser65cda132024-05-02 14:34:08 -04002311 description: |-
2312 Enabled determines whether to create the prometheus rules for the ceph cluster. If true, the prometheus
2313 types must exist or the creation will fail. Default is false.
okozachenko120323147262023-01-28 04:16:42 +11002314 type: boolean
2315 externalMgrEndpoints:
2316 description: ExternalMgrEndpoints points to an existing Ceph prometheus exporter endpoint
2317 items:
2318 description: EndpointAddress is a tuple that describes single IP address.
2319 properties:
2320 hostname:
2321 description: The Hostname of this endpoint
2322 type: string
2323 ip:
Mohammed Naser65cda132024-05-02 14:34:08 -04002324 description: |-
2325 The IP of this endpoint.
2326 May not be loopback (127.0.0.0/8 or ::1), link-local (169.254.0.0/16 or fe80::/10),
2327 or link-local multicast (224.0.0.0/24 or ff02::/16).
okozachenko120323147262023-01-28 04:16:42 +11002328 type: string
2329 nodeName:
2330 description: 'Optional: Node hosting this endpoint. This can be used to determine endpoints local to a node.'
2331 type: string
2332 targetRef:
2333 description: Reference to object providing the endpoint.
2334 properties:
2335 apiVersion:
2336 description: API version of the referent.
2337 type: string
2338 fieldPath:
Mohammed Naser65cda132024-05-02 14:34:08 -04002339 description: |-
2340 If referring to a piece of an object instead of an entire object, this string
2341 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
2342 For example, if the object reference is to a container within a pod, this would take on a value like:
2343 "spec.containers{name}" (where "name" refers to the name of the container that triggered
2344 the event) or if no container name is specified "spec.containers[2]" (container with
2345 index 2 in this pod). This syntax is chosen only to have some well-defined way of
2346 referencing a part of an object.
2347 TODO: this design is not final and this field is subject to change in the future.
okozachenko120323147262023-01-28 04:16:42 +11002348 type: string
2349 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -04002350 description: |-
2351 Kind of the referent.
2352 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +11002353 type: string
2354 name:
Mohammed Naser65cda132024-05-02 14:34:08 -04002355 description: |-
2356 Name of the referent.
2357 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
okozachenko120323147262023-01-28 04:16:42 +11002358 type: string
2359 namespace:
Mohammed Naser65cda132024-05-02 14:34:08 -04002360 description: |-
2361 Namespace of the referent.
2362 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
okozachenko120323147262023-01-28 04:16:42 +11002363 type: string
2364 resourceVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -04002365 description: |-
2366 Specific resourceVersion to which this reference is made, if any.
2367 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
okozachenko120323147262023-01-28 04:16:42 +11002368 type: string
2369 uid:
Mohammed Naser65cda132024-05-02 14:34:08 -04002370 description: |-
2371 UID of the referent.
2372 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
okozachenko120323147262023-01-28 04:16:42 +11002373 type: string
2374 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002375 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002376 required:
2377 - ip
2378 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002379 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002380 nullable: true
2381 type: array
2382 externalMgrPrometheusPort:
2383 description: ExternalMgrPrometheusPort Prometheus exporter port
2384 maximum: 65535
2385 minimum: 0
2386 type: integer
Mohammed Naser65cda132024-05-02 14:34:08 -04002387 interval:
2388 description: Interval determines prometheus scrape interval
2389 type: string
2390 metricsDisabled:
2391 description: |-
2392 Whether to disable the metrics reported by Ceph. If false, the prometheus mgr module and Ceph exporter are enabled.
2393 If true, the prometheus mgr module and Ceph exporter are both disabled. Default is false.
2394 type: boolean
2395 port:
2396 description: Port is the prometheus server port
2397 maximum: 65535
2398 minimum: 0
2399 type: integer
okozachenko120323147262023-01-28 04:16:42 +11002400 type: object
2401 network:
2402 description: Network related configuration
2403 nullable: true
2404 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04002405 addressRanges:
2406 description: |-
2407 AddressRanges specify a list of CIDRs that Rook will apply to Ceph's 'public_network' and/or
2408 'cluster_network' configurations. This config section may be used for the "host" or "multus"
2409 network providers.
2410 nullable: true
2411 properties:
2412 cluster:
2413 description: Cluster defines a list of CIDRs to use for Ceph cluster network communication.
2414 items:
2415 description: |-
2416 An IPv4 or IPv6 network CIDR.
2417
2418
2419 This naive kubebuilder regex provides immediate feedback for some typos and for a common problem
2420 case where the range spec is forgotten (e.g., /24). Rook does in-depth validation in code.
2421 pattern: ^[0-9a-fA-F:.]{2,}\/[0-9]{1,3}$
2422 type: string
2423 type: array
2424 public:
2425 description: Public defines a list of CIDRs to use for Ceph public network communication.
2426 items:
2427 description: |-
2428 An IPv4 or IPv6 network CIDR.
2429
2430
2431 This naive kubebuilder regex provides immediate feedback for some typos and for a common problem
2432 case where the range spec is forgotten (e.g., /24). Rook does in-depth validation in code.
2433 pattern: ^[0-9a-fA-F:.]{2,}\/[0-9]{1,3}$
2434 type: string
2435 type: array
2436 type: object
okozachenko120323147262023-01-28 04:16:42 +11002437 connections:
Mohammed Naser65cda132024-05-02 14:34:08 -04002438 description: |-
2439 Settings for network connections such as compression and encryption across the
2440 wire.
okozachenko120323147262023-01-28 04:16:42 +11002441 nullable: true
2442 properties:
2443 compression:
2444 description: Compression settings for the network connections.
2445 nullable: true
2446 properties:
2447 enabled:
Mohammed Naser65cda132024-05-02 14:34:08 -04002448 description: |-
2449 Whether to compress the data in transit across the wire.
2450 The default is not set.
okozachenko120323147262023-01-28 04:16:42 +11002451 type: boolean
2452 type: object
2453 encryption:
2454 description: Encryption settings for the network connections.
2455 nullable: true
2456 properties:
2457 enabled:
Mohammed Naser65cda132024-05-02 14:34:08 -04002458 description: |-
2459 Whether to encrypt the data in transit across the wire to prevent eavesdropping
2460 the data on the network. The default is not set. Even if encryption is not enabled,
2461 clients still establish a strong initial authentication for the connection
2462 and data integrity is still validated with a crc check. When encryption is enabled,
2463 all communication between clients and Ceph daemons, or between Ceph daemons will
2464 be encrypted.
okozachenko120323147262023-01-28 04:16:42 +11002465 type: boolean
2466 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002467 requireMsgr2:
2468 description: |-
2469 Whether to require msgr2 (port 3300) even if compression or encryption are not enabled.
2470 If true, the msgr1 port (6789) will be disabled.
2471 Requires a kernel that supports msgr2 (kernel 5.11 or CentOS 8.4 or newer).
2472 type: boolean
okozachenko120323147262023-01-28 04:16:42 +11002473 type: object
2474 dualStack:
2475 description: DualStack determines whether Ceph daemons should listen on both IPv4 and IPv6
2476 type: boolean
2477 hostNetwork:
Mohammed Naser65cda132024-05-02 14:34:08 -04002478 description: |-
2479 HostNetwork to enable host network.
2480 If host networking is enabled or disabled on a running cluster, then the operator will automatically fail over all the mons to
2481 apply the new network settings.
okozachenko120323147262023-01-28 04:16:42 +11002482 type: boolean
2483 ipFamily:
2484 description: IPFamily is the single stack IPv6 or IPv4 protocol
2485 enum:
2486 - IPv4
2487 - IPv6
2488 nullable: true
2489 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04002490 multiClusterService:
2491 description: Enable multiClusterService to export the Services between peer clusters
2492 properties:
2493 clusterID:
2494 description: |-
2495 ClusterID uniquely identifies a cluster. It is used as a prefix to nslookup exported
2496 services. For example: <clusterid>.<svc>.<ns>.svc.clusterset.local
2497 type: string
2498 enabled:
2499 description: |-
2500 Enable multiClusterService to export the mon and OSD services to peer cluster.
2501 Ensure that peer clusters are connected using an MCS API compatible application,
2502 like Globalnet Submariner.
2503 type: boolean
2504 type: object
okozachenko120323147262023-01-28 04:16:42 +11002505 provider:
Mohammed Naser65cda132024-05-02 14:34:08 -04002506 description: |-
2507 Provider is what provides network connectivity to the cluster e.g. "host" or "multus".
2508 If the Provider is updated from being empty to "host" on a running cluster, then the operator will automatically fail over all the mons to apply the "host" network settings.
2509 enum:
2510 - ""
2511 - host
2512 - multus
okozachenko120323147262023-01-28 04:16:42 +11002513 nullable: true
2514 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04002515 x-kubernetes-validations:
2516 - message: network provider must be disabled (reverted to empty string) before a new provider is enabled
2517 rule: self == '' || self == oldSelf
okozachenko120323147262023-01-28 04:16:42 +11002518 selectors:
2519 additionalProperties:
2520 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04002521 description: |-
2522 Selectors define NetworkAttachmentDefinitions to be used for Ceph public and/or cluster
2523 networks when the "multus" network provider is used. This config section is not used for
2524 other network providers.
2525
2526
2527 Valid keys are "public" and "cluster". Refer to Ceph networking documentation for more:
2528 https://docs.ceph.com/en/reef/rados/configuration/network-config-ref/
2529
2530
2531 Refer to Multus network annotation documentation for help selecting values:
2532 https://github.com/k8snetworkplumbingwg/multus-cni/blob/master/docs/how-to-use.md#run-pod-with-network-annotation
2533
2534
2535 Rook will make a best-effort attempt to automatically detect CIDR address ranges for given
2536 network attachment definitions. Rook's methods are robust but may be imprecise for
2537 sufficiently complicated networks. Rook's auto-detection process obtains a new IP address
2538 lease for each CephCluster reconcile. If Rook fails to detect, incorrectly detects, only
2539 partially detects, or if underlying networks do not support reusing old IP addresses, it is
2540 best to use the 'addressRanges' config section to specify CIDR ranges for the Ceph cluster.
2541
2542
2543 As a contrived example, one can use a theoretical Kubernetes-wide network for Ceph client
2544 traffic and a theoretical Rook-only network for Ceph replication traffic as shown:
2545 selectors:
2546 public: "default/cluster-fast-net"
2547 cluster: "rook-ceph/ceph-backend-net"
okozachenko120323147262023-01-28 04:16:42 +11002548 nullable: true
2549 type: object
2550 type: object
2551 x-kubernetes-preserve-unknown-fields: true
Mohammed Naser65cda132024-05-02 14:34:08 -04002552 x-kubernetes-validations:
2553 - message: at least one network selector must be specified when using multus
2554 rule: '!has(self.provider) || (self.provider != ''multus'' || (self.provider == ''multus'' && size(self.selectors) > 0))'
2555 - message: the legacy hostNetwork setting can only be set if the network.provider is set to the empty string
2556 rule: '!has(self.hostNetwork) || self.hostNetwork == false || !has(self.provider) || self.provider == ""'
okozachenko120323147262023-01-28 04:16:42 +11002557 placement:
2558 additionalProperties:
okozachenko120323147262023-01-28 04:16:42 +11002559 properties:
2560 nodeAffinity:
okozachenko120323147262023-01-28 04:16:42 +11002561 properties:
2562 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11002563 items:
okozachenko120323147262023-01-28 04:16:42 +11002564 properties:
2565 preference:
okozachenko120323147262023-01-28 04:16:42 +11002566 properties:
2567 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002568 items:
okozachenko120323147262023-01-28 04:16:42 +11002569 properties:
2570 key:
okozachenko120323147262023-01-28 04:16:42 +11002571 type: string
2572 operator:
okozachenko120323147262023-01-28 04:16:42 +11002573 type: string
2574 values:
okozachenko120323147262023-01-28 04:16:42 +11002575 items:
2576 type: string
2577 type: array
2578 required:
2579 - key
2580 - operator
2581 type: object
2582 type: array
2583 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11002584 items:
okozachenko120323147262023-01-28 04:16:42 +11002585 properties:
2586 key:
okozachenko120323147262023-01-28 04:16:42 +11002587 type: string
2588 operator:
okozachenko120323147262023-01-28 04:16:42 +11002589 type: string
2590 values:
okozachenko120323147262023-01-28 04:16:42 +11002591 items:
2592 type: string
2593 type: array
2594 required:
2595 - key
2596 - operator
2597 type: object
2598 type: array
2599 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002600 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002601 weight:
okozachenko120323147262023-01-28 04:16:42 +11002602 format: int32
2603 type: integer
2604 required:
2605 - preference
2606 - weight
2607 type: object
2608 type: array
2609 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11002610 properties:
2611 nodeSelectorTerms:
okozachenko120323147262023-01-28 04:16:42 +11002612 items:
okozachenko120323147262023-01-28 04:16:42 +11002613 properties:
2614 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002615 items:
okozachenko120323147262023-01-28 04:16:42 +11002616 properties:
2617 key:
okozachenko120323147262023-01-28 04:16:42 +11002618 type: string
2619 operator:
okozachenko120323147262023-01-28 04:16:42 +11002620 type: string
2621 values:
okozachenko120323147262023-01-28 04:16:42 +11002622 items:
2623 type: string
2624 type: array
2625 required:
2626 - key
2627 - operator
2628 type: object
2629 type: array
2630 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11002631 items:
okozachenko120323147262023-01-28 04:16:42 +11002632 properties:
2633 key:
okozachenko120323147262023-01-28 04:16:42 +11002634 type: string
2635 operator:
okozachenko120323147262023-01-28 04:16:42 +11002636 type: string
2637 values:
okozachenko120323147262023-01-28 04:16:42 +11002638 items:
2639 type: string
2640 type: array
2641 required:
2642 - key
2643 - operator
2644 type: object
2645 type: array
2646 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002647 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002648 type: array
2649 required:
2650 - nodeSelectorTerms
2651 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002652 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002653 type: object
2654 podAffinity:
okozachenko120323147262023-01-28 04:16:42 +11002655 properties:
2656 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11002657 items:
okozachenko120323147262023-01-28 04:16:42 +11002658 properties:
2659 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11002660 properties:
2661 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11002662 properties:
2663 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002664 items:
okozachenko120323147262023-01-28 04:16:42 +11002665 properties:
2666 key:
okozachenko120323147262023-01-28 04:16:42 +11002667 type: string
2668 operator:
okozachenko120323147262023-01-28 04:16:42 +11002669 type: string
2670 values:
okozachenko120323147262023-01-28 04:16:42 +11002671 items:
2672 type: string
2673 type: array
2674 required:
2675 - key
2676 - operator
2677 type: object
2678 type: array
2679 matchLabels:
2680 additionalProperties:
2681 type: string
okozachenko120323147262023-01-28 04:16:42 +11002682 type: object
2683 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002684 x-kubernetes-map-type: atomic
2685 matchLabelKeys:
2686 items:
2687 type: string
2688 type: array
2689 x-kubernetes-list-type: atomic
2690 mismatchLabelKeys:
2691 items:
2692 type: string
2693 type: array
2694 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002695 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11002696 properties:
2697 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002698 items:
okozachenko120323147262023-01-28 04:16:42 +11002699 properties:
2700 key:
okozachenko120323147262023-01-28 04:16:42 +11002701 type: string
2702 operator:
okozachenko120323147262023-01-28 04:16:42 +11002703 type: string
2704 values:
okozachenko120323147262023-01-28 04:16:42 +11002705 items:
2706 type: string
2707 type: array
2708 required:
2709 - key
2710 - operator
2711 type: object
2712 type: array
2713 matchLabels:
2714 additionalProperties:
2715 type: string
okozachenko120323147262023-01-28 04:16:42 +11002716 type: object
2717 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002718 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002719 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11002720 items:
2721 type: string
2722 type: array
2723 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11002724 type: string
2725 required:
2726 - topologyKey
2727 type: object
2728 weight:
okozachenko120323147262023-01-28 04:16:42 +11002729 format: int32
2730 type: integer
2731 required:
2732 - podAffinityTerm
2733 - weight
2734 type: object
2735 type: array
2736 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11002737 items:
okozachenko120323147262023-01-28 04:16:42 +11002738 properties:
2739 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11002740 properties:
2741 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002742 items:
okozachenko120323147262023-01-28 04:16:42 +11002743 properties:
2744 key:
okozachenko120323147262023-01-28 04:16:42 +11002745 type: string
2746 operator:
okozachenko120323147262023-01-28 04:16:42 +11002747 type: string
2748 values:
okozachenko120323147262023-01-28 04:16:42 +11002749 items:
2750 type: string
2751 type: array
2752 required:
2753 - key
2754 - operator
2755 type: object
2756 type: array
2757 matchLabels:
2758 additionalProperties:
2759 type: string
okozachenko120323147262023-01-28 04:16:42 +11002760 type: object
2761 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002762 x-kubernetes-map-type: atomic
2763 matchLabelKeys:
2764 items:
2765 type: string
2766 type: array
2767 x-kubernetes-list-type: atomic
2768 mismatchLabelKeys:
2769 items:
2770 type: string
2771 type: array
2772 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002773 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11002774 properties:
2775 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002776 items:
okozachenko120323147262023-01-28 04:16:42 +11002777 properties:
2778 key:
okozachenko120323147262023-01-28 04:16:42 +11002779 type: string
2780 operator:
okozachenko120323147262023-01-28 04:16:42 +11002781 type: string
2782 values:
okozachenko120323147262023-01-28 04:16:42 +11002783 items:
2784 type: string
2785 type: array
2786 required:
2787 - key
2788 - operator
2789 type: object
2790 type: array
2791 matchLabels:
2792 additionalProperties:
2793 type: string
okozachenko120323147262023-01-28 04:16:42 +11002794 type: object
2795 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002796 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002797 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11002798 items:
2799 type: string
2800 type: array
2801 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11002802 type: string
2803 required:
2804 - topologyKey
2805 type: object
2806 type: array
2807 type: object
2808 podAntiAffinity:
okozachenko120323147262023-01-28 04:16:42 +11002809 properties:
2810 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11002811 items:
okozachenko120323147262023-01-28 04:16:42 +11002812 properties:
2813 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11002814 properties:
2815 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11002816 properties:
2817 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002818 items:
okozachenko120323147262023-01-28 04:16:42 +11002819 properties:
2820 key:
okozachenko120323147262023-01-28 04:16:42 +11002821 type: string
2822 operator:
okozachenko120323147262023-01-28 04:16:42 +11002823 type: string
2824 values:
okozachenko120323147262023-01-28 04:16:42 +11002825 items:
2826 type: string
2827 type: array
2828 required:
2829 - key
2830 - operator
2831 type: object
2832 type: array
2833 matchLabels:
2834 additionalProperties:
2835 type: string
okozachenko120323147262023-01-28 04:16:42 +11002836 type: object
2837 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002838 x-kubernetes-map-type: atomic
2839 matchLabelKeys:
2840 items:
2841 type: string
2842 type: array
2843 x-kubernetes-list-type: atomic
2844 mismatchLabelKeys:
2845 items:
2846 type: string
2847 type: array
2848 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002849 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11002850 properties:
2851 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002852 items:
okozachenko120323147262023-01-28 04:16:42 +11002853 properties:
2854 key:
okozachenko120323147262023-01-28 04:16:42 +11002855 type: string
2856 operator:
okozachenko120323147262023-01-28 04:16:42 +11002857 type: string
2858 values:
okozachenko120323147262023-01-28 04:16:42 +11002859 items:
2860 type: string
2861 type: array
2862 required:
2863 - key
2864 - operator
2865 type: object
2866 type: array
2867 matchLabels:
2868 additionalProperties:
2869 type: string
okozachenko120323147262023-01-28 04:16:42 +11002870 type: object
2871 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002872 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002873 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11002874 items:
2875 type: string
2876 type: array
2877 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11002878 type: string
2879 required:
2880 - topologyKey
2881 type: object
2882 weight:
okozachenko120323147262023-01-28 04:16:42 +11002883 format: int32
2884 type: integer
2885 required:
2886 - podAffinityTerm
2887 - weight
2888 type: object
2889 type: array
2890 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11002891 items:
okozachenko120323147262023-01-28 04:16:42 +11002892 properties:
2893 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11002894 properties:
2895 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002896 items:
okozachenko120323147262023-01-28 04:16:42 +11002897 properties:
2898 key:
okozachenko120323147262023-01-28 04:16:42 +11002899 type: string
2900 operator:
okozachenko120323147262023-01-28 04:16:42 +11002901 type: string
2902 values:
okozachenko120323147262023-01-28 04:16:42 +11002903 items:
2904 type: string
2905 type: array
2906 required:
2907 - key
2908 - operator
2909 type: object
2910 type: array
2911 matchLabels:
2912 additionalProperties:
2913 type: string
okozachenko120323147262023-01-28 04:16:42 +11002914 type: object
2915 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002916 x-kubernetes-map-type: atomic
2917 matchLabelKeys:
2918 items:
2919 type: string
2920 type: array
2921 x-kubernetes-list-type: atomic
2922 mismatchLabelKeys:
2923 items:
2924 type: string
2925 type: array
2926 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002927 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11002928 properties:
2929 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002930 items:
okozachenko120323147262023-01-28 04:16:42 +11002931 properties:
2932 key:
okozachenko120323147262023-01-28 04:16:42 +11002933 type: string
2934 operator:
okozachenko120323147262023-01-28 04:16:42 +11002935 type: string
2936 values:
okozachenko120323147262023-01-28 04:16:42 +11002937 items:
2938 type: string
2939 type: array
2940 required:
2941 - key
2942 - operator
2943 type: object
2944 type: array
2945 matchLabels:
2946 additionalProperties:
2947 type: string
okozachenko120323147262023-01-28 04:16:42 +11002948 type: object
2949 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002950 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002951 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11002952 items:
2953 type: string
2954 type: array
2955 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11002956 type: string
2957 required:
2958 - topologyKey
2959 type: object
2960 type: array
2961 type: object
2962 tolerations:
okozachenko120323147262023-01-28 04:16:42 +11002963 items:
okozachenko120323147262023-01-28 04:16:42 +11002964 properties:
2965 effect:
okozachenko120323147262023-01-28 04:16:42 +11002966 type: string
2967 key:
okozachenko120323147262023-01-28 04:16:42 +11002968 type: string
2969 operator:
okozachenko120323147262023-01-28 04:16:42 +11002970 type: string
2971 tolerationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11002972 format: int64
2973 type: integer
2974 value:
okozachenko120323147262023-01-28 04:16:42 +11002975 type: string
2976 type: object
2977 type: array
2978 topologySpreadConstraints:
okozachenko120323147262023-01-28 04:16:42 +11002979 items:
okozachenko120323147262023-01-28 04:16:42 +11002980 properties:
2981 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11002982 properties:
2983 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002984 items:
okozachenko120323147262023-01-28 04:16:42 +11002985 properties:
2986 key:
okozachenko120323147262023-01-28 04:16:42 +11002987 type: string
2988 operator:
okozachenko120323147262023-01-28 04:16:42 +11002989 type: string
2990 values:
okozachenko120323147262023-01-28 04:16:42 +11002991 items:
2992 type: string
2993 type: array
2994 required:
2995 - key
2996 - operator
2997 type: object
2998 type: array
2999 matchLabels:
3000 additionalProperties:
3001 type: string
okozachenko120323147262023-01-28 04:16:42 +11003002 type: object
3003 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003004 x-kubernetes-map-type: atomic
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00003005 matchLabelKeys:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00003006 items:
3007 type: string
3008 type: array
3009 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003010 maxSkew:
okozachenko120323147262023-01-28 04:16:42 +11003011 format: int32
3012 type: integer
3013 minDomains:
okozachenko120323147262023-01-28 04:16:42 +11003014 format: int32
3015 type: integer
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00003016 nodeAffinityPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00003017 type: string
3018 nodeTaintsPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00003019 type: string
okozachenko120323147262023-01-28 04:16:42 +11003020 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11003021 type: string
3022 whenUnsatisfiable:
okozachenko120323147262023-01-28 04:16:42 +11003023 type: string
3024 required:
3025 - maxSkew
3026 - topologyKey
3027 - whenUnsatisfiable
3028 type: object
3029 type: array
3030 type: object
okozachenko120323147262023-01-28 04:16:42 +11003031 nullable: true
3032 type: object
3033 x-kubernetes-preserve-unknown-fields: true
3034 priorityClassNames:
3035 additionalProperties:
3036 type: string
3037 description: PriorityClassNames sets priority classes on components
3038 nullable: true
3039 type: object
3040 x-kubernetes-preserve-unknown-fields: true
3041 removeOSDsIfOutAndSafeToRemove:
3042 description: Remove the OSD that is out and safe to remove only if this option is true
3043 type: boolean
3044 resources:
3045 additionalProperties:
3046 description: ResourceRequirements describes the compute resource requirements.
3047 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04003048 claims:
3049 description: |-
3050 Claims lists the names of resources, defined in spec.resourceClaims,
3051 that are used by this container.
3052
3053
3054 This is an alpha field and requires enabling the
3055 DynamicResourceAllocation feature gate.
3056
3057
3058 This field is immutable. It can only be set for containers.
3059 items:
3060 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
3061 properties:
3062 name:
3063 description: |-
3064 Name must match the name of one entry in pod.spec.resourceClaims of
3065 the Pod where this field is used. It makes that resource available
3066 inside a container.
3067 type: string
3068 required:
3069 - name
3070 type: object
3071 type: array
3072 x-kubernetes-list-map-keys:
3073 - name
3074 x-kubernetes-list-type: map
okozachenko120323147262023-01-28 04:16:42 +11003075 limits:
3076 additionalProperties:
3077 anyOf:
3078 - type: integer
3079 - type: string
3080 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3081 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04003082 description: |-
3083 Limits describes the maximum amount of compute resources allowed.
3084 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11003085 type: object
3086 requests:
3087 additionalProperties:
3088 anyOf:
3089 - type: integer
3090 - type: string
3091 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3092 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04003093 description: |-
3094 Requests describes the minimum amount of compute resources required.
3095 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
3096 otherwise to an implementation-defined value. Requests cannot exceed Limits.
3097 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11003098 type: object
3099 type: object
3100 description: Resources set resource requests and limits
3101 nullable: true
3102 type: object
3103 x-kubernetes-preserve-unknown-fields: true
3104 security:
3105 description: Security represents security settings
3106 nullable: true
3107 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04003108 keyRotation:
3109 description: KeyRotation defines options for Key Rotation.
3110 nullable: true
3111 properties:
3112 enabled:
3113 default: false
3114 description: Enabled represents whether the key rotation is enabled.
3115 type: boolean
3116 schedule:
3117 description: Schedule represents the cron schedule for key rotation.
3118 type: string
3119 type: object
okozachenko120323147262023-01-28 04:16:42 +11003120 kms:
3121 description: KeyManagementService is the main Key Management option
3122 nullable: true
3123 properties:
3124 connectionDetails:
3125 additionalProperties:
3126 type: string
3127 description: ConnectionDetails contains the KMS connection details (address, port etc)
3128 nullable: true
3129 type: object
3130 x-kubernetes-preserve-unknown-fields: true
3131 tokenSecretName:
3132 description: TokenSecretName is the kubernetes secret containing the KMS token
3133 type: string
3134 type: object
3135 type: object
3136 skipUpgradeChecks:
3137 description: SkipUpgradeChecks defines if an upgrade should be forced even if one of the check fails
3138 type: boolean
3139 storage:
3140 description: A spec for available storage in the cluster and how it should be used
3141 nullable: true
3142 properties:
3143 config:
3144 additionalProperties:
3145 type: string
3146 nullable: true
3147 type: object
3148 x-kubernetes-preserve-unknown-fields: true
3149 deviceFilter:
3150 description: A regular expression to allow more fine-grained selection of devices on nodes across the cluster
3151 type: string
3152 devicePathFilter:
3153 description: A regular expression to allow more fine-grained selection of devices with path names
3154 type: string
3155 devices:
3156 description: List of devices to use as storage devices
3157 items:
3158 description: Device represents a disk to use in the cluster
3159 properties:
3160 config:
3161 additionalProperties:
3162 type: string
3163 nullable: true
3164 type: object
3165 x-kubernetes-preserve-unknown-fields: true
3166 fullpath:
3167 type: string
3168 name:
3169 type: string
3170 type: object
3171 nullable: true
3172 type: array
3173 x-kubernetes-preserve-unknown-fields: true
Mohammed Naser65cda132024-05-02 14:34:08 -04003174 flappingRestartIntervalHours:
3175 description: |-
3176 FlappingRestartIntervalHours defines the time for which the OSD pods, that failed with zero exit code, will sleep before restarting.
3177 This is needed for OSD flapping where OSD daemons are marked down more than 5 times in 600 seconds by Ceph.
3178 Preventing the OSD pods to restart immediately in such scenarios will prevent Rook from marking OSD as `up` and thus
3179 peering of the PGs mapped to the OSD.
3180 User needs to manually restart the OSD pod if they manage to fix the underlying OSD flapping issue before the restart interval.
3181 The sleep will be disabled if this interval is set to 0.
3182 type: integer
okozachenko120323147262023-01-28 04:16:42 +11003183 nodes:
3184 items:
3185 description: Node is a storage nodes
3186 properties:
3187 config:
3188 additionalProperties:
3189 type: string
3190 nullable: true
3191 type: object
3192 x-kubernetes-preserve-unknown-fields: true
3193 deviceFilter:
3194 description: A regular expression to allow more fine-grained selection of devices on nodes across the cluster
3195 type: string
3196 devicePathFilter:
3197 description: A regular expression to allow more fine-grained selection of devices with path names
3198 type: string
3199 devices:
3200 description: List of devices to use as storage devices
3201 items:
3202 description: Device represents a disk to use in the cluster
3203 properties:
3204 config:
3205 additionalProperties:
3206 type: string
3207 nullable: true
3208 type: object
3209 x-kubernetes-preserve-unknown-fields: true
3210 fullpath:
3211 type: string
3212 name:
3213 type: string
3214 type: object
3215 nullable: true
3216 type: array
3217 x-kubernetes-preserve-unknown-fields: true
3218 name:
3219 type: string
3220 resources:
3221 description: ResourceRequirements describes the compute resource requirements.
3222 nullable: true
3223 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04003224 claims:
3225 description: |-
3226 Claims lists the names of resources, defined in spec.resourceClaims,
3227 that are used by this container.
3228
3229
3230 This is an alpha field and requires enabling the
3231 DynamicResourceAllocation feature gate.
3232
3233
3234 This field is immutable. It can only be set for containers.
3235 items:
3236 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
3237 properties:
3238 name:
3239 description: |-
3240 Name must match the name of one entry in pod.spec.resourceClaims of
3241 the Pod where this field is used. It makes that resource available
3242 inside a container.
3243 type: string
3244 required:
3245 - name
3246 type: object
3247 type: array
3248 x-kubernetes-list-map-keys:
3249 - name
3250 x-kubernetes-list-type: map
okozachenko120323147262023-01-28 04:16:42 +11003251 limits:
3252 additionalProperties:
3253 anyOf:
3254 - type: integer
3255 - type: string
3256 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3257 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04003258 description: |-
3259 Limits describes the maximum amount of compute resources allowed.
3260 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11003261 type: object
3262 requests:
3263 additionalProperties:
3264 anyOf:
3265 - type: integer
3266 - type: string
3267 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3268 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04003269 description: |-
3270 Requests describes the minimum amount of compute resources required.
3271 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
3272 otherwise to an implementation-defined value. Requests cannot exceed Limits.
3273 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11003274 type: object
3275 type: object
3276 x-kubernetes-preserve-unknown-fields: true
3277 useAllDevices:
3278 description: Whether to consume all the storage devices found on a machine
3279 type: boolean
3280 volumeClaimTemplates:
3281 description: PersistentVolumeClaims to use as storage
3282 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04003283 description: VolumeClaimTemplate is a simplified version of K8s corev1's PVC. It has no type meta or status.
okozachenko120323147262023-01-28 04:16:42 +11003284 properties:
okozachenko120323147262023-01-28 04:16:42 +11003285 metadata:
Mohammed Naser65cda132024-05-02 14:34:08 -04003286 description: |-
3287 Standard object's metadata.
3288 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
okozachenko120323147262023-01-28 04:16:42 +11003289 properties:
3290 annotations:
3291 additionalProperties:
3292 type: string
3293 type: object
3294 finalizers:
3295 items:
3296 type: string
3297 type: array
3298 labels:
3299 additionalProperties:
3300 type: string
3301 type: object
3302 name:
3303 type: string
3304 namespace:
3305 type: string
3306 type: object
3307 spec:
Mohammed Naser65cda132024-05-02 14:34:08 -04003308 description: |-
3309 spec defines the desired characteristics of a volume requested by a pod author.
3310 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
okozachenko120323147262023-01-28 04:16:42 +11003311 properties:
3312 accessModes:
Mohammed Naser65cda132024-05-02 14:34:08 -04003313 description: |-
3314 accessModes contains the desired access modes the volume should have.
3315 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
okozachenko120323147262023-01-28 04:16:42 +11003316 items:
3317 type: string
3318 type: array
3319 dataSource:
Mohammed Naser65cda132024-05-02 14:34:08 -04003320 description: |-
3321 dataSource field can be used to specify either:
3322 * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
3323 * An existing PVC (PersistentVolumeClaim)
3324 If the provisioner or an external controller can support the specified data source,
3325 it will create a new volume based on the contents of the specified data source.
3326 When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
3327 and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
3328 If the namespace is specified, then dataSourceRef will not be copied to dataSource.
okozachenko120323147262023-01-28 04:16:42 +11003329 properties:
3330 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04003331 description: |-
3332 APIGroup is the group for the resource being referenced.
3333 If APIGroup is not specified, the specified Kind must be in the core API group.
3334 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11003335 type: string
3336 kind:
3337 description: Kind is the type of resource being referenced
3338 type: string
3339 name:
3340 description: Name is the name of resource being referenced
3341 type: string
3342 required:
3343 - kind
3344 - name
3345 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003346 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003347 dataSourceRef:
Mohammed Naser65cda132024-05-02 14:34:08 -04003348 description: |-
3349 dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
3350 volume is desired. This may be any object from a non-empty API group (non
3351 core object) or a PersistentVolumeClaim object.
3352 When this field is specified, volume binding will only succeed if the type of
3353 the specified object matches some installed volume populator or dynamic
3354 provisioner.
3355 This field will replace the functionality of the dataSource field and as such
3356 if both fields are non-empty, they must have the same value. For backwards
3357 compatibility, when namespace isn't specified in dataSourceRef,
3358 both fields (dataSource and dataSourceRef) will be set to the same
3359 value automatically if one of them is empty and the other is non-empty.
3360 When namespace is specified in dataSourceRef,
3361 dataSource isn't set to the same value and must be empty.
3362 There are three important differences between dataSource and dataSourceRef:
3363 * While dataSource only allows two specific types of objects, dataSourceRef
3364 allows any non-core object, as well as PersistentVolumeClaim objects.
3365 * While dataSource ignores disallowed values (dropping them), dataSourceRef
3366 preserves all values, and generates an error if a disallowed value is
3367 specified.
3368 * While dataSource only allows local objects, dataSourceRef allows objects
3369 in any namespaces.
3370 (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
3371 (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11003372 properties:
3373 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04003374 description: |-
3375 APIGroup is the group for the resource being referenced.
3376 If APIGroup is not specified, the specified Kind must be in the core API group.
3377 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11003378 type: string
3379 kind:
3380 description: Kind is the type of resource being referenced
3381 type: string
3382 name:
3383 description: Name is the name of resource being referenced
3384 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04003385 namespace:
3386 description: |-
3387 Namespace is the namespace of resource being referenced
3388 Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
3389 (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
3390 type: string
okozachenko120323147262023-01-28 04:16:42 +11003391 required:
3392 - kind
3393 - name
3394 type: object
3395 resources:
Mohammed Naser65cda132024-05-02 14:34:08 -04003396 description: |-
3397 resources represents the minimum resources the volume should have.
3398 If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
3399 that are lower than previous value but must still be higher than capacity recorded in the
3400 status field of the claim.
3401 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
okozachenko120323147262023-01-28 04:16:42 +11003402 properties:
3403 limits:
3404 additionalProperties:
3405 anyOf:
3406 - type: integer
3407 - type: string
3408 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3409 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04003410 description: |-
3411 Limits describes the maximum amount of compute resources allowed.
3412 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11003413 type: object
3414 requests:
3415 additionalProperties:
3416 anyOf:
3417 - type: integer
3418 - type: string
3419 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3420 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04003421 description: |-
3422 Requests describes the minimum amount of compute resources required.
3423 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
3424 otherwise to an implementation-defined value. Requests cannot exceed Limits.
3425 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11003426 type: object
3427 type: object
3428 selector:
3429 description: selector is a label query over volumes to consider for binding.
3430 properties:
3431 matchExpressions:
3432 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3433 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04003434 description: |-
3435 A label selector requirement is a selector that contains values, a key, and an operator that
3436 relates the key and values.
okozachenko120323147262023-01-28 04:16:42 +11003437 properties:
3438 key:
3439 description: key is the label key that the selector applies to.
3440 type: string
3441 operator:
Mohammed Naser65cda132024-05-02 14:34:08 -04003442 description: |-
3443 operator represents a key's relationship to a set of values.
3444 Valid operators are In, NotIn, Exists and DoesNotExist.
okozachenko120323147262023-01-28 04:16:42 +11003445 type: string
3446 values:
Mohammed Naser65cda132024-05-02 14:34:08 -04003447 description: |-
3448 values is an array of string values. If the operator is In or NotIn,
3449 the values array must be non-empty. If the operator is Exists or DoesNotExist,
3450 the values array must be empty. This array is replaced during a strategic
3451 merge patch.
okozachenko120323147262023-01-28 04:16:42 +11003452 items:
3453 type: string
3454 type: array
3455 required:
3456 - key
3457 - operator
3458 type: object
3459 type: array
3460 matchLabels:
3461 additionalProperties:
3462 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04003463 description: |-
3464 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
3465 map is equivalent to an element of matchExpressions, whose key field is "key", the
3466 operator is "In", and the values array contains only "value". The requirements are ANDed.
okozachenko120323147262023-01-28 04:16:42 +11003467 type: object
3468 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003469 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003470 storageClassName:
Mohammed Naser65cda132024-05-02 14:34:08 -04003471 description: |-
3472 storageClassName is the name of the StorageClass required by the claim.
3473 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
3474 type: string
3475 volumeAttributesClassName:
3476 description: |-
3477 volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
3478 If specified, the CSI driver will create or update the volume with the attributes defined
3479 in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
3480 it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
3481 will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
3482 If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
3483 will be set by the persistentvolume controller if it exists.
3484 If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
3485 set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
3486 exists.
3487 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
3488 (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11003489 type: string
3490 volumeMode:
Mohammed Naser65cda132024-05-02 14:34:08 -04003491 description: |-
3492 volumeMode defines what type of volume is required by the claim.
3493 Value of Filesystem is implied when not included in claim spec.
okozachenko120323147262023-01-28 04:16:42 +11003494 type: string
3495 volumeName:
3496 description: volumeName is the binding reference to the PersistentVolume backing this claim.
3497 type: string
3498 type: object
okozachenko120323147262023-01-28 04:16:42 +11003499 type: object
3500 type: array
3501 type: object
3502 nullable: true
3503 type: array
3504 onlyApplyOSDPlacement:
3505 type: boolean
3506 storageClassDeviceSets:
3507 items:
3508 description: StorageClassDeviceSet is a storage class device set
3509 properties:
3510 config:
3511 additionalProperties:
3512 type: string
3513 description: Provider-specific device configuration
3514 nullable: true
3515 type: object
3516 x-kubernetes-preserve-unknown-fields: true
3517 count:
3518 description: Count is the number of devices in this set
3519 minimum: 1
3520 type: integer
3521 encrypted:
3522 description: Whether to encrypt the deviceSet
3523 type: boolean
3524 name:
3525 description: Name is a unique identifier for the set
3526 type: string
3527 placement:
okozachenko120323147262023-01-28 04:16:42 +11003528 nullable: true
3529 properties:
3530 nodeAffinity:
okozachenko120323147262023-01-28 04:16:42 +11003531 properties:
3532 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11003533 items:
okozachenko120323147262023-01-28 04:16:42 +11003534 properties:
3535 preference:
okozachenko120323147262023-01-28 04:16:42 +11003536 properties:
3537 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003538 items:
okozachenko120323147262023-01-28 04:16:42 +11003539 properties:
3540 key:
okozachenko120323147262023-01-28 04:16:42 +11003541 type: string
3542 operator:
okozachenko120323147262023-01-28 04:16:42 +11003543 type: string
3544 values:
okozachenko120323147262023-01-28 04:16:42 +11003545 items:
3546 type: string
3547 type: array
3548 required:
3549 - key
3550 - operator
3551 type: object
3552 type: array
3553 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11003554 items:
okozachenko120323147262023-01-28 04:16:42 +11003555 properties:
3556 key:
okozachenko120323147262023-01-28 04:16:42 +11003557 type: string
3558 operator:
okozachenko120323147262023-01-28 04:16:42 +11003559 type: string
3560 values:
okozachenko120323147262023-01-28 04:16:42 +11003561 items:
3562 type: string
3563 type: array
3564 required:
3565 - key
3566 - operator
3567 type: object
3568 type: array
3569 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003570 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003571 weight:
okozachenko120323147262023-01-28 04:16:42 +11003572 format: int32
3573 type: integer
3574 required:
3575 - preference
3576 - weight
3577 type: object
3578 type: array
3579 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11003580 properties:
3581 nodeSelectorTerms:
okozachenko120323147262023-01-28 04:16:42 +11003582 items:
okozachenko120323147262023-01-28 04:16:42 +11003583 properties:
3584 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003585 items:
okozachenko120323147262023-01-28 04:16:42 +11003586 properties:
3587 key:
okozachenko120323147262023-01-28 04:16:42 +11003588 type: string
3589 operator:
okozachenko120323147262023-01-28 04:16:42 +11003590 type: string
3591 values:
okozachenko120323147262023-01-28 04:16:42 +11003592 items:
3593 type: string
3594 type: array
3595 required:
3596 - key
3597 - operator
3598 type: object
3599 type: array
3600 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11003601 items:
okozachenko120323147262023-01-28 04:16:42 +11003602 properties:
3603 key:
okozachenko120323147262023-01-28 04:16:42 +11003604 type: string
3605 operator:
okozachenko120323147262023-01-28 04:16:42 +11003606 type: string
3607 values:
okozachenko120323147262023-01-28 04:16:42 +11003608 items:
3609 type: string
3610 type: array
3611 required:
3612 - key
3613 - operator
3614 type: object
3615 type: array
3616 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003617 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003618 type: array
3619 required:
3620 - nodeSelectorTerms
3621 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003622 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003623 type: object
3624 podAffinity:
okozachenko120323147262023-01-28 04:16:42 +11003625 properties:
3626 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11003627 items:
okozachenko120323147262023-01-28 04:16:42 +11003628 properties:
3629 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11003630 properties:
3631 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11003632 properties:
3633 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003634 items:
okozachenko120323147262023-01-28 04:16:42 +11003635 properties:
3636 key:
okozachenko120323147262023-01-28 04:16:42 +11003637 type: string
3638 operator:
okozachenko120323147262023-01-28 04:16:42 +11003639 type: string
3640 values:
okozachenko120323147262023-01-28 04:16:42 +11003641 items:
3642 type: string
3643 type: array
3644 required:
3645 - key
3646 - operator
3647 type: object
3648 type: array
3649 matchLabels:
3650 additionalProperties:
3651 type: string
okozachenko120323147262023-01-28 04:16:42 +11003652 type: object
3653 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003654 x-kubernetes-map-type: atomic
3655 matchLabelKeys:
3656 items:
3657 type: string
3658 type: array
3659 x-kubernetes-list-type: atomic
3660 mismatchLabelKeys:
3661 items:
3662 type: string
3663 type: array
3664 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003665 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11003666 properties:
3667 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003668 items:
okozachenko120323147262023-01-28 04:16:42 +11003669 properties:
3670 key:
okozachenko120323147262023-01-28 04:16:42 +11003671 type: string
3672 operator:
okozachenko120323147262023-01-28 04:16:42 +11003673 type: string
3674 values:
okozachenko120323147262023-01-28 04:16:42 +11003675 items:
3676 type: string
3677 type: array
3678 required:
3679 - key
3680 - operator
3681 type: object
3682 type: array
3683 matchLabels:
3684 additionalProperties:
3685 type: string
okozachenko120323147262023-01-28 04:16:42 +11003686 type: object
3687 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003688 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003689 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11003690 items:
3691 type: string
3692 type: array
3693 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11003694 type: string
3695 required:
3696 - topologyKey
3697 type: object
3698 weight:
okozachenko120323147262023-01-28 04:16:42 +11003699 format: int32
3700 type: integer
3701 required:
3702 - podAffinityTerm
3703 - weight
3704 type: object
3705 type: array
3706 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11003707 items:
okozachenko120323147262023-01-28 04:16:42 +11003708 properties:
3709 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11003710 properties:
3711 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003712 items:
okozachenko120323147262023-01-28 04:16:42 +11003713 properties:
3714 key:
okozachenko120323147262023-01-28 04:16:42 +11003715 type: string
3716 operator:
okozachenko120323147262023-01-28 04:16:42 +11003717 type: string
3718 values:
okozachenko120323147262023-01-28 04:16:42 +11003719 items:
3720 type: string
3721 type: array
3722 required:
3723 - key
3724 - operator
3725 type: object
3726 type: array
3727 matchLabels:
3728 additionalProperties:
3729 type: string
okozachenko120323147262023-01-28 04:16:42 +11003730 type: object
3731 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003732 x-kubernetes-map-type: atomic
3733 matchLabelKeys:
3734 items:
3735 type: string
3736 type: array
3737 x-kubernetes-list-type: atomic
3738 mismatchLabelKeys:
3739 items:
3740 type: string
3741 type: array
3742 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003743 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11003744 properties:
3745 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003746 items:
okozachenko120323147262023-01-28 04:16:42 +11003747 properties:
3748 key:
okozachenko120323147262023-01-28 04:16:42 +11003749 type: string
3750 operator:
okozachenko120323147262023-01-28 04:16:42 +11003751 type: string
3752 values:
okozachenko120323147262023-01-28 04:16:42 +11003753 items:
3754 type: string
3755 type: array
3756 required:
3757 - key
3758 - operator
3759 type: object
3760 type: array
3761 matchLabels:
3762 additionalProperties:
3763 type: string
okozachenko120323147262023-01-28 04:16:42 +11003764 type: object
3765 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003766 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003767 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11003768 items:
3769 type: string
3770 type: array
3771 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11003772 type: string
3773 required:
3774 - topologyKey
3775 type: object
3776 type: array
3777 type: object
3778 podAntiAffinity:
okozachenko120323147262023-01-28 04:16:42 +11003779 properties:
3780 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11003781 items:
okozachenko120323147262023-01-28 04:16:42 +11003782 properties:
3783 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11003784 properties:
3785 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11003786 properties:
3787 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003788 items:
okozachenko120323147262023-01-28 04:16:42 +11003789 properties:
3790 key:
okozachenko120323147262023-01-28 04:16:42 +11003791 type: string
3792 operator:
okozachenko120323147262023-01-28 04:16:42 +11003793 type: string
3794 values:
okozachenko120323147262023-01-28 04:16:42 +11003795 items:
3796 type: string
3797 type: array
3798 required:
3799 - key
3800 - operator
3801 type: object
3802 type: array
3803 matchLabels:
3804 additionalProperties:
3805 type: string
okozachenko120323147262023-01-28 04:16:42 +11003806 type: object
3807 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003808 x-kubernetes-map-type: atomic
3809 matchLabelKeys:
3810 items:
3811 type: string
3812 type: array
3813 x-kubernetes-list-type: atomic
3814 mismatchLabelKeys:
3815 items:
3816 type: string
3817 type: array
3818 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003819 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11003820 properties:
3821 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003822 items:
okozachenko120323147262023-01-28 04:16:42 +11003823 properties:
3824 key:
okozachenko120323147262023-01-28 04:16:42 +11003825 type: string
3826 operator:
okozachenko120323147262023-01-28 04:16:42 +11003827 type: string
3828 values:
okozachenko120323147262023-01-28 04:16:42 +11003829 items:
3830 type: string
3831 type: array
3832 required:
3833 - key
3834 - operator
3835 type: object
3836 type: array
3837 matchLabels:
3838 additionalProperties:
3839 type: string
okozachenko120323147262023-01-28 04:16:42 +11003840 type: object
3841 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003842 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003843 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11003844 items:
3845 type: string
3846 type: array
3847 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11003848 type: string
3849 required:
3850 - topologyKey
3851 type: object
3852 weight:
okozachenko120323147262023-01-28 04:16:42 +11003853 format: int32
3854 type: integer
3855 required:
3856 - podAffinityTerm
3857 - weight
3858 type: object
3859 type: array
3860 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11003861 items:
okozachenko120323147262023-01-28 04:16:42 +11003862 properties:
3863 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11003864 properties:
3865 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003866 items:
okozachenko120323147262023-01-28 04:16:42 +11003867 properties:
3868 key:
okozachenko120323147262023-01-28 04:16:42 +11003869 type: string
3870 operator:
okozachenko120323147262023-01-28 04:16:42 +11003871 type: string
3872 values:
okozachenko120323147262023-01-28 04:16:42 +11003873 items:
3874 type: string
3875 type: array
3876 required:
3877 - key
3878 - operator
3879 type: object
3880 type: array
3881 matchLabels:
3882 additionalProperties:
3883 type: string
okozachenko120323147262023-01-28 04:16:42 +11003884 type: object
3885 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003886 x-kubernetes-map-type: atomic
3887 matchLabelKeys:
3888 items:
3889 type: string
3890 type: array
3891 x-kubernetes-list-type: atomic
3892 mismatchLabelKeys:
3893 items:
3894 type: string
3895 type: array
3896 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003897 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11003898 properties:
3899 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003900 items:
okozachenko120323147262023-01-28 04:16:42 +11003901 properties:
3902 key:
okozachenko120323147262023-01-28 04:16:42 +11003903 type: string
3904 operator:
okozachenko120323147262023-01-28 04:16:42 +11003905 type: string
3906 values:
okozachenko120323147262023-01-28 04:16:42 +11003907 items:
3908 type: string
3909 type: array
3910 required:
3911 - key
3912 - operator
3913 type: object
3914 type: array
3915 matchLabels:
3916 additionalProperties:
3917 type: string
okozachenko120323147262023-01-28 04:16:42 +11003918 type: object
3919 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003920 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003921 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11003922 items:
3923 type: string
3924 type: array
3925 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11003926 type: string
3927 required:
3928 - topologyKey
3929 type: object
3930 type: array
3931 type: object
3932 tolerations:
okozachenko120323147262023-01-28 04:16:42 +11003933 items:
okozachenko120323147262023-01-28 04:16:42 +11003934 properties:
3935 effect:
okozachenko120323147262023-01-28 04:16:42 +11003936 type: string
3937 key:
okozachenko120323147262023-01-28 04:16:42 +11003938 type: string
3939 operator:
okozachenko120323147262023-01-28 04:16:42 +11003940 type: string
3941 tolerationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11003942 format: int64
3943 type: integer
3944 value:
okozachenko120323147262023-01-28 04:16:42 +11003945 type: string
3946 type: object
3947 type: array
3948 topologySpreadConstraints:
okozachenko120323147262023-01-28 04:16:42 +11003949 items:
okozachenko120323147262023-01-28 04:16:42 +11003950 properties:
3951 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11003952 properties:
3953 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003954 items:
okozachenko120323147262023-01-28 04:16:42 +11003955 properties:
3956 key:
okozachenko120323147262023-01-28 04:16:42 +11003957 type: string
3958 operator:
okozachenko120323147262023-01-28 04:16:42 +11003959 type: string
3960 values:
okozachenko120323147262023-01-28 04:16:42 +11003961 items:
3962 type: string
3963 type: array
3964 required:
3965 - key
3966 - operator
3967 type: object
3968 type: array
3969 matchLabels:
3970 additionalProperties:
3971 type: string
okozachenko120323147262023-01-28 04:16:42 +11003972 type: object
3973 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003974 x-kubernetes-map-type: atomic
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00003975 matchLabelKeys:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00003976 items:
3977 type: string
3978 type: array
3979 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003980 maxSkew:
okozachenko120323147262023-01-28 04:16:42 +11003981 format: int32
3982 type: integer
3983 minDomains:
okozachenko120323147262023-01-28 04:16:42 +11003984 format: int32
3985 type: integer
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00003986 nodeAffinityPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00003987 type: string
3988 nodeTaintsPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00003989 type: string
okozachenko120323147262023-01-28 04:16:42 +11003990 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11003991 type: string
3992 whenUnsatisfiable:
okozachenko120323147262023-01-28 04:16:42 +11003993 type: string
3994 required:
3995 - maxSkew
3996 - topologyKey
3997 - whenUnsatisfiable
3998 type: object
3999 type: array
4000 type: object
4001 x-kubernetes-preserve-unknown-fields: true
4002 portable:
4003 description: Portable represents OSD portability across the hosts
4004 type: boolean
4005 preparePlacement:
okozachenko120323147262023-01-28 04:16:42 +11004006 nullable: true
4007 properties:
4008 nodeAffinity:
okozachenko120323147262023-01-28 04:16:42 +11004009 properties:
4010 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11004011 items:
okozachenko120323147262023-01-28 04:16:42 +11004012 properties:
4013 preference:
okozachenko120323147262023-01-28 04:16:42 +11004014 properties:
4015 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004016 items:
okozachenko120323147262023-01-28 04:16:42 +11004017 properties:
4018 key:
okozachenko120323147262023-01-28 04:16:42 +11004019 type: string
4020 operator:
okozachenko120323147262023-01-28 04:16:42 +11004021 type: string
4022 values:
okozachenko120323147262023-01-28 04:16:42 +11004023 items:
4024 type: string
4025 type: array
4026 required:
4027 - key
4028 - operator
4029 type: object
4030 type: array
4031 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11004032 items:
okozachenko120323147262023-01-28 04:16:42 +11004033 properties:
4034 key:
okozachenko120323147262023-01-28 04:16:42 +11004035 type: string
4036 operator:
okozachenko120323147262023-01-28 04:16:42 +11004037 type: string
4038 values:
okozachenko120323147262023-01-28 04:16:42 +11004039 items:
4040 type: string
4041 type: array
4042 required:
4043 - key
4044 - operator
4045 type: object
4046 type: array
4047 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004048 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004049 weight:
okozachenko120323147262023-01-28 04:16:42 +11004050 format: int32
4051 type: integer
4052 required:
4053 - preference
4054 - weight
4055 type: object
4056 type: array
4057 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11004058 properties:
4059 nodeSelectorTerms:
okozachenko120323147262023-01-28 04:16:42 +11004060 items:
okozachenko120323147262023-01-28 04:16:42 +11004061 properties:
4062 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004063 items:
okozachenko120323147262023-01-28 04:16:42 +11004064 properties:
4065 key:
okozachenko120323147262023-01-28 04:16:42 +11004066 type: string
4067 operator:
okozachenko120323147262023-01-28 04:16:42 +11004068 type: string
4069 values:
okozachenko120323147262023-01-28 04:16:42 +11004070 items:
4071 type: string
4072 type: array
4073 required:
4074 - key
4075 - operator
4076 type: object
4077 type: array
4078 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11004079 items:
okozachenko120323147262023-01-28 04:16:42 +11004080 properties:
4081 key:
okozachenko120323147262023-01-28 04:16:42 +11004082 type: string
4083 operator:
okozachenko120323147262023-01-28 04:16:42 +11004084 type: string
4085 values:
okozachenko120323147262023-01-28 04:16:42 +11004086 items:
4087 type: string
4088 type: array
4089 required:
4090 - key
4091 - operator
4092 type: object
4093 type: array
4094 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004095 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004096 type: array
4097 required:
4098 - nodeSelectorTerms
4099 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004100 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004101 type: object
4102 podAffinity:
okozachenko120323147262023-01-28 04:16:42 +11004103 properties:
4104 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11004105 items:
okozachenko120323147262023-01-28 04:16:42 +11004106 properties:
4107 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11004108 properties:
4109 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11004110 properties:
4111 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004112 items:
okozachenko120323147262023-01-28 04:16:42 +11004113 properties:
4114 key:
okozachenko120323147262023-01-28 04:16:42 +11004115 type: string
4116 operator:
okozachenko120323147262023-01-28 04:16:42 +11004117 type: string
4118 values:
okozachenko120323147262023-01-28 04:16:42 +11004119 items:
4120 type: string
4121 type: array
4122 required:
4123 - key
4124 - operator
4125 type: object
4126 type: array
4127 matchLabels:
4128 additionalProperties:
4129 type: string
okozachenko120323147262023-01-28 04:16:42 +11004130 type: object
4131 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004132 x-kubernetes-map-type: atomic
4133 matchLabelKeys:
4134 items:
4135 type: string
4136 type: array
4137 x-kubernetes-list-type: atomic
4138 mismatchLabelKeys:
4139 items:
4140 type: string
4141 type: array
4142 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004143 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11004144 properties:
4145 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004146 items:
okozachenko120323147262023-01-28 04:16:42 +11004147 properties:
4148 key:
okozachenko120323147262023-01-28 04:16:42 +11004149 type: string
4150 operator:
okozachenko120323147262023-01-28 04:16:42 +11004151 type: string
4152 values:
okozachenko120323147262023-01-28 04:16:42 +11004153 items:
4154 type: string
4155 type: array
4156 required:
4157 - key
4158 - operator
4159 type: object
4160 type: array
4161 matchLabels:
4162 additionalProperties:
4163 type: string
okozachenko120323147262023-01-28 04:16:42 +11004164 type: object
4165 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004166 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004167 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11004168 items:
4169 type: string
4170 type: array
4171 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11004172 type: string
4173 required:
4174 - topologyKey
4175 type: object
4176 weight:
okozachenko120323147262023-01-28 04:16:42 +11004177 format: int32
4178 type: integer
4179 required:
4180 - podAffinityTerm
4181 - weight
4182 type: object
4183 type: array
4184 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11004185 items:
okozachenko120323147262023-01-28 04:16:42 +11004186 properties:
4187 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11004188 properties:
4189 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004190 items:
okozachenko120323147262023-01-28 04:16:42 +11004191 properties:
4192 key:
okozachenko120323147262023-01-28 04:16:42 +11004193 type: string
4194 operator:
okozachenko120323147262023-01-28 04:16:42 +11004195 type: string
4196 values:
okozachenko120323147262023-01-28 04:16:42 +11004197 items:
4198 type: string
4199 type: array
4200 required:
4201 - key
4202 - operator
4203 type: object
4204 type: array
4205 matchLabels:
4206 additionalProperties:
4207 type: string
okozachenko120323147262023-01-28 04:16:42 +11004208 type: object
4209 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004210 x-kubernetes-map-type: atomic
4211 matchLabelKeys:
4212 items:
4213 type: string
4214 type: array
4215 x-kubernetes-list-type: atomic
4216 mismatchLabelKeys:
4217 items:
4218 type: string
4219 type: array
4220 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004221 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11004222 properties:
4223 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004224 items:
okozachenko120323147262023-01-28 04:16:42 +11004225 properties:
4226 key:
okozachenko120323147262023-01-28 04:16:42 +11004227 type: string
4228 operator:
okozachenko120323147262023-01-28 04:16:42 +11004229 type: string
4230 values:
okozachenko120323147262023-01-28 04:16:42 +11004231 items:
4232 type: string
4233 type: array
4234 required:
4235 - key
4236 - operator
4237 type: object
4238 type: array
4239 matchLabels:
4240 additionalProperties:
4241 type: string
okozachenko120323147262023-01-28 04:16:42 +11004242 type: object
4243 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004244 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004245 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11004246 items:
4247 type: string
4248 type: array
4249 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11004250 type: string
4251 required:
4252 - topologyKey
4253 type: object
4254 type: array
4255 type: object
4256 podAntiAffinity:
okozachenko120323147262023-01-28 04:16:42 +11004257 properties:
4258 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11004259 items:
okozachenko120323147262023-01-28 04:16:42 +11004260 properties:
4261 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11004262 properties:
4263 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11004264 properties:
4265 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004266 items:
okozachenko120323147262023-01-28 04:16:42 +11004267 properties:
4268 key:
okozachenko120323147262023-01-28 04:16:42 +11004269 type: string
4270 operator:
okozachenko120323147262023-01-28 04:16:42 +11004271 type: string
4272 values:
okozachenko120323147262023-01-28 04:16:42 +11004273 items:
4274 type: string
4275 type: array
4276 required:
4277 - key
4278 - operator
4279 type: object
4280 type: array
4281 matchLabels:
4282 additionalProperties:
4283 type: string
okozachenko120323147262023-01-28 04:16:42 +11004284 type: object
4285 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004286 x-kubernetes-map-type: atomic
4287 matchLabelKeys:
4288 items:
4289 type: string
4290 type: array
4291 x-kubernetes-list-type: atomic
4292 mismatchLabelKeys:
4293 items:
4294 type: string
4295 type: array
4296 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004297 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11004298 properties:
4299 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004300 items:
okozachenko120323147262023-01-28 04:16:42 +11004301 properties:
4302 key:
okozachenko120323147262023-01-28 04:16:42 +11004303 type: string
4304 operator:
okozachenko120323147262023-01-28 04:16:42 +11004305 type: string
4306 values:
okozachenko120323147262023-01-28 04:16:42 +11004307 items:
4308 type: string
4309 type: array
4310 required:
4311 - key
4312 - operator
4313 type: object
4314 type: array
4315 matchLabels:
4316 additionalProperties:
4317 type: string
okozachenko120323147262023-01-28 04:16:42 +11004318 type: object
4319 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004320 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004321 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11004322 items:
4323 type: string
4324 type: array
4325 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11004326 type: string
4327 required:
4328 - topologyKey
4329 type: object
4330 weight:
okozachenko120323147262023-01-28 04:16:42 +11004331 format: int32
4332 type: integer
4333 required:
4334 - podAffinityTerm
4335 - weight
4336 type: object
4337 type: array
4338 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11004339 items:
okozachenko120323147262023-01-28 04:16:42 +11004340 properties:
4341 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11004342 properties:
4343 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004344 items:
okozachenko120323147262023-01-28 04:16:42 +11004345 properties:
4346 key:
okozachenko120323147262023-01-28 04:16:42 +11004347 type: string
4348 operator:
okozachenko120323147262023-01-28 04:16:42 +11004349 type: string
4350 values:
okozachenko120323147262023-01-28 04:16:42 +11004351 items:
4352 type: string
4353 type: array
4354 required:
4355 - key
4356 - operator
4357 type: object
4358 type: array
4359 matchLabels:
4360 additionalProperties:
4361 type: string
okozachenko120323147262023-01-28 04:16:42 +11004362 type: object
4363 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004364 x-kubernetes-map-type: atomic
4365 matchLabelKeys:
4366 items:
4367 type: string
4368 type: array
4369 x-kubernetes-list-type: atomic
4370 mismatchLabelKeys:
4371 items:
4372 type: string
4373 type: array
4374 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004375 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11004376 properties:
4377 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004378 items:
okozachenko120323147262023-01-28 04:16:42 +11004379 properties:
4380 key:
okozachenko120323147262023-01-28 04:16:42 +11004381 type: string
4382 operator:
okozachenko120323147262023-01-28 04:16:42 +11004383 type: string
4384 values:
okozachenko120323147262023-01-28 04:16:42 +11004385 items:
4386 type: string
4387 type: array
4388 required:
4389 - key
4390 - operator
4391 type: object
4392 type: array
4393 matchLabels:
4394 additionalProperties:
4395 type: string
okozachenko120323147262023-01-28 04:16:42 +11004396 type: object
4397 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004398 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004399 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11004400 items:
4401 type: string
4402 type: array
4403 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11004404 type: string
4405 required:
4406 - topologyKey
4407 type: object
4408 type: array
4409 type: object
4410 tolerations:
okozachenko120323147262023-01-28 04:16:42 +11004411 items:
okozachenko120323147262023-01-28 04:16:42 +11004412 properties:
4413 effect:
okozachenko120323147262023-01-28 04:16:42 +11004414 type: string
4415 key:
okozachenko120323147262023-01-28 04:16:42 +11004416 type: string
4417 operator:
okozachenko120323147262023-01-28 04:16:42 +11004418 type: string
4419 tolerationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11004420 format: int64
4421 type: integer
4422 value:
okozachenko120323147262023-01-28 04:16:42 +11004423 type: string
4424 type: object
4425 type: array
4426 topologySpreadConstraints:
okozachenko120323147262023-01-28 04:16:42 +11004427 items:
okozachenko120323147262023-01-28 04:16:42 +11004428 properties:
4429 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11004430 properties:
4431 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004432 items:
okozachenko120323147262023-01-28 04:16:42 +11004433 properties:
4434 key:
okozachenko120323147262023-01-28 04:16:42 +11004435 type: string
4436 operator:
okozachenko120323147262023-01-28 04:16:42 +11004437 type: string
4438 values:
okozachenko120323147262023-01-28 04:16:42 +11004439 items:
4440 type: string
4441 type: array
4442 required:
4443 - key
4444 - operator
4445 type: object
4446 type: array
4447 matchLabels:
4448 additionalProperties:
4449 type: string
okozachenko120323147262023-01-28 04:16:42 +11004450 type: object
4451 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004452 x-kubernetes-map-type: atomic
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00004453 matchLabelKeys:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00004454 items:
4455 type: string
4456 type: array
4457 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004458 maxSkew:
okozachenko120323147262023-01-28 04:16:42 +11004459 format: int32
4460 type: integer
4461 minDomains:
okozachenko120323147262023-01-28 04:16:42 +11004462 format: int32
4463 type: integer
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00004464 nodeAffinityPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00004465 type: string
4466 nodeTaintsPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00004467 type: string
okozachenko120323147262023-01-28 04:16:42 +11004468 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11004469 type: string
4470 whenUnsatisfiable:
okozachenko120323147262023-01-28 04:16:42 +11004471 type: string
4472 required:
4473 - maxSkew
4474 - topologyKey
4475 - whenUnsatisfiable
4476 type: object
4477 type: array
4478 type: object
4479 x-kubernetes-preserve-unknown-fields: true
4480 resources:
4481 description: ResourceRequirements describes the compute resource requirements.
4482 nullable: true
4483 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04004484 claims:
4485 description: |-
4486 Claims lists the names of resources, defined in spec.resourceClaims,
4487 that are used by this container.
4488
4489
4490 This is an alpha field and requires enabling the
4491 DynamicResourceAllocation feature gate.
4492
4493
4494 This field is immutable. It can only be set for containers.
4495 items:
4496 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
4497 properties:
4498 name:
4499 description: |-
4500 Name must match the name of one entry in pod.spec.resourceClaims of
4501 the Pod where this field is used. It makes that resource available
4502 inside a container.
4503 type: string
4504 required:
4505 - name
4506 type: object
4507 type: array
4508 x-kubernetes-list-map-keys:
4509 - name
4510 x-kubernetes-list-type: map
okozachenko120323147262023-01-28 04:16:42 +11004511 limits:
4512 additionalProperties:
4513 anyOf:
4514 - type: integer
4515 - type: string
4516 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
4517 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04004518 description: |-
4519 Limits describes the maximum amount of compute resources allowed.
4520 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11004521 type: object
4522 requests:
4523 additionalProperties:
4524 anyOf:
4525 - type: integer
4526 - type: string
4527 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
4528 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04004529 description: |-
4530 Requests describes the minimum amount of compute resources required.
4531 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
4532 otherwise to an implementation-defined value. Requests cannot exceed Limits.
4533 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11004534 type: object
4535 type: object
4536 x-kubernetes-preserve-unknown-fields: true
4537 schedulerName:
4538 description: Scheduler name for OSD pod placement
4539 type: string
4540 tuneDeviceClass:
4541 description: TuneSlowDeviceClass Tune the OSD when running on a slow Device Class
4542 type: boolean
4543 tuneFastDeviceClass:
4544 description: TuneFastDeviceClass Tune the OSD when running on a fast Device Class
4545 type: boolean
4546 volumeClaimTemplates:
4547 description: VolumeClaimTemplates is a list of PVC templates for the underlying storage devices
4548 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04004549 description: VolumeClaimTemplate is a simplified version of K8s corev1's PVC. It has no type meta or status.
okozachenko120323147262023-01-28 04:16:42 +11004550 properties:
okozachenko120323147262023-01-28 04:16:42 +11004551 metadata:
Mohammed Naser65cda132024-05-02 14:34:08 -04004552 description: |-
4553 Standard object's metadata.
4554 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
okozachenko120323147262023-01-28 04:16:42 +11004555 properties:
4556 annotations:
4557 additionalProperties:
4558 type: string
4559 type: object
4560 x-kubernetes-preserve-unknown-fields: true
4561 finalizers:
4562 items:
4563 type: string
4564 type: array
4565 labels:
4566 additionalProperties:
4567 type: string
4568 type: object
4569 name:
4570 type: string
4571 namespace:
4572 type: string
4573 type: object
4574 spec:
Mohammed Naser65cda132024-05-02 14:34:08 -04004575 description: |-
4576 spec defines the desired characteristics of a volume requested by a pod author.
4577 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
okozachenko120323147262023-01-28 04:16:42 +11004578 properties:
4579 accessModes:
Mohammed Naser65cda132024-05-02 14:34:08 -04004580 description: |-
4581 accessModes contains the desired access modes the volume should have.
4582 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
okozachenko120323147262023-01-28 04:16:42 +11004583 items:
4584 type: string
4585 type: array
4586 dataSource:
Mohammed Naser65cda132024-05-02 14:34:08 -04004587 description: |-
4588 dataSource field can be used to specify either:
4589 * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
4590 * An existing PVC (PersistentVolumeClaim)
4591 If the provisioner or an external controller can support the specified data source,
4592 it will create a new volume based on the contents of the specified data source.
4593 When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
4594 and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
4595 If the namespace is specified, then dataSourceRef will not be copied to dataSource.
okozachenko120323147262023-01-28 04:16:42 +11004596 properties:
4597 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04004598 description: |-
4599 APIGroup is the group for the resource being referenced.
4600 If APIGroup is not specified, the specified Kind must be in the core API group.
4601 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11004602 type: string
4603 kind:
4604 description: Kind is the type of resource being referenced
4605 type: string
4606 name:
4607 description: Name is the name of resource being referenced
4608 type: string
4609 required:
4610 - kind
4611 - name
4612 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004613 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004614 dataSourceRef:
Mohammed Naser65cda132024-05-02 14:34:08 -04004615 description: |-
4616 dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
4617 volume is desired. This may be any object from a non-empty API group (non
4618 core object) or a PersistentVolumeClaim object.
4619 When this field is specified, volume binding will only succeed if the type of
4620 the specified object matches some installed volume populator or dynamic
4621 provisioner.
4622 This field will replace the functionality of the dataSource field and as such
4623 if both fields are non-empty, they must have the same value. For backwards
4624 compatibility, when namespace isn't specified in dataSourceRef,
4625 both fields (dataSource and dataSourceRef) will be set to the same
4626 value automatically if one of them is empty and the other is non-empty.
4627 When namespace is specified in dataSourceRef,
4628 dataSource isn't set to the same value and must be empty.
4629 There are three important differences between dataSource and dataSourceRef:
4630 * While dataSource only allows two specific types of objects, dataSourceRef
4631 allows any non-core object, as well as PersistentVolumeClaim objects.
4632 * While dataSource ignores disallowed values (dropping them), dataSourceRef
4633 preserves all values, and generates an error if a disallowed value is
4634 specified.
4635 * While dataSource only allows local objects, dataSourceRef allows objects
4636 in any namespaces.
4637 (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
4638 (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11004639 properties:
4640 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04004641 description: |-
4642 APIGroup is the group for the resource being referenced.
4643 If APIGroup is not specified, the specified Kind must be in the core API group.
4644 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11004645 type: string
4646 kind:
4647 description: Kind is the type of resource being referenced
4648 type: string
4649 name:
4650 description: Name is the name of resource being referenced
4651 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04004652 namespace:
4653 description: |-
4654 Namespace is the namespace of resource being referenced
4655 Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
4656 (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
4657 type: string
okozachenko120323147262023-01-28 04:16:42 +11004658 required:
4659 - kind
4660 - name
4661 type: object
4662 resources:
Mohammed Naser65cda132024-05-02 14:34:08 -04004663 description: |-
4664 resources represents the minimum resources the volume should have.
4665 If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
4666 that are lower than previous value but must still be higher than capacity recorded in the
4667 status field of the claim.
4668 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
okozachenko120323147262023-01-28 04:16:42 +11004669 properties:
4670 limits:
4671 additionalProperties:
4672 anyOf:
4673 - type: integer
4674 - type: string
4675 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
4676 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04004677 description: |-
4678 Limits describes the maximum amount of compute resources allowed.
4679 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11004680 type: object
4681 requests:
4682 additionalProperties:
4683 anyOf:
4684 - type: integer
4685 - type: string
4686 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
4687 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04004688 description: |-
4689 Requests describes the minimum amount of compute resources required.
4690 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
4691 otherwise to an implementation-defined value. Requests cannot exceed Limits.
4692 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11004693 type: object
4694 type: object
4695 selector:
4696 description: selector is a label query over volumes to consider for binding.
4697 properties:
4698 matchExpressions:
4699 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4700 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04004701 description: |-
4702 A label selector requirement is a selector that contains values, a key, and an operator that
4703 relates the key and values.
okozachenko120323147262023-01-28 04:16:42 +11004704 properties:
4705 key:
4706 description: key is the label key that the selector applies to.
4707 type: string
4708 operator:
Mohammed Naser65cda132024-05-02 14:34:08 -04004709 description: |-
4710 operator represents a key's relationship to a set of values.
4711 Valid operators are In, NotIn, Exists and DoesNotExist.
okozachenko120323147262023-01-28 04:16:42 +11004712 type: string
4713 values:
Mohammed Naser65cda132024-05-02 14:34:08 -04004714 description: |-
4715 values is an array of string values. If the operator is In or NotIn,
4716 the values array must be non-empty. If the operator is Exists or DoesNotExist,
4717 the values array must be empty. This array is replaced during a strategic
4718 merge patch.
okozachenko120323147262023-01-28 04:16:42 +11004719 items:
4720 type: string
4721 type: array
4722 required:
4723 - key
4724 - operator
4725 type: object
4726 type: array
4727 matchLabels:
4728 additionalProperties:
4729 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04004730 description: |-
4731 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
4732 map is equivalent to an element of matchExpressions, whose key field is "key", the
4733 operator is "In", and the values array contains only "value". The requirements are ANDed.
okozachenko120323147262023-01-28 04:16:42 +11004734 type: object
4735 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004736 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004737 storageClassName:
Mohammed Naser65cda132024-05-02 14:34:08 -04004738 description: |-
4739 storageClassName is the name of the StorageClass required by the claim.
4740 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
4741 type: string
4742 volumeAttributesClassName:
4743 description: |-
4744 volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
4745 If specified, the CSI driver will create or update the volume with the attributes defined
4746 in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
4747 it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
4748 will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
4749 If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
4750 will be set by the persistentvolume controller if it exists.
4751 If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
4752 set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
4753 exists.
4754 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
4755 (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11004756 type: string
4757 volumeMode:
Mohammed Naser65cda132024-05-02 14:34:08 -04004758 description: |-
4759 volumeMode defines what type of volume is required by the claim.
4760 Value of Filesystem is implied when not included in claim spec.
okozachenko120323147262023-01-28 04:16:42 +11004761 type: string
4762 volumeName:
4763 description: volumeName is the binding reference to the PersistentVolume backing this claim.
4764 type: string
4765 type: object
okozachenko120323147262023-01-28 04:16:42 +11004766 type: object
4767 type: array
4768 required:
4769 - count
4770 - name
4771 - volumeClaimTemplates
4772 type: object
4773 nullable: true
4774 type: array
Mohammed Naser65cda132024-05-02 14:34:08 -04004775 store:
4776 description: OSDStore is the backend storage type used for creating the OSDs
4777 properties:
4778 type:
4779 description: Type of backend storage to be used while creating OSDs. If empty, then bluestore will be used
4780 enum:
4781 - bluestore
4782 - bluestore-rdr
4783 type: string
4784 updateStore:
4785 description: |-
4786 UpdateStore updates the backend store for existing OSDs. It destroys each OSD one at a time, cleans up the backing disk
4787 and prepares same OSD on that disk
4788 pattern: ^$|^yes-really-update-store$
4789 type: string
4790 type: object
okozachenko120323147262023-01-28 04:16:42 +11004791 useAllDevices:
4792 description: Whether to consume all the storage devices found on a machine
4793 type: boolean
4794 useAllNodes:
4795 type: boolean
4796 volumeClaimTemplates:
4797 description: PersistentVolumeClaims to use as storage
4798 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04004799 description: VolumeClaimTemplate is a simplified version of K8s corev1's PVC. It has no type meta or status.
okozachenko120323147262023-01-28 04:16:42 +11004800 properties:
okozachenko120323147262023-01-28 04:16:42 +11004801 metadata:
Mohammed Naser65cda132024-05-02 14:34:08 -04004802 description: |-
4803 Standard object's metadata.
4804 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
okozachenko120323147262023-01-28 04:16:42 +11004805 properties:
4806 annotations:
4807 additionalProperties:
4808 type: string
4809 type: object
4810 finalizers:
4811 items:
4812 type: string
4813 type: array
4814 labels:
4815 additionalProperties:
4816 type: string
4817 type: object
4818 name:
4819 type: string
4820 namespace:
4821 type: string
4822 type: object
4823 spec:
Mohammed Naser65cda132024-05-02 14:34:08 -04004824 description: |-
4825 spec defines the desired characteristics of a volume requested by a pod author.
4826 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
okozachenko120323147262023-01-28 04:16:42 +11004827 properties:
4828 accessModes:
Mohammed Naser65cda132024-05-02 14:34:08 -04004829 description: |-
4830 accessModes contains the desired access modes the volume should have.
4831 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
okozachenko120323147262023-01-28 04:16:42 +11004832 items:
4833 type: string
4834 type: array
4835 dataSource:
Mohammed Naser65cda132024-05-02 14:34:08 -04004836 description: |-
4837 dataSource field can be used to specify either:
4838 * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
4839 * An existing PVC (PersistentVolumeClaim)
4840 If the provisioner or an external controller can support the specified data source,
4841 it will create a new volume based on the contents of the specified data source.
4842 When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
4843 and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
4844 If the namespace is specified, then dataSourceRef will not be copied to dataSource.
okozachenko120323147262023-01-28 04:16:42 +11004845 properties:
4846 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04004847 description: |-
4848 APIGroup is the group for the resource being referenced.
4849 If APIGroup is not specified, the specified Kind must be in the core API group.
4850 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11004851 type: string
4852 kind:
4853 description: Kind is the type of resource being referenced
4854 type: string
4855 name:
4856 description: Name is the name of resource being referenced
4857 type: string
4858 required:
4859 - kind
4860 - name
4861 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004862 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004863 dataSourceRef:
Mohammed Naser65cda132024-05-02 14:34:08 -04004864 description: |-
4865 dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
4866 volume is desired. This may be any object from a non-empty API group (non
4867 core object) or a PersistentVolumeClaim object.
4868 When this field is specified, volume binding will only succeed if the type of
4869 the specified object matches some installed volume populator or dynamic
4870 provisioner.
4871 This field will replace the functionality of the dataSource field and as such
4872 if both fields are non-empty, they must have the same value. For backwards
4873 compatibility, when namespace isn't specified in dataSourceRef,
4874 both fields (dataSource and dataSourceRef) will be set to the same
4875 value automatically if one of them is empty and the other is non-empty.
4876 When namespace is specified in dataSourceRef,
4877 dataSource isn't set to the same value and must be empty.
4878 There are three important differences between dataSource and dataSourceRef:
4879 * While dataSource only allows two specific types of objects, dataSourceRef
4880 allows any non-core object, as well as PersistentVolumeClaim objects.
4881 * While dataSource ignores disallowed values (dropping them), dataSourceRef
4882 preserves all values, and generates an error if a disallowed value is
4883 specified.
4884 * While dataSource only allows local objects, dataSourceRef allows objects
4885 in any namespaces.
4886 (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
4887 (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11004888 properties:
4889 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04004890 description: |-
4891 APIGroup is the group for the resource being referenced.
4892 If APIGroup is not specified, the specified Kind must be in the core API group.
4893 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11004894 type: string
4895 kind:
4896 description: Kind is the type of resource being referenced
4897 type: string
4898 name:
4899 description: Name is the name of resource being referenced
4900 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04004901 namespace:
4902 description: |-
4903 Namespace is the namespace of resource being referenced
4904 Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
4905 (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
4906 type: string
okozachenko120323147262023-01-28 04:16:42 +11004907 required:
4908 - kind
4909 - name
4910 type: object
4911 resources:
Mohammed Naser65cda132024-05-02 14:34:08 -04004912 description: |-
4913 resources represents the minimum resources the volume should have.
4914 If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
4915 that are lower than previous value but must still be higher than capacity recorded in the
4916 status field of the claim.
4917 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
okozachenko120323147262023-01-28 04:16:42 +11004918 properties:
4919 limits:
4920 additionalProperties:
4921 anyOf:
4922 - type: integer
4923 - type: string
4924 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
4925 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04004926 description: |-
4927 Limits describes the maximum amount of compute resources allowed.
4928 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11004929 type: object
4930 requests:
4931 additionalProperties:
4932 anyOf:
4933 - type: integer
4934 - type: string
4935 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
4936 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04004937 description: |-
4938 Requests describes the minimum amount of compute resources required.
4939 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
4940 otherwise to an implementation-defined value. Requests cannot exceed Limits.
4941 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11004942 type: object
4943 type: object
4944 selector:
4945 description: selector is a label query over volumes to consider for binding.
4946 properties:
4947 matchExpressions:
4948 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4949 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04004950 description: |-
4951 A label selector requirement is a selector that contains values, a key, and an operator that
4952 relates the key and values.
okozachenko120323147262023-01-28 04:16:42 +11004953 properties:
4954 key:
4955 description: key is the label key that the selector applies to.
4956 type: string
4957 operator:
Mohammed Naser65cda132024-05-02 14:34:08 -04004958 description: |-
4959 operator represents a key's relationship to a set of values.
4960 Valid operators are In, NotIn, Exists and DoesNotExist.
okozachenko120323147262023-01-28 04:16:42 +11004961 type: string
4962 values:
Mohammed Naser65cda132024-05-02 14:34:08 -04004963 description: |-
4964 values is an array of string values. If the operator is In or NotIn,
4965 the values array must be non-empty. If the operator is Exists or DoesNotExist,
4966 the values array must be empty. This array is replaced during a strategic
4967 merge patch.
okozachenko120323147262023-01-28 04:16:42 +11004968 items:
4969 type: string
4970 type: array
4971 required:
4972 - key
4973 - operator
4974 type: object
4975 type: array
4976 matchLabels:
4977 additionalProperties:
4978 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04004979 description: |-
4980 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
4981 map is equivalent to an element of matchExpressions, whose key field is "key", the
4982 operator is "In", and the values array contains only "value". The requirements are ANDed.
okozachenko120323147262023-01-28 04:16:42 +11004983 type: object
4984 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004985 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004986 storageClassName:
Mohammed Naser65cda132024-05-02 14:34:08 -04004987 description: |-
4988 storageClassName is the name of the StorageClass required by the claim.
4989 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
4990 type: string
4991 volumeAttributesClassName:
4992 description: |-
4993 volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
4994 If specified, the CSI driver will create or update the volume with the attributes defined
4995 in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
4996 it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
4997 will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
4998 If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
4999 will be set by the persistentvolume controller if it exists.
5000 If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
5001 set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
5002 exists.
5003 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
5004 (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11005005 type: string
5006 volumeMode:
Mohammed Naser65cda132024-05-02 14:34:08 -04005007 description: |-
5008 volumeMode defines what type of volume is required by the claim.
5009 Value of Filesystem is implied when not included in claim spec.
okozachenko120323147262023-01-28 04:16:42 +11005010 type: string
5011 volumeName:
5012 description: volumeName is the binding reference to the PersistentVolume backing this claim.
5013 type: string
5014 type: object
okozachenko120323147262023-01-28 04:16:42 +11005015 type: object
5016 type: array
5017 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04005018 upgradeOSDRequiresHealthyPGs:
5019 description: |-
5020 UpgradeOSDRequiresHealthyPGs defines if OSD upgrade requires PGs are clean. If set to `true` OSD upgrade process won't start until PGs are healthy.
5021 This configuration will be ignored if `skipUpgradeChecks` is `true`.
5022 Default is false.
5023 type: boolean
okozachenko120323147262023-01-28 04:16:42 +11005024 waitTimeoutForHealthyOSDInMinutes:
Mohammed Naser65cda132024-05-02 14:34:08 -04005025 description: |-
5026 WaitTimeoutForHealthyOSDInMinutes defines the time the operator would wait before an OSD can be stopped for upgrade or restart.
5027 If the timeout exceeds and OSD is not ok to stop, then the operator would skip upgrade for the current OSD and proceed with the next one
5028 if `continueUpgradeAfterChecksEvenIfNotHealthy` is `false`. If `continueUpgradeAfterChecksEvenIfNotHealthy` is `true`, then operator would
5029 continue with the upgrade of an OSD even if its not ok to stop after the timeout. This timeout won't be applied if `skipUpgradeChecks` is `true`.
5030 The default wait timeout is 10 minutes.
okozachenko120323147262023-01-28 04:16:42 +11005031 format: int64
5032 type: integer
5033 type: object
5034 status:
5035 description: ClusterStatus represents the status of a Ceph cluster
5036 nullable: true
5037 properties:
5038 ceph:
5039 description: CephStatus is the details health of a Ceph Cluster
5040 properties:
5041 capacity:
5042 description: Capacity is the capacity information of a Ceph Cluster
5043 properties:
5044 bytesAvailable:
5045 format: int64
5046 type: integer
5047 bytesTotal:
5048 format: int64
5049 type: integer
5050 bytesUsed:
5051 format: int64
5052 type: integer
5053 lastUpdated:
5054 type: string
5055 type: object
5056 details:
5057 additionalProperties:
5058 description: CephHealthMessage represents the health message of a Ceph Cluster
5059 properties:
5060 message:
5061 type: string
5062 severity:
5063 type: string
5064 required:
5065 - message
5066 - severity
5067 type: object
5068 type: object
5069 fsid:
5070 type: string
5071 health:
5072 type: string
5073 lastChanged:
5074 type: string
5075 lastChecked:
5076 type: string
5077 previousHealth:
5078 type: string
5079 versions:
5080 description: CephDaemonsVersions show the current ceph version for different ceph daemons
5081 properties:
5082 cephfs-mirror:
5083 additionalProperties:
5084 type: integer
5085 description: CephFSMirror shows CephFSMirror Ceph version
5086 type: object
5087 mds:
5088 additionalProperties:
5089 type: integer
5090 description: Mds shows Mds Ceph version
5091 type: object
5092 mgr:
5093 additionalProperties:
5094 type: integer
5095 description: Mgr shows Mgr Ceph version
5096 type: object
5097 mon:
5098 additionalProperties:
5099 type: integer
5100 description: Mon shows Mon Ceph version
5101 type: object
5102 osd:
5103 additionalProperties:
5104 type: integer
5105 description: Osd shows Osd Ceph version
5106 type: object
5107 overall:
5108 additionalProperties:
5109 type: integer
5110 description: Overall shows overall Ceph version
5111 type: object
5112 rbd-mirror:
5113 additionalProperties:
5114 type: integer
5115 description: RbdMirror shows RbdMirror Ceph version
5116 type: object
5117 rgw:
5118 additionalProperties:
5119 type: integer
5120 description: Rgw shows Rgw Ceph version
5121 type: object
5122 type: object
5123 type: object
5124 conditions:
5125 items:
5126 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
5127 properties:
5128 lastHeartbeatTime:
5129 format: date-time
5130 type: string
5131 lastTransitionTime:
5132 format: date-time
5133 type: string
5134 message:
5135 type: string
5136 reason:
5137 description: ConditionReason is a reason for a condition
5138 type: string
5139 status:
5140 type: string
5141 type:
5142 description: ConditionType represent a resource's status
5143 type: string
5144 type: object
5145 type: array
5146 message:
5147 type: string
5148 observedGeneration:
5149 description: ObservedGeneration is the latest generation observed by the controller.
5150 format: int64
5151 type: integer
5152 phase:
5153 description: ConditionType represent a resource's status
5154 type: string
5155 state:
5156 description: ClusterState represents the state of a Ceph Cluster
5157 type: string
5158 storage:
5159 description: CephStorage represents flavors of Ceph Cluster Storage
5160 properties:
5161 deviceClasses:
5162 items:
5163 description: DeviceClasses represents device classes of a Ceph Cluster
5164 properties:
5165 name:
5166 type: string
5167 type: object
5168 type: array
Mohammed Naser65cda132024-05-02 14:34:08 -04005169 osd:
5170 description: OSDStatus represents OSD status of the ceph Cluster
5171 properties:
5172 storeType:
5173 additionalProperties:
5174 type: integer
5175 description: StoreType is a mapping between the OSD backend stores and number of OSDs using these stores
5176 type: object
5177 type: object
okozachenko120323147262023-01-28 04:16:42 +11005178 type: object
5179 version:
5180 description: ClusterVersion represents the version of a Ceph Cluster
5181 properties:
5182 image:
5183 type: string
5184 version:
5185 type: string
5186 type: object
5187 type: object
5188 x-kubernetes-preserve-unknown-fields: true
5189 required:
5190 - metadata
5191 - spec
5192 type: object
5193 served: true
5194 storage: true
5195 subresources:
5196 status: {}
okozachenko120323147262023-01-28 04:16:42 +11005197---
5198apiVersion: apiextensions.k8s.io/v1
5199kind: CustomResourceDefinition
5200metadata:
5201 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -04005202 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +11005203 helm.sh/resource-policy: keep
Mohammed Naser65cda132024-05-02 14:34:08 -04005204 name: cephcosidrivers.ceph.rook.io
5205spec:
5206 group: ceph.rook.io
5207 names:
5208 kind: CephCOSIDriver
5209 listKind: CephCOSIDriverList
5210 plural: cephcosidrivers
5211 shortNames:
5212 - cephcosi
5213 singular: cephcosidriver
5214 scope: Namespaced
5215 versions:
5216 - name: v1
5217 schema:
5218 openAPIV3Schema:
5219 description: CephCOSIDriver represents the CRD for the Ceph COSI Driver Deployment
5220 properties:
5221 apiVersion:
5222 description: |-
5223 APIVersion defines the versioned schema of this representation of an object.
5224 Servers should convert recognized schemas to the latest internal value, and
5225 may reject unrecognized values.
5226 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
5227 type: string
5228 kind:
5229 description: |-
5230 Kind is a string value representing the REST resource this object represents.
5231 Servers may infer this from the endpoint the client submits requests to.
5232 Cannot be updated.
5233 In CamelCase.
5234 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
5235 type: string
5236 metadata:
5237 type: object
5238 spec:
5239 description: Spec represents the specification of a Ceph COSI Driver
5240 properties:
5241 deploymentStrategy:
5242 description: DeploymentStrategy is the strategy to use to deploy the COSI driver.
5243 enum:
5244 - Never
5245 - Auto
5246 - Always
5247 type: string
5248 image:
5249 description: Image is the container image to run the Ceph COSI driver
5250 type: string
5251 objectProvisionerImage:
5252 description: ObjectProvisionerImage is the container image to run the COSI driver sidecar
5253 type: string
5254 placement:
5255 properties:
5256 nodeAffinity:
5257 properties:
5258 preferredDuringSchedulingIgnoredDuringExecution:
5259 items:
5260 properties:
5261 preference:
5262 properties:
5263 matchExpressions:
5264 items:
5265 properties:
5266 key:
5267 type: string
5268 operator:
5269 type: string
5270 values:
5271 items:
5272 type: string
5273 type: array
5274 required:
5275 - key
5276 - operator
5277 type: object
5278 type: array
5279 matchFields:
5280 items:
5281 properties:
5282 key:
5283 type: string
5284 operator:
5285 type: string
5286 values:
5287 items:
5288 type: string
5289 type: array
5290 required:
5291 - key
5292 - operator
5293 type: object
5294 type: array
5295 type: object
5296 x-kubernetes-map-type: atomic
5297 weight:
5298 format: int32
5299 type: integer
5300 required:
5301 - preference
5302 - weight
5303 type: object
5304 type: array
5305 requiredDuringSchedulingIgnoredDuringExecution:
5306 properties:
5307 nodeSelectorTerms:
5308 items:
5309 properties:
5310 matchExpressions:
5311 items:
5312 properties:
5313 key:
5314 type: string
5315 operator:
5316 type: string
5317 values:
5318 items:
5319 type: string
5320 type: array
5321 required:
5322 - key
5323 - operator
5324 type: object
5325 type: array
5326 matchFields:
5327 items:
5328 properties:
5329 key:
5330 type: string
5331 operator:
5332 type: string
5333 values:
5334 items:
5335 type: string
5336 type: array
5337 required:
5338 - key
5339 - operator
5340 type: object
5341 type: array
5342 type: object
5343 x-kubernetes-map-type: atomic
5344 type: array
5345 required:
5346 - nodeSelectorTerms
5347 type: object
5348 x-kubernetes-map-type: atomic
5349 type: object
5350 podAffinity:
5351 properties:
5352 preferredDuringSchedulingIgnoredDuringExecution:
5353 items:
5354 properties:
5355 podAffinityTerm:
5356 properties:
5357 labelSelector:
5358 properties:
5359 matchExpressions:
5360 items:
5361 properties:
5362 key:
5363 type: string
5364 operator:
5365 type: string
5366 values:
5367 items:
5368 type: string
5369 type: array
5370 required:
5371 - key
5372 - operator
5373 type: object
5374 type: array
5375 matchLabels:
5376 additionalProperties:
5377 type: string
5378 type: object
5379 type: object
5380 x-kubernetes-map-type: atomic
5381 matchLabelKeys:
5382 items:
5383 type: string
5384 type: array
5385 x-kubernetes-list-type: atomic
5386 mismatchLabelKeys:
5387 items:
5388 type: string
5389 type: array
5390 x-kubernetes-list-type: atomic
5391 namespaceSelector:
5392 properties:
5393 matchExpressions:
5394 items:
5395 properties:
5396 key:
5397 type: string
5398 operator:
5399 type: string
5400 values:
5401 items:
5402 type: string
5403 type: array
5404 required:
5405 - key
5406 - operator
5407 type: object
5408 type: array
5409 matchLabels:
5410 additionalProperties:
5411 type: string
5412 type: object
5413 type: object
5414 x-kubernetes-map-type: atomic
5415 namespaces:
5416 items:
5417 type: string
5418 type: array
5419 topologyKey:
5420 type: string
5421 required:
5422 - topologyKey
5423 type: object
5424 weight:
5425 format: int32
5426 type: integer
5427 required:
5428 - podAffinityTerm
5429 - weight
5430 type: object
5431 type: array
5432 requiredDuringSchedulingIgnoredDuringExecution:
5433 items:
5434 properties:
5435 labelSelector:
5436 properties:
5437 matchExpressions:
5438 items:
5439 properties:
5440 key:
5441 type: string
5442 operator:
5443 type: string
5444 values:
5445 items:
5446 type: string
5447 type: array
5448 required:
5449 - key
5450 - operator
5451 type: object
5452 type: array
5453 matchLabels:
5454 additionalProperties:
5455 type: string
5456 type: object
5457 type: object
5458 x-kubernetes-map-type: atomic
5459 matchLabelKeys:
5460 items:
5461 type: string
5462 type: array
5463 x-kubernetes-list-type: atomic
5464 mismatchLabelKeys:
5465 items:
5466 type: string
5467 type: array
5468 x-kubernetes-list-type: atomic
5469 namespaceSelector:
5470 properties:
5471 matchExpressions:
5472 items:
5473 properties:
5474 key:
5475 type: string
5476 operator:
5477 type: string
5478 values:
5479 items:
5480 type: string
5481 type: array
5482 required:
5483 - key
5484 - operator
5485 type: object
5486 type: array
5487 matchLabels:
5488 additionalProperties:
5489 type: string
5490 type: object
5491 type: object
5492 x-kubernetes-map-type: atomic
5493 namespaces:
5494 items:
5495 type: string
5496 type: array
5497 topologyKey:
5498 type: string
5499 required:
5500 - topologyKey
5501 type: object
5502 type: array
5503 type: object
5504 podAntiAffinity:
5505 properties:
5506 preferredDuringSchedulingIgnoredDuringExecution:
5507 items:
5508 properties:
5509 podAffinityTerm:
5510 properties:
5511 labelSelector:
5512 properties:
5513 matchExpressions:
5514 items:
5515 properties:
5516 key:
5517 type: string
5518 operator:
5519 type: string
5520 values:
5521 items:
5522 type: string
5523 type: array
5524 required:
5525 - key
5526 - operator
5527 type: object
5528 type: array
5529 matchLabels:
5530 additionalProperties:
5531 type: string
5532 type: object
5533 type: object
5534 x-kubernetes-map-type: atomic
5535 matchLabelKeys:
5536 items:
5537 type: string
5538 type: array
5539 x-kubernetes-list-type: atomic
5540 mismatchLabelKeys:
5541 items:
5542 type: string
5543 type: array
5544 x-kubernetes-list-type: atomic
5545 namespaceSelector:
5546 properties:
5547 matchExpressions:
5548 items:
5549 properties:
5550 key:
5551 type: string
5552 operator:
5553 type: string
5554 values:
5555 items:
5556 type: string
5557 type: array
5558 required:
5559 - key
5560 - operator
5561 type: object
5562 type: array
5563 matchLabels:
5564 additionalProperties:
5565 type: string
5566 type: object
5567 type: object
5568 x-kubernetes-map-type: atomic
5569 namespaces:
5570 items:
5571 type: string
5572 type: array
5573 topologyKey:
5574 type: string
5575 required:
5576 - topologyKey
5577 type: object
5578 weight:
5579 format: int32
5580 type: integer
5581 required:
5582 - podAffinityTerm
5583 - weight
5584 type: object
5585 type: array
5586 requiredDuringSchedulingIgnoredDuringExecution:
5587 items:
5588 properties:
5589 labelSelector:
5590 properties:
5591 matchExpressions:
5592 items:
5593 properties:
5594 key:
5595 type: string
5596 operator:
5597 type: string
5598 values:
5599 items:
5600 type: string
5601 type: array
5602 required:
5603 - key
5604 - operator
5605 type: object
5606 type: array
5607 matchLabels:
5608 additionalProperties:
5609 type: string
5610 type: object
5611 type: object
5612 x-kubernetes-map-type: atomic
5613 matchLabelKeys:
5614 items:
5615 type: string
5616 type: array
5617 x-kubernetes-list-type: atomic
5618 mismatchLabelKeys:
5619 items:
5620 type: string
5621 type: array
5622 x-kubernetes-list-type: atomic
5623 namespaceSelector:
5624 properties:
5625 matchExpressions:
5626 items:
5627 properties:
5628 key:
5629 type: string
5630 operator:
5631 type: string
5632 values:
5633 items:
5634 type: string
5635 type: array
5636 required:
5637 - key
5638 - operator
5639 type: object
5640 type: array
5641 matchLabels:
5642 additionalProperties:
5643 type: string
5644 type: object
5645 type: object
5646 x-kubernetes-map-type: atomic
5647 namespaces:
5648 items:
5649 type: string
5650 type: array
5651 topologyKey:
5652 type: string
5653 required:
5654 - topologyKey
5655 type: object
5656 type: array
5657 type: object
5658 tolerations:
5659 items:
5660 properties:
5661 effect:
5662 type: string
5663 key:
5664 type: string
5665 operator:
5666 type: string
5667 tolerationSeconds:
5668 format: int64
5669 type: integer
5670 value:
5671 type: string
5672 type: object
5673 type: array
5674 topologySpreadConstraints:
5675 items:
5676 properties:
5677 labelSelector:
5678 properties:
5679 matchExpressions:
5680 items:
5681 properties:
5682 key:
5683 type: string
5684 operator:
5685 type: string
5686 values:
5687 items:
5688 type: string
5689 type: array
5690 required:
5691 - key
5692 - operator
5693 type: object
5694 type: array
5695 matchLabels:
5696 additionalProperties:
5697 type: string
5698 type: object
5699 type: object
5700 x-kubernetes-map-type: atomic
5701 matchLabelKeys:
5702 items:
5703 type: string
5704 type: array
5705 x-kubernetes-list-type: atomic
5706 maxSkew:
5707 format: int32
5708 type: integer
5709 minDomains:
5710 format: int32
5711 type: integer
5712 nodeAffinityPolicy:
5713 type: string
5714 nodeTaintsPolicy:
5715 type: string
5716 topologyKey:
5717 type: string
5718 whenUnsatisfiable:
5719 type: string
5720 required:
5721 - maxSkew
5722 - topologyKey
5723 - whenUnsatisfiable
5724 type: object
5725 type: array
5726 type: object
5727 resources:
5728 description: Resources is the resource requirements for the COSI driver
5729 properties:
5730 claims:
5731 description: |-
5732 Claims lists the names of resources, defined in spec.resourceClaims,
5733 that are used by this container.
5734
5735
5736 This is an alpha field and requires enabling the
5737 DynamicResourceAllocation feature gate.
5738
5739
5740 This field is immutable. It can only be set for containers.
5741 items:
5742 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
5743 properties:
5744 name:
5745 description: |-
5746 Name must match the name of one entry in pod.spec.resourceClaims of
5747 the Pod where this field is used. It makes that resource available
5748 inside a container.
5749 type: string
5750 required:
5751 - name
5752 type: object
5753 type: array
5754 x-kubernetes-list-map-keys:
5755 - name
5756 x-kubernetes-list-type: map
5757 limits:
5758 additionalProperties:
5759 anyOf:
5760 - type: integer
5761 - type: string
5762 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
5763 x-kubernetes-int-or-string: true
5764 description: |-
5765 Limits describes the maximum amount of compute resources allowed.
5766 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
5767 type: object
5768 requests:
5769 additionalProperties:
5770 anyOf:
5771 - type: integer
5772 - type: string
5773 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
5774 x-kubernetes-int-or-string: true
5775 description: |-
5776 Requests describes the minimum amount of compute resources required.
5777 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
5778 otherwise to an implementation-defined value. Requests cannot exceed Limits.
5779 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
5780 type: object
5781 type: object
5782 type: object
5783 required:
5784 - metadata
5785 - spec
5786 type: object
5787 served: true
5788 storage: true
5789---
5790apiVersion: apiextensions.k8s.io/v1
5791kind: CustomResourceDefinition
5792metadata:
5793 annotations:
5794 controller-gen.kubebuilder.io/version: v0.14.0
5795 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +11005796 name: cephfilesystemmirrors.ceph.rook.io
5797spec:
5798 group: ceph.rook.io
5799 names:
5800 kind: CephFilesystemMirror
5801 listKind: CephFilesystemMirrorList
5802 plural: cephfilesystemmirrors
5803 singular: cephfilesystemmirror
5804 scope: Namespaced
5805 versions:
5806 - additionalPrinterColumns:
5807 - jsonPath: .status.phase
5808 name: Phase
5809 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04005810 - jsonPath: .metadata.creationTimestamp
5811 name: Age
5812 type: date
okozachenko120323147262023-01-28 04:16:42 +11005813 name: v1
5814 schema:
5815 openAPIV3Schema:
5816 description: CephFilesystemMirror is the Ceph Filesystem Mirror object definition
5817 properties:
5818 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -04005819 description: |-
5820 APIVersion defines the versioned schema of this representation of an object.
5821 Servers should convert recognized schemas to the latest internal value, and
5822 may reject unrecognized values.
5823 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +11005824 type: string
5825 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -04005826 description: |-
5827 Kind is a string value representing the REST resource this object represents.
5828 Servers may infer this from the endpoint the client submits requests to.
5829 Cannot be updated.
5830 In CamelCase.
5831 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +11005832 type: string
5833 metadata:
5834 type: object
5835 spec:
5836 description: FilesystemMirroringSpec is the filesystem mirroring specification
5837 properties:
5838 annotations:
5839 additionalProperties:
5840 type: string
5841 description: The annotations-related configuration to add/set on each Pod related object.
5842 nullable: true
5843 type: object
5844 labels:
5845 additionalProperties:
5846 type: string
5847 description: The labels-related configuration to add/set on each Pod related object.
5848 nullable: true
5849 type: object
5850 placement:
okozachenko120323147262023-01-28 04:16:42 +11005851 nullable: true
5852 properties:
5853 nodeAffinity:
okozachenko120323147262023-01-28 04:16:42 +11005854 properties:
5855 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11005856 items:
okozachenko120323147262023-01-28 04:16:42 +11005857 properties:
5858 preference:
okozachenko120323147262023-01-28 04:16:42 +11005859 properties:
5860 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11005861 items:
okozachenko120323147262023-01-28 04:16:42 +11005862 properties:
5863 key:
okozachenko120323147262023-01-28 04:16:42 +11005864 type: string
5865 operator:
okozachenko120323147262023-01-28 04:16:42 +11005866 type: string
5867 values:
okozachenko120323147262023-01-28 04:16:42 +11005868 items:
5869 type: string
5870 type: array
5871 required:
5872 - key
5873 - operator
5874 type: object
5875 type: array
5876 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11005877 items:
okozachenko120323147262023-01-28 04:16:42 +11005878 properties:
5879 key:
okozachenko120323147262023-01-28 04:16:42 +11005880 type: string
5881 operator:
okozachenko120323147262023-01-28 04:16:42 +11005882 type: string
5883 values:
okozachenko120323147262023-01-28 04:16:42 +11005884 items:
5885 type: string
5886 type: array
5887 required:
5888 - key
5889 - operator
5890 type: object
5891 type: array
5892 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04005893 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11005894 weight:
okozachenko120323147262023-01-28 04:16:42 +11005895 format: int32
5896 type: integer
5897 required:
5898 - preference
5899 - weight
5900 type: object
5901 type: array
5902 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11005903 properties:
5904 nodeSelectorTerms:
okozachenko120323147262023-01-28 04:16:42 +11005905 items:
okozachenko120323147262023-01-28 04:16:42 +11005906 properties:
5907 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11005908 items:
okozachenko120323147262023-01-28 04:16:42 +11005909 properties:
5910 key:
okozachenko120323147262023-01-28 04:16:42 +11005911 type: string
5912 operator:
okozachenko120323147262023-01-28 04:16:42 +11005913 type: string
5914 values:
okozachenko120323147262023-01-28 04:16:42 +11005915 items:
5916 type: string
5917 type: array
5918 required:
5919 - key
5920 - operator
5921 type: object
5922 type: array
5923 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11005924 items:
okozachenko120323147262023-01-28 04:16:42 +11005925 properties:
5926 key:
okozachenko120323147262023-01-28 04:16:42 +11005927 type: string
5928 operator:
okozachenko120323147262023-01-28 04:16:42 +11005929 type: string
5930 values:
okozachenko120323147262023-01-28 04:16:42 +11005931 items:
5932 type: string
5933 type: array
5934 required:
5935 - key
5936 - operator
5937 type: object
5938 type: array
5939 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04005940 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11005941 type: array
5942 required:
5943 - nodeSelectorTerms
5944 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04005945 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11005946 type: object
5947 podAffinity:
okozachenko120323147262023-01-28 04:16:42 +11005948 properties:
5949 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11005950 items:
okozachenko120323147262023-01-28 04:16:42 +11005951 properties:
5952 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11005953 properties:
5954 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11005955 properties:
5956 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11005957 items:
okozachenko120323147262023-01-28 04:16:42 +11005958 properties:
5959 key:
okozachenko120323147262023-01-28 04:16:42 +11005960 type: string
5961 operator:
okozachenko120323147262023-01-28 04:16:42 +11005962 type: string
5963 values:
okozachenko120323147262023-01-28 04:16:42 +11005964 items:
5965 type: string
5966 type: array
5967 required:
5968 - key
5969 - operator
5970 type: object
5971 type: array
5972 matchLabels:
5973 additionalProperties:
5974 type: string
okozachenko120323147262023-01-28 04:16:42 +11005975 type: object
5976 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04005977 x-kubernetes-map-type: atomic
5978 matchLabelKeys:
5979 items:
5980 type: string
5981 type: array
5982 x-kubernetes-list-type: atomic
5983 mismatchLabelKeys:
5984 items:
5985 type: string
5986 type: array
5987 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11005988 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11005989 properties:
5990 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11005991 items:
okozachenko120323147262023-01-28 04:16:42 +11005992 properties:
5993 key:
okozachenko120323147262023-01-28 04:16:42 +11005994 type: string
5995 operator:
okozachenko120323147262023-01-28 04:16:42 +11005996 type: string
5997 values:
okozachenko120323147262023-01-28 04:16:42 +11005998 items:
5999 type: string
6000 type: array
6001 required:
6002 - key
6003 - operator
6004 type: object
6005 type: array
6006 matchLabels:
6007 additionalProperties:
6008 type: string
okozachenko120323147262023-01-28 04:16:42 +11006009 type: object
6010 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006011 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006012 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11006013 items:
6014 type: string
6015 type: array
6016 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11006017 type: string
6018 required:
6019 - topologyKey
6020 type: object
6021 weight:
okozachenko120323147262023-01-28 04:16:42 +11006022 format: int32
6023 type: integer
6024 required:
6025 - podAffinityTerm
6026 - weight
6027 type: object
6028 type: array
6029 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11006030 items:
okozachenko120323147262023-01-28 04:16:42 +11006031 properties:
6032 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11006033 properties:
6034 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11006035 items:
okozachenko120323147262023-01-28 04:16:42 +11006036 properties:
6037 key:
okozachenko120323147262023-01-28 04:16:42 +11006038 type: string
6039 operator:
okozachenko120323147262023-01-28 04:16:42 +11006040 type: string
6041 values:
okozachenko120323147262023-01-28 04:16:42 +11006042 items:
6043 type: string
6044 type: array
6045 required:
6046 - key
6047 - operator
6048 type: object
6049 type: array
6050 matchLabels:
6051 additionalProperties:
6052 type: string
okozachenko120323147262023-01-28 04:16:42 +11006053 type: object
6054 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006055 x-kubernetes-map-type: atomic
6056 matchLabelKeys:
6057 items:
6058 type: string
6059 type: array
6060 x-kubernetes-list-type: atomic
6061 mismatchLabelKeys:
6062 items:
6063 type: string
6064 type: array
6065 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006066 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11006067 properties:
6068 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11006069 items:
okozachenko120323147262023-01-28 04:16:42 +11006070 properties:
6071 key:
okozachenko120323147262023-01-28 04:16:42 +11006072 type: string
6073 operator:
okozachenko120323147262023-01-28 04:16:42 +11006074 type: string
6075 values:
okozachenko120323147262023-01-28 04:16:42 +11006076 items:
6077 type: string
6078 type: array
6079 required:
6080 - key
6081 - operator
6082 type: object
6083 type: array
6084 matchLabels:
6085 additionalProperties:
6086 type: string
okozachenko120323147262023-01-28 04:16:42 +11006087 type: object
6088 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006089 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006090 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11006091 items:
6092 type: string
6093 type: array
6094 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11006095 type: string
6096 required:
6097 - topologyKey
6098 type: object
6099 type: array
6100 type: object
6101 podAntiAffinity:
okozachenko120323147262023-01-28 04:16:42 +11006102 properties:
6103 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11006104 items:
okozachenko120323147262023-01-28 04:16:42 +11006105 properties:
6106 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11006107 properties:
6108 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11006109 properties:
6110 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11006111 items:
okozachenko120323147262023-01-28 04:16:42 +11006112 properties:
6113 key:
okozachenko120323147262023-01-28 04:16:42 +11006114 type: string
6115 operator:
okozachenko120323147262023-01-28 04:16:42 +11006116 type: string
6117 values:
okozachenko120323147262023-01-28 04:16:42 +11006118 items:
6119 type: string
6120 type: array
6121 required:
6122 - key
6123 - operator
6124 type: object
6125 type: array
6126 matchLabels:
6127 additionalProperties:
6128 type: string
okozachenko120323147262023-01-28 04:16:42 +11006129 type: object
6130 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006131 x-kubernetes-map-type: atomic
6132 matchLabelKeys:
6133 items:
6134 type: string
6135 type: array
6136 x-kubernetes-list-type: atomic
6137 mismatchLabelKeys:
6138 items:
6139 type: string
6140 type: array
6141 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006142 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11006143 properties:
6144 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11006145 items:
okozachenko120323147262023-01-28 04:16:42 +11006146 properties:
6147 key:
okozachenko120323147262023-01-28 04:16:42 +11006148 type: string
6149 operator:
okozachenko120323147262023-01-28 04:16:42 +11006150 type: string
6151 values:
okozachenko120323147262023-01-28 04:16:42 +11006152 items:
6153 type: string
6154 type: array
6155 required:
6156 - key
6157 - operator
6158 type: object
6159 type: array
6160 matchLabels:
6161 additionalProperties:
6162 type: string
okozachenko120323147262023-01-28 04:16:42 +11006163 type: object
6164 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006165 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006166 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11006167 items:
6168 type: string
6169 type: array
6170 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11006171 type: string
6172 required:
6173 - topologyKey
6174 type: object
6175 weight:
okozachenko120323147262023-01-28 04:16:42 +11006176 format: int32
6177 type: integer
6178 required:
6179 - podAffinityTerm
6180 - weight
6181 type: object
6182 type: array
6183 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11006184 items:
okozachenko120323147262023-01-28 04:16:42 +11006185 properties:
6186 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11006187 properties:
6188 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11006189 items:
okozachenko120323147262023-01-28 04:16:42 +11006190 properties:
6191 key:
okozachenko120323147262023-01-28 04:16:42 +11006192 type: string
6193 operator:
okozachenko120323147262023-01-28 04:16:42 +11006194 type: string
6195 values:
okozachenko120323147262023-01-28 04:16:42 +11006196 items:
6197 type: string
6198 type: array
6199 required:
6200 - key
6201 - operator
6202 type: object
6203 type: array
6204 matchLabels:
6205 additionalProperties:
6206 type: string
okozachenko120323147262023-01-28 04:16:42 +11006207 type: object
6208 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006209 x-kubernetes-map-type: atomic
6210 matchLabelKeys:
6211 items:
6212 type: string
6213 type: array
6214 x-kubernetes-list-type: atomic
6215 mismatchLabelKeys:
6216 items:
6217 type: string
6218 type: array
6219 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006220 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11006221 properties:
6222 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11006223 items:
okozachenko120323147262023-01-28 04:16:42 +11006224 properties:
6225 key:
okozachenko120323147262023-01-28 04:16:42 +11006226 type: string
6227 operator:
okozachenko120323147262023-01-28 04:16:42 +11006228 type: string
6229 values:
okozachenko120323147262023-01-28 04:16:42 +11006230 items:
6231 type: string
6232 type: array
6233 required:
6234 - key
6235 - operator
6236 type: object
6237 type: array
6238 matchLabels:
6239 additionalProperties:
6240 type: string
okozachenko120323147262023-01-28 04:16:42 +11006241 type: object
6242 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006243 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006244 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11006245 items:
6246 type: string
6247 type: array
6248 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11006249 type: string
6250 required:
6251 - topologyKey
6252 type: object
6253 type: array
6254 type: object
6255 tolerations:
okozachenko120323147262023-01-28 04:16:42 +11006256 items:
okozachenko120323147262023-01-28 04:16:42 +11006257 properties:
6258 effect:
okozachenko120323147262023-01-28 04:16:42 +11006259 type: string
6260 key:
okozachenko120323147262023-01-28 04:16:42 +11006261 type: string
6262 operator:
okozachenko120323147262023-01-28 04:16:42 +11006263 type: string
6264 tolerationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11006265 format: int64
6266 type: integer
6267 value:
okozachenko120323147262023-01-28 04:16:42 +11006268 type: string
6269 type: object
6270 type: array
6271 topologySpreadConstraints:
okozachenko120323147262023-01-28 04:16:42 +11006272 items:
okozachenko120323147262023-01-28 04:16:42 +11006273 properties:
6274 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11006275 properties:
6276 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11006277 items:
okozachenko120323147262023-01-28 04:16:42 +11006278 properties:
6279 key:
okozachenko120323147262023-01-28 04:16:42 +11006280 type: string
6281 operator:
okozachenko120323147262023-01-28 04:16:42 +11006282 type: string
6283 values:
okozachenko120323147262023-01-28 04:16:42 +11006284 items:
6285 type: string
6286 type: array
6287 required:
6288 - key
6289 - operator
6290 type: object
6291 type: array
6292 matchLabels:
6293 additionalProperties:
6294 type: string
okozachenko120323147262023-01-28 04:16:42 +11006295 type: object
6296 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006297 x-kubernetes-map-type: atomic
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00006298 matchLabelKeys:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00006299 items:
6300 type: string
6301 type: array
6302 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006303 maxSkew:
okozachenko120323147262023-01-28 04:16:42 +11006304 format: int32
6305 type: integer
6306 minDomains:
okozachenko120323147262023-01-28 04:16:42 +11006307 format: int32
6308 type: integer
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00006309 nodeAffinityPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00006310 type: string
6311 nodeTaintsPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00006312 type: string
okozachenko120323147262023-01-28 04:16:42 +11006313 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11006314 type: string
6315 whenUnsatisfiable:
okozachenko120323147262023-01-28 04:16:42 +11006316 type: string
6317 required:
6318 - maxSkew
6319 - topologyKey
6320 - whenUnsatisfiable
6321 type: object
6322 type: array
6323 type: object
6324 priorityClassName:
6325 description: PriorityClassName sets priority class on the cephfs-mirror pods
6326 type: string
6327 resources:
6328 description: The resource requirements for the cephfs-mirror pods
6329 nullable: true
6330 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04006331 claims:
6332 description: |-
6333 Claims lists the names of resources, defined in spec.resourceClaims,
6334 that are used by this container.
6335
6336
6337 This is an alpha field and requires enabling the
6338 DynamicResourceAllocation feature gate.
6339
6340
6341 This field is immutable. It can only be set for containers.
6342 items:
6343 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
6344 properties:
6345 name:
6346 description: |-
6347 Name must match the name of one entry in pod.spec.resourceClaims of
6348 the Pod where this field is used. It makes that resource available
6349 inside a container.
6350 type: string
6351 required:
6352 - name
6353 type: object
6354 type: array
6355 x-kubernetes-list-map-keys:
6356 - name
6357 x-kubernetes-list-type: map
okozachenko120323147262023-01-28 04:16:42 +11006358 limits:
6359 additionalProperties:
6360 anyOf:
6361 - type: integer
6362 - type: string
6363 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
6364 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04006365 description: |-
6366 Limits describes the maximum amount of compute resources allowed.
6367 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11006368 type: object
6369 requests:
6370 additionalProperties:
6371 anyOf:
6372 - type: integer
6373 - type: string
6374 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
6375 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04006376 description: |-
6377 Requests describes the minimum amount of compute resources required.
6378 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
6379 otherwise to an implementation-defined value. Requests cannot exceed Limits.
6380 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11006381 type: object
6382 type: object
6383 type: object
6384 status:
6385 description: Status represents the status of an object
6386 properties:
6387 conditions:
6388 items:
6389 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
6390 properties:
6391 lastHeartbeatTime:
6392 format: date-time
6393 type: string
6394 lastTransitionTime:
6395 format: date-time
6396 type: string
6397 message:
6398 type: string
6399 reason:
6400 description: ConditionReason is a reason for a condition
6401 type: string
6402 status:
6403 type: string
6404 type:
6405 description: ConditionType represent a resource's status
6406 type: string
6407 type: object
6408 type: array
6409 observedGeneration:
6410 description: ObservedGeneration is the latest generation observed by the controller.
6411 format: int64
6412 type: integer
6413 phase:
6414 type: string
6415 type: object
6416 required:
6417 - metadata
6418 - spec
6419 type: object
6420 served: true
6421 storage: true
6422 subresources:
6423 status: {}
okozachenko120323147262023-01-28 04:16:42 +11006424---
6425apiVersion: apiextensions.k8s.io/v1
6426kind: CustomResourceDefinition
6427metadata:
6428 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -04006429 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +11006430 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +11006431 name: cephfilesystems.ceph.rook.io
6432spec:
6433 group: ceph.rook.io
6434 names:
6435 kind: CephFilesystem
6436 listKind: CephFilesystemList
6437 plural: cephfilesystems
6438 singular: cephfilesystem
6439 scope: Namespaced
6440 versions:
6441 - additionalPrinterColumns:
6442 - description: Number of desired active MDS daemons
6443 jsonPath: .spec.metadataServer.activeCount
6444 name: ActiveMDS
6445 type: string
6446 - jsonPath: .metadata.creationTimestamp
6447 name: Age
6448 type: date
6449 - jsonPath: .status.phase
6450 name: Phase
6451 type: string
6452 name: v1
6453 schema:
6454 openAPIV3Schema:
6455 description: CephFilesystem represents a Ceph Filesystem
6456 properties:
6457 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -04006458 description: |-
6459 APIVersion defines the versioned schema of this representation of an object.
6460 Servers should convert recognized schemas to the latest internal value, and
6461 may reject unrecognized values.
6462 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +11006463 type: string
6464 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -04006465 description: |-
6466 Kind is a string value representing the REST resource this object represents.
6467 Servers may infer this from the endpoint the client submits requests to.
6468 Cannot be updated.
6469 In CamelCase.
6470 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +11006471 type: string
6472 metadata:
6473 type: object
6474 spec:
6475 description: FilesystemSpec represents the spec of a file system
6476 properties:
6477 dataPools:
6478 description: The data pool settings, with optional predefined pool name.
6479 items:
6480 description: NamedPoolSpec represents the named ceph pool spec
6481 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04006482 application:
6483 description: The application name to set on the pool. Only expected to be set for rgw pools.
6484 type: string
okozachenko120323147262023-01-28 04:16:42 +11006485 compressionMode:
Mohammed Naser65cda132024-05-02 14:34:08 -04006486 description: |-
6487 DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force"
6488 The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
6489 Do NOT set a default value for kubebuilder as this will override the Parameters
okozachenko120323147262023-01-28 04:16:42 +11006490 enum:
6491 - none
6492 - passive
6493 - aggressive
6494 - force
6495 - ""
6496 nullable: true
6497 type: string
6498 crushRoot:
6499 description: The root of the crush hierarchy utilized by the pool
6500 nullable: true
6501 type: string
6502 deviceClass:
6503 description: The device class the OSD should set to for use in the pool
6504 nullable: true
6505 type: string
6506 enableRBDStats:
6507 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
6508 type: boolean
6509 erasureCoded:
6510 description: The erasure code settings
6511 properties:
6512 algorithm:
6513 description: The algorithm for erasure coding
6514 type: string
6515 codingChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -04006516 description: |-
6517 Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
6518 This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
okozachenko120323147262023-01-28 04:16:42 +11006519 minimum: 0
6520 type: integer
6521 dataChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -04006522 description: |-
6523 Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
6524 The number of chunks required to recover an object when any single OSD is lost is the same
6525 as dataChunks so be aware that the larger the number of data chunks, the higher the cost of recovery.
okozachenko120323147262023-01-28 04:16:42 +11006526 minimum: 0
6527 type: integer
6528 required:
6529 - codingChunks
6530 - dataChunks
6531 type: object
6532 failureDomain:
6533 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
6534 type: string
6535 mirroring:
6536 description: The mirroring settings
6537 properties:
6538 enabled:
6539 description: Enabled whether this pool is mirrored or not
6540 type: boolean
6541 mode:
6542 description: 'Mode is the mirroring mode: either pool or image'
6543 type: string
6544 peers:
6545 description: Peers represents the peers spec
6546 nullable: true
6547 properties:
6548 secretNames:
6549 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
6550 items:
6551 type: string
6552 type: array
6553 type: object
6554 snapshotSchedules:
6555 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
6556 items:
6557 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
6558 properties:
6559 interval:
6560 description: Interval represent the periodicity of the snapshot.
6561 type: string
6562 path:
6563 description: Path is the path to snapshot, only valid for CephFS
6564 type: string
6565 startTime:
6566 description: StartTime indicates when to start the snapshot
6567 type: string
6568 type: object
6569 type: array
6570 type: object
6571 name:
6572 description: Name of the pool
6573 type: string
6574 parameters:
6575 additionalProperties:
6576 type: string
6577 description: Parameters is a list of properties to enable on a given pool
6578 nullable: true
6579 type: object
6580 x-kubernetes-preserve-unknown-fields: true
6581 quotas:
6582 description: The quota settings
6583 nullable: true
6584 properties:
6585 maxBytes:
Mohammed Naser65cda132024-05-02 14:34:08 -04006586 description: |-
6587 MaxBytes represents the quota in bytes
6588 Deprecated in favor of MaxSize
okozachenko120323147262023-01-28 04:16:42 +11006589 format: int64
6590 type: integer
6591 maxObjects:
6592 description: MaxObjects represents the quota in objects
6593 format: int64
6594 type: integer
6595 maxSize:
6596 description: MaxSize represents the quota in bytes as a string
6597 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
6598 type: string
6599 type: object
6600 replicated:
6601 description: The replication settings
6602 properties:
6603 hybridStorage:
6604 description: HybridStorage represents hybrid storage tier settings
6605 nullable: true
6606 properties:
6607 primaryDeviceClass:
6608 description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
6609 minLength: 1
6610 type: string
6611 secondaryDeviceClass:
6612 description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
6613 minLength: 1
6614 type: string
6615 required:
6616 - primaryDeviceClass
6617 - secondaryDeviceClass
6618 type: object
6619 replicasPerFailureDomain:
6620 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
6621 minimum: 1
6622 type: integer
6623 requireSafeReplicaSize:
6624 description: RequireSafeReplicaSize if false allows you to set replica 1
6625 type: boolean
6626 size:
6627 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
6628 minimum: 0
6629 type: integer
6630 subFailureDomain:
6631 description: SubFailureDomain the name of the sub-failure domain
6632 type: string
6633 targetSizeRatio:
6634 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
6635 type: number
6636 required:
6637 - size
6638 type: object
6639 statusCheck:
6640 description: The mirroring statusCheck
6641 properties:
6642 mirror:
6643 description: HealthCheckSpec represents the health check of an object store bucket
6644 nullable: true
6645 properties:
6646 disabled:
6647 type: boolean
6648 interval:
6649 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
6650 type: string
6651 timeout:
6652 type: string
6653 type: object
6654 type: object
6655 x-kubernetes-preserve-unknown-fields: true
6656 type: object
6657 nullable: true
6658 type: array
6659 metadataPool:
6660 description: The metadata pool settings
6661 nullable: true
6662 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04006663 application:
6664 description: The application name to set on the pool. Only expected to be set for rgw pools.
6665 type: string
okozachenko120323147262023-01-28 04:16:42 +11006666 compressionMode:
Mohammed Naser65cda132024-05-02 14:34:08 -04006667 description: |-
6668 DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force"
6669 The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
6670 Do NOT set a default value for kubebuilder as this will override the Parameters
okozachenko120323147262023-01-28 04:16:42 +11006671 enum:
6672 - none
6673 - passive
6674 - aggressive
6675 - force
6676 - ""
6677 nullable: true
6678 type: string
6679 crushRoot:
6680 description: The root of the crush hierarchy utilized by the pool
6681 nullable: true
6682 type: string
6683 deviceClass:
6684 description: The device class the OSD should set to for use in the pool
6685 nullable: true
6686 type: string
6687 enableRBDStats:
6688 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
6689 type: boolean
6690 erasureCoded:
6691 description: The erasure code settings
6692 properties:
6693 algorithm:
6694 description: The algorithm for erasure coding
6695 type: string
6696 codingChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -04006697 description: |-
6698 Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
6699 This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
okozachenko120323147262023-01-28 04:16:42 +11006700 minimum: 0
6701 type: integer
6702 dataChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -04006703 description: |-
6704 Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
6705 The number of chunks required to recover an object when any single OSD is lost is the same
6706 as dataChunks so be aware that the larger the number of data chunks, the higher the cost of recovery.
okozachenko120323147262023-01-28 04:16:42 +11006707 minimum: 0
6708 type: integer
6709 required:
6710 - codingChunks
6711 - dataChunks
6712 type: object
6713 failureDomain:
6714 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
6715 type: string
6716 mirroring:
6717 description: The mirroring settings
6718 properties:
6719 enabled:
6720 description: Enabled whether this pool is mirrored or not
6721 type: boolean
6722 mode:
6723 description: 'Mode is the mirroring mode: either pool or image'
6724 type: string
6725 peers:
6726 description: Peers represents the peers spec
6727 nullable: true
6728 properties:
6729 secretNames:
6730 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
6731 items:
6732 type: string
6733 type: array
6734 type: object
6735 snapshotSchedules:
6736 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
6737 items:
6738 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
6739 properties:
6740 interval:
6741 description: Interval represent the periodicity of the snapshot.
6742 type: string
6743 path:
6744 description: Path is the path to snapshot, only valid for CephFS
6745 type: string
6746 startTime:
6747 description: StartTime indicates when to start the snapshot
6748 type: string
6749 type: object
6750 type: array
6751 type: object
6752 parameters:
6753 additionalProperties:
6754 type: string
6755 description: Parameters is a list of properties to enable on a given pool
6756 nullable: true
6757 type: object
6758 x-kubernetes-preserve-unknown-fields: true
6759 quotas:
6760 description: The quota settings
6761 nullable: true
6762 properties:
6763 maxBytes:
Mohammed Naser65cda132024-05-02 14:34:08 -04006764 description: |-
6765 MaxBytes represents the quota in bytes
6766 Deprecated in favor of MaxSize
okozachenko120323147262023-01-28 04:16:42 +11006767 format: int64
6768 type: integer
6769 maxObjects:
6770 description: MaxObjects represents the quota in objects
6771 format: int64
6772 type: integer
6773 maxSize:
6774 description: MaxSize represents the quota in bytes as a string
6775 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
6776 type: string
6777 type: object
6778 replicated:
6779 description: The replication settings
6780 properties:
6781 hybridStorage:
6782 description: HybridStorage represents hybrid storage tier settings
6783 nullable: true
6784 properties:
6785 primaryDeviceClass:
6786 description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
6787 minLength: 1
6788 type: string
6789 secondaryDeviceClass:
6790 description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
6791 minLength: 1
6792 type: string
6793 required:
6794 - primaryDeviceClass
6795 - secondaryDeviceClass
6796 type: object
6797 replicasPerFailureDomain:
6798 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
6799 minimum: 1
6800 type: integer
6801 requireSafeReplicaSize:
6802 description: RequireSafeReplicaSize if false allows you to set replica 1
6803 type: boolean
6804 size:
6805 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
6806 minimum: 0
6807 type: integer
6808 subFailureDomain:
6809 description: SubFailureDomain the name of the sub-failure domain
6810 type: string
6811 targetSizeRatio:
6812 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
6813 type: number
6814 required:
6815 - size
6816 type: object
6817 statusCheck:
6818 description: The mirroring statusCheck
6819 properties:
6820 mirror:
6821 description: HealthCheckSpec represents the health check of an object store bucket
6822 nullable: true
6823 properties:
6824 disabled:
6825 type: boolean
6826 interval:
6827 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
6828 type: string
6829 timeout:
6830 type: string
6831 type: object
6832 type: object
6833 x-kubernetes-preserve-unknown-fields: true
6834 type: object
6835 metadataServer:
6836 description: The mds pod info
6837 properties:
6838 activeCount:
6839 description: The number of metadata servers that are active. The remaining servers in the cluster will be in standby mode.
6840 format: int32
Mohammed Naser65cda132024-05-02 14:34:08 -04006841 maximum: 50
okozachenko120323147262023-01-28 04:16:42 +11006842 minimum: 1
6843 type: integer
6844 activeStandby:
Mohammed Naser65cda132024-05-02 14:34:08 -04006845 description: |-
6846 Whether each active MDS instance will have an active standby with a warm metadata cache for faster failover.
6847 If false, standbys will still be available, but will not have a warm metadata cache.
okozachenko120323147262023-01-28 04:16:42 +11006848 type: boolean
6849 annotations:
6850 additionalProperties:
6851 type: string
6852 description: The annotations-related configuration to add/set on each Pod related object.
6853 nullable: true
6854 type: object
6855 x-kubernetes-preserve-unknown-fields: true
6856 labels:
6857 additionalProperties:
6858 type: string
6859 description: The labels-related configuration to add/set on each Pod related object.
6860 nullable: true
6861 type: object
6862 x-kubernetes-preserve-unknown-fields: true
6863 livenessProbe:
6864 description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
6865 properties:
6866 disabled:
6867 description: Disabled determines whether probe is disable or not
6868 type: boolean
6869 probe:
Mohammed Naser65cda132024-05-02 14:34:08 -04006870 description: |-
6871 Probe describes a health check to be performed against a container to determine whether it is
6872 alive or ready to receive traffic.
okozachenko120323147262023-01-28 04:16:42 +11006873 properties:
6874 exec:
6875 description: Exec specifies the action to take.
6876 properties:
6877 command:
Mohammed Naser65cda132024-05-02 14:34:08 -04006878 description: |-
6879 Command is the command line to execute inside the container, the working directory for the
6880 command is root ('/') in the container's filesystem. The command is simply exec'd, it is
6881 not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
6882 a shell, you need to explicitly call out to that shell.
6883 Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
okozachenko120323147262023-01-28 04:16:42 +11006884 items:
6885 type: string
6886 type: array
6887 type: object
6888 failureThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -04006889 description: |-
6890 Minimum consecutive failures for the probe to be considered failed after having succeeded.
6891 Defaults to 3. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11006892 format: int32
6893 type: integer
6894 grpc:
Mohammed Naser65cda132024-05-02 14:34:08 -04006895 description: GRPC specifies an action involving a GRPC port.
okozachenko120323147262023-01-28 04:16:42 +11006896 properties:
6897 port:
6898 description: Port number of the gRPC service. Number must be in the range 1 to 65535.
6899 format: int32
6900 type: integer
6901 service:
Mohammed Naser65cda132024-05-02 14:34:08 -04006902 description: |-
6903 Service is the name of the service to place in the gRPC HealthCheckRequest
6904 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
6905
6906
6907 If this is not specified, the default behavior is defined by gRPC.
okozachenko120323147262023-01-28 04:16:42 +11006908 type: string
6909 required:
6910 - port
6911 type: object
6912 httpGet:
6913 description: HTTPGet specifies the http request to perform.
6914 properties:
6915 host:
Mohammed Naser65cda132024-05-02 14:34:08 -04006916 description: |-
6917 Host name to connect to, defaults to the pod IP. You probably want to set
6918 "Host" in httpHeaders instead.
okozachenko120323147262023-01-28 04:16:42 +11006919 type: string
6920 httpHeaders:
6921 description: Custom headers to set in the request. HTTP allows repeated headers.
6922 items:
6923 description: HTTPHeader describes a custom header to be used in HTTP probes
6924 properties:
6925 name:
Mohammed Naser65cda132024-05-02 14:34:08 -04006926 description: |-
6927 The header field name.
6928 This will be canonicalized upon output, so case-variant names will be understood as the same header.
okozachenko120323147262023-01-28 04:16:42 +11006929 type: string
6930 value:
6931 description: The header field value
6932 type: string
6933 required:
6934 - name
6935 - value
6936 type: object
6937 type: array
6938 path:
6939 description: Path to access on the HTTP server.
6940 type: string
6941 port:
6942 anyOf:
6943 - type: integer
6944 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04006945 description: |-
6946 Name or number of the port to access on the container.
6947 Number must be in the range 1 to 65535.
6948 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +11006949 x-kubernetes-int-or-string: true
6950 scheme:
Mohammed Naser65cda132024-05-02 14:34:08 -04006951 description: |-
6952 Scheme to use for connecting to the host.
6953 Defaults to HTTP.
okozachenko120323147262023-01-28 04:16:42 +11006954 type: string
6955 required:
6956 - port
6957 type: object
6958 initialDelaySeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04006959 description: |-
6960 Number of seconds after the container has started before liveness probes are initiated.
6961 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +11006962 format: int32
6963 type: integer
6964 periodSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04006965 description: |-
6966 How often (in seconds) to perform the probe.
6967 Default to 10 seconds. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11006968 format: int32
6969 type: integer
6970 successThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -04006971 description: |-
6972 Minimum consecutive successes for the probe to be considered successful after having failed.
6973 Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11006974 format: int32
6975 type: integer
6976 tcpSocket:
6977 description: TCPSocket specifies an action involving a TCP port.
6978 properties:
6979 host:
6980 description: 'Optional: Host name to connect to, defaults to the pod IP.'
6981 type: string
6982 port:
6983 anyOf:
6984 - type: integer
6985 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04006986 description: |-
6987 Number or name of the port to access on the container.
6988 Number must be in the range 1 to 65535.
6989 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +11006990 x-kubernetes-int-or-string: true
6991 required:
6992 - port
6993 type: object
6994 terminationGracePeriodSeconds:
okozachenko120323147262023-01-28 04:16:42 +11006995 format: int64
6996 type: integer
6997 timeoutSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04006998 description: |-
6999 Number of seconds after which the probe times out.
7000 Defaults to 1 second. Minimum value is 1.
7001 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +11007002 format: int32
7003 type: integer
7004 type: object
7005 type: object
7006 placement:
okozachenko120323147262023-01-28 04:16:42 +11007007 nullable: true
7008 properties:
7009 nodeAffinity:
okozachenko120323147262023-01-28 04:16:42 +11007010 properties:
7011 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11007012 items:
okozachenko120323147262023-01-28 04:16:42 +11007013 properties:
7014 preference:
okozachenko120323147262023-01-28 04:16:42 +11007015 properties:
7016 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007017 items:
okozachenko120323147262023-01-28 04:16:42 +11007018 properties:
7019 key:
okozachenko120323147262023-01-28 04:16:42 +11007020 type: string
7021 operator:
okozachenko120323147262023-01-28 04:16:42 +11007022 type: string
7023 values:
okozachenko120323147262023-01-28 04:16:42 +11007024 items:
7025 type: string
7026 type: array
7027 required:
7028 - key
7029 - operator
7030 type: object
7031 type: array
7032 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11007033 items:
okozachenko120323147262023-01-28 04:16:42 +11007034 properties:
7035 key:
okozachenko120323147262023-01-28 04:16:42 +11007036 type: string
7037 operator:
okozachenko120323147262023-01-28 04:16:42 +11007038 type: string
7039 values:
okozachenko120323147262023-01-28 04:16:42 +11007040 items:
7041 type: string
7042 type: array
7043 required:
7044 - key
7045 - operator
7046 type: object
7047 type: array
7048 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007049 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007050 weight:
okozachenko120323147262023-01-28 04:16:42 +11007051 format: int32
7052 type: integer
7053 required:
7054 - preference
7055 - weight
7056 type: object
7057 type: array
7058 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11007059 properties:
7060 nodeSelectorTerms:
okozachenko120323147262023-01-28 04:16:42 +11007061 items:
okozachenko120323147262023-01-28 04:16:42 +11007062 properties:
7063 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007064 items:
okozachenko120323147262023-01-28 04:16:42 +11007065 properties:
7066 key:
okozachenko120323147262023-01-28 04:16:42 +11007067 type: string
7068 operator:
okozachenko120323147262023-01-28 04:16:42 +11007069 type: string
7070 values:
okozachenko120323147262023-01-28 04:16:42 +11007071 items:
7072 type: string
7073 type: array
7074 required:
7075 - key
7076 - operator
7077 type: object
7078 type: array
7079 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11007080 items:
okozachenko120323147262023-01-28 04:16:42 +11007081 properties:
7082 key:
okozachenko120323147262023-01-28 04:16:42 +11007083 type: string
7084 operator:
okozachenko120323147262023-01-28 04:16:42 +11007085 type: string
7086 values:
okozachenko120323147262023-01-28 04:16:42 +11007087 items:
7088 type: string
7089 type: array
7090 required:
7091 - key
7092 - operator
7093 type: object
7094 type: array
7095 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007096 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007097 type: array
7098 required:
7099 - nodeSelectorTerms
7100 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007101 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007102 type: object
7103 podAffinity:
okozachenko120323147262023-01-28 04:16:42 +11007104 properties:
7105 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11007106 items:
okozachenko120323147262023-01-28 04:16:42 +11007107 properties:
7108 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11007109 properties:
7110 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11007111 properties:
7112 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007113 items:
okozachenko120323147262023-01-28 04:16:42 +11007114 properties:
7115 key:
okozachenko120323147262023-01-28 04:16:42 +11007116 type: string
7117 operator:
okozachenko120323147262023-01-28 04:16:42 +11007118 type: string
7119 values:
okozachenko120323147262023-01-28 04:16:42 +11007120 items:
7121 type: string
7122 type: array
7123 required:
7124 - key
7125 - operator
7126 type: object
7127 type: array
7128 matchLabels:
7129 additionalProperties:
7130 type: string
okozachenko120323147262023-01-28 04:16:42 +11007131 type: object
7132 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007133 x-kubernetes-map-type: atomic
7134 matchLabelKeys:
7135 items:
7136 type: string
7137 type: array
7138 x-kubernetes-list-type: atomic
7139 mismatchLabelKeys:
7140 items:
7141 type: string
7142 type: array
7143 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007144 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11007145 properties:
7146 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007147 items:
okozachenko120323147262023-01-28 04:16:42 +11007148 properties:
7149 key:
okozachenko120323147262023-01-28 04:16:42 +11007150 type: string
7151 operator:
okozachenko120323147262023-01-28 04:16:42 +11007152 type: string
7153 values:
okozachenko120323147262023-01-28 04:16:42 +11007154 items:
7155 type: string
7156 type: array
7157 required:
7158 - key
7159 - operator
7160 type: object
7161 type: array
7162 matchLabels:
7163 additionalProperties:
7164 type: string
okozachenko120323147262023-01-28 04:16:42 +11007165 type: object
7166 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007167 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007168 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11007169 items:
7170 type: string
7171 type: array
7172 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11007173 type: string
7174 required:
7175 - topologyKey
7176 type: object
7177 weight:
okozachenko120323147262023-01-28 04:16:42 +11007178 format: int32
7179 type: integer
7180 required:
7181 - podAffinityTerm
7182 - weight
7183 type: object
7184 type: array
7185 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11007186 items:
okozachenko120323147262023-01-28 04:16:42 +11007187 properties:
7188 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11007189 properties:
7190 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007191 items:
okozachenko120323147262023-01-28 04:16:42 +11007192 properties:
7193 key:
okozachenko120323147262023-01-28 04:16:42 +11007194 type: string
7195 operator:
okozachenko120323147262023-01-28 04:16:42 +11007196 type: string
7197 values:
okozachenko120323147262023-01-28 04:16:42 +11007198 items:
7199 type: string
7200 type: array
7201 required:
7202 - key
7203 - operator
7204 type: object
7205 type: array
7206 matchLabels:
7207 additionalProperties:
7208 type: string
okozachenko120323147262023-01-28 04:16:42 +11007209 type: object
7210 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007211 x-kubernetes-map-type: atomic
7212 matchLabelKeys:
7213 items:
7214 type: string
7215 type: array
7216 x-kubernetes-list-type: atomic
7217 mismatchLabelKeys:
7218 items:
7219 type: string
7220 type: array
7221 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007222 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11007223 properties:
7224 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007225 items:
okozachenko120323147262023-01-28 04:16:42 +11007226 properties:
7227 key:
okozachenko120323147262023-01-28 04:16:42 +11007228 type: string
7229 operator:
okozachenko120323147262023-01-28 04:16:42 +11007230 type: string
7231 values:
okozachenko120323147262023-01-28 04:16:42 +11007232 items:
7233 type: string
7234 type: array
7235 required:
7236 - key
7237 - operator
7238 type: object
7239 type: array
7240 matchLabels:
7241 additionalProperties:
7242 type: string
okozachenko120323147262023-01-28 04:16:42 +11007243 type: object
7244 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007245 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007246 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11007247 items:
7248 type: string
7249 type: array
7250 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11007251 type: string
7252 required:
7253 - topologyKey
7254 type: object
7255 type: array
7256 type: object
7257 podAntiAffinity:
okozachenko120323147262023-01-28 04:16:42 +11007258 properties:
7259 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11007260 items:
okozachenko120323147262023-01-28 04:16:42 +11007261 properties:
7262 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11007263 properties:
7264 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11007265 properties:
7266 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007267 items:
okozachenko120323147262023-01-28 04:16:42 +11007268 properties:
7269 key:
okozachenko120323147262023-01-28 04:16:42 +11007270 type: string
7271 operator:
okozachenko120323147262023-01-28 04:16:42 +11007272 type: string
7273 values:
okozachenko120323147262023-01-28 04:16:42 +11007274 items:
7275 type: string
7276 type: array
7277 required:
7278 - key
7279 - operator
7280 type: object
7281 type: array
7282 matchLabels:
7283 additionalProperties:
7284 type: string
okozachenko120323147262023-01-28 04:16:42 +11007285 type: object
7286 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007287 x-kubernetes-map-type: atomic
7288 matchLabelKeys:
7289 items:
7290 type: string
7291 type: array
7292 x-kubernetes-list-type: atomic
7293 mismatchLabelKeys:
7294 items:
7295 type: string
7296 type: array
7297 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007298 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11007299 properties:
7300 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007301 items:
okozachenko120323147262023-01-28 04:16:42 +11007302 properties:
7303 key:
okozachenko120323147262023-01-28 04:16:42 +11007304 type: string
7305 operator:
okozachenko120323147262023-01-28 04:16:42 +11007306 type: string
7307 values:
okozachenko120323147262023-01-28 04:16:42 +11007308 items:
7309 type: string
7310 type: array
7311 required:
7312 - key
7313 - operator
7314 type: object
7315 type: array
7316 matchLabels:
7317 additionalProperties:
7318 type: string
okozachenko120323147262023-01-28 04:16:42 +11007319 type: object
7320 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007321 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007322 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11007323 items:
7324 type: string
7325 type: array
7326 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11007327 type: string
7328 required:
7329 - topologyKey
7330 type: object
7331 weight:
okozachenko120323147262023-01-28 04:16:42 +11007332 format: int32
7333 type: integer
7334 required:
7335 - podAffinityTerm
7336 - weight
7337 type: object
7338 type: array
7339 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11007340 items:
okozachenko120323147262023-01-28 04:16:42 +11007341 properties:
7342 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11007343 properties:
7344 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007345 items:
okozachenko120323147262023-01-28 04:16:42 +11007346 properties:
7347 key:
okozachenko120323147262023-01-28 04:16:42 +11007348 type: string
7349 operator:
okozachenko120323147262023-01-28 04:16:42 +11007350 type: string
7351 values:
okozachenko120323147262023-01-28 04:16:42 +11007352 items:
7353 type: string
7354 type: array
7355 required:
7356 - key
7357 - operator
7358 type: object
7359 type: array
7360 matchLabels:
7361 additionalProperties:
7362 type: string
okozachenko120323147262023-01-28 04:16:42 +11007363 type: object
7364 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007365 x-kubernetes-map-type: atomic
7366 matchLabelKeys:
7367 items:
7368 type: string
7369 type: array
7370 x-kubernetes-list-type: atomic
7371 mismatchLabelKeys:
7372 items:
7373 type: string
7374 type: array
7375 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007376 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11007377 properties:
7378 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007379 items:
okozachenko120323147262023-01-28 04:16:42 +11007380 properties:
7381 key:
okozachenko120323147262023-01-28 04:16:42 +11007382 type: string
7383 operator:
okozachenko120323147262023-01-28 04:16:42 +11007384 type: string
7385 values:
okozachenko120323147262023-01-28 04:16:42 +11007386 items:
7387 type: string
7388 type: array
7389 required:
7390 - key
7391 - operator
7392 type: object
7393 type: array
7394 matchLabels:
7395 additionalProperties:
7396 type: string
okozachenko120323147262023-01-28 04:16:42 +11007397 type: object
7398 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007399 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007400 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11007401 items:
7402 type: string
7403 type: array
7404 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11007405 type: string
7406 required:
7407 - topologyKey
7408 type: object
7409 type: array
7410 type: object
7411 tolerations:
okozachenko120323147262023-01-28 04:16:42 +11007412 items:
okozachenko120323147262023-01-28 04:16:42 +11007413 properties:
7414 effect:
okozachenko120323147262023-01-28 04:16:42 +11007415 type: string
7416 key:
okozachenko120323147262023-01-28 04:16:42 +11007417 type: string
7418 operator:
okozachenko120323147262023-01-28 04:16:42 +11007419 type: string
7420 tolerationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11007421 format: int64
7422 type: integer
7423 value:
okozachenko120323147262023-01-28 04:16:42 +11007424 type: string
7425 type: object
7426 type: array
7427 topologySpreadConstraints:
okozachenko120323147262023-01-28 04:16:42 +11007428 items:
okozachenko120323147262023-01-28 04:16:42 +11007429 properties:
7430 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11007431 properties:
7432 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007433 items:
okozachenko120323147262023-01-28 04:16:42 +11007434 properties:
7435 key:
okozachenko120323147262023-01-28 04:16:42 +11007436 type: string
7437 operator:
okozachenko120323147262023-01-28 04:16:42 +11007438 type: string
7439 values:
okozachenko120323147262023-01-28 04:16:42 +11007440 items:
7441 type: string
7442 type: array
7443 required:
7444 - key
7445 - operator
7446 type: object
7447 type: array
7448 matchLabels:
7449 additionalProperties:
7450 type: string
okozachenko120323147262023-01-28 04:16:42 +11007451 type: object
7452 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007453 x-kubernetes-map-type: atomic
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00007454 matchLabelKeys:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00007455 items:
7456 type: string
7457 type: array
7458 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007459 maxSkew:
okozachenko120323147262023-01-28 04:16:42 +11007460 format: int32
7461 type: integer
7462 minDomains:
okozachenko120323147262023-01-28 04:16:42 +11007463 format: int32
7464 type: integer
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00007465 nodeAffinityPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00007466 type: string
7467 nodeTaintsPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00007468 type: string
okozachenko120323147262023-01-28 04:16:42 +11007469 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11007470 type: string
7471 whenUnsatisfiable:
okozachenko120323147262023-01-28 04:16:42 +11007472 type: string
7473 required:
7474 - maxSkew
7475 - topologyKey
7476 - whenUnsatisfiable
7477 type: object
7478 type: array
7479 type: object
7480 x-kubernetes-preserve-unknown-fields: true
7481 priorityClassName:
7482 description: PriorityClassName sets priority classes on components
7483 type: string
7484 resources:
Mohammed Naser65cda132024-05-02 14:34:08 -04007485 description: The resource requirements for the mds pods
okozachenko120323147262023-01-28 04:16:42 +11007486 nullable: true
7487 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04007488 claims:
7489 description: |-
7490 Claims lists the names of resources, defined in spec.resourceClaims,
7491 that are used by this container.
7492
7493
7494 This is an alpha field and requires enabling the
7495 DynamicResourceAllocation feature gate.
7496
7497
7498 This field is immutable. It can only be set for containers.
7499 items:
7500 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
7501 properties:
7502 name:
7503 description: |-
7504 Name must match the name of one entry in pod.spec.resourceClaims of
7505 the Pod where this field is used. It makes that resource available
7506 inside a container.
7507 type: string
7508 required:
7509 - name
7510 type: object
7511 type: array
7512 x-kubernetes-list-map-keys:
7513 - name
7514 x-kubernetes-list-type: map
okozachenko120323147262023-01-28 04:16:42 +11007515 limits:
7516 additionalProperties:
7517 anyOf:
7518 - type: integer
7519 - type: string
7520 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
7521 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04007522 description: |-
7523 Limits describes the maximum amount of compute resources allowed.
7524 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11007525 type: object
7526 requests:
7527 additionalProperties:
7528 anyOf:
7529 - type: integer
7530 - type: string
7531 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
7532 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04007533 description: |-
7534 Requests describes the minimum amount of compute resources required.
7535 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
7536 otherwise to an implementation-defined value. Requests cannot exceed Limits.
7537 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11007538 type: object
7539 type: object
7540 x-kubernetes-preserve-unknown-fields: true
7541 startupProbe:
7542 description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
7543 properties:
7544 disabled:
7545 description: Disabled determines whether probe is disable or not
7546 type: boolean
7547 probe:
Mohammed Naser65cda132024-05-02 14:34:08 -04007548 description: |-
7549 Probe describes a health check to be performed against a container to determine whether it is
7550 alive or ready to receive traffic.
okozachenko120323147262023-01-28 04:16:42 +11007551 properties:
7552 exec:
7553 description: Exec specifies the action to take.
7554 properties:
7555 command:
Mohammed Naser65cda132024-05-02 14:34:08 -04007556 description: |-
7557 Command is the command line to execute inside the container, the working directory for the
7558 command is root ('/') in the container's filesystem. The command is simply exec'd, it is
7559 not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
7560 a shell, you need to explicitly call out to that shell.
7561 Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
okozachenko120323147262023-01-28 04:16:42 +11007562 items:
7563 type: string
7564 type: array
7565 type: object
7566 failureThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -04007567 description: |-
7568 Minimum consecutive failures for the probe to be considered failed after having succeeded.
7569 Defaults to 3. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11007570 format: int32
7571 type: integer
7572 grpc:
Mohammed Naser65cda132024-05-02 14:34:08 -04007573 description: GRPC specifies an action involving a GRPC port.
okozachenko120323147262023-01-28 04:16:42 +11007574 properties:
7575 port:
7576 description: Port number of the gRPC service. Number must be in the range 1 to 65535.
7577 format: int32
7578 type: integer
7579 service:
Mohammed Naser65cda132024-05-02 14:34:08 -04007580 description: |-
7581 Service is the name of the service to place in the gRPC HealthCheckRequest
7582 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
7583
7584
7585 If this is not specified, the default behavior is defined by gRPC.
okozachenko120323147262023-01-28 04:16:42 +11007586 type: string
7587 required:
7588 - port
7589 type: object
7590 httpGet:
7591 description: HTTPGet specifies the http request to perform.
7592 properties:
7593 host:
Mohammed Naser65cda132024-05-02 14:34:08 -04007594 description: |-
7595 Host name to connect to, defaults to the pod IP. You probably want to set
7596 "Host" in httpHeaders instead.
okozachenko120323147262023-01-28 04:16:42 +11007597 type: string
7598 httpHeaders:
7599 description: Custom headers to set in the request. HTTP allows repeated headers.
7600 items:
7601 description: HTTPHeader describes a custom header to be used in HTTP probes
7602 properties:
7603 name:
Mohammed Naser65cda132024-05-02 14:34:08 -04007604 description: |-
7605 The header field name.
7606 This will be canonicalized upon output, so case-variant names will be understood as the same header.
okozachenko120323147262023-01-28 04:16:42 +11007607 type: string
7608 value:
7609 description: The header field value
7610 type: string
7611 required:
7612 - name
7613 - value
7614 type: object
7615 type: array
7616 path:
7617 description: Path to access on the HTTP server.
7618 type: string
7619 port:
7620 anyOf:
7621 - type: integer
7622 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04007623 description: |-
7624 Name or number of the port to access on the container.
7625 Number must be in the range 1 to 65535.
7626 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +11007627 x-kubernetes-int-or-string: true
7628 scheme:
Mohammed Naser65cda132024-05-02 14:34:08 -04007629 description: |-
7630 Scheme to use for connecting to the host.
7631 Defaults to HTTP.
okozachenko120323147262023-01-28 04:16:42 +11007632 type: string
7633 required:
7634 - port
7635 type: object
7636 initialDelaySeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04007637 description: |-
7638 Number of seconds after the container has started before liveness probes are initiated.
7639 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +11007640 format: int32
7641 type: integer
7642 periodSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04007643 description: |-
7644 How often (in seconds) to perform the probe.
7645 Default to 10 seconds. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11007646 format: int32
7647 type: integer
7648 successThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -04007649 description: |-
7650 Minimum consecutive successes for the probe to be considered successful after having failed.
7651 Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11007652 format: int32
7653 type: integer
7654 tcpSocket:
7655 description: TCPSocket specifies an action involving a TCP port.
7656 properties:
7657 host:
7658 description: 'Optional: Host name to connect to, defaults to the pod IP.'
7659 type: string
7660 port:
7661 anyOf:
7662 - type: integer
7663 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04007664 description: |-
7665 Number or name of the port to access on the container.
7666 Number must be in the range 1 to 65535.
7667 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +11007668 x-kubernetes-int-or-string: true
7669 required:
7670 - port
7671 type: object
7672 terminationGracePeriodSeconds:
okozachenko120323147262023-01-28 04:16:42 +11007673 format: int64
7674 type: integer
7675 timeoutSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04007676 description: |-
7677 Number of seconds after which the probe times out.
7678 Defaults to 1 second. Minimum value is 1.
7679 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +11007680 format: int32
7681 type: integer
7682 type: object
7683 type: object
7684 required:
7685 - activeCount
7686 type: object
7687 mirroring:
7688 description: The mirroring settings
7689 nullable: true
7690 properties:
7691 enabled:
7692 description: Enabled whether this filesystem is mirrored or not
7693 type: boolean
7694 peers:
7695 description: Peers represents the peers spec
7696 nullable: true
7697 properties:
7698 secretNames:
7699 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
7700 items:
7701 type: string
7702 type: array
7703 type: object
7704 snapshotRetention:
Mohammed Naser65cda132024-05-02 14:34:08 -04007705 description: |-
7706 Retention is the retention policy for a snapshot schedule
7707 One path has exactly one retention policy.
7708 A policy can however contain multiple count-time period pairs in order to specify complex retention policies
okozachenko120323147262023-01-28 04:16:42 +11007709 items:
7710 description: SnapshotScheduleRetentionSpec is a retention policy
7711 properties:
7712 duration:
7713 description: Duration represents the retention duration for a snapshot
7714 type: string
7715 path:
7716 description: Path is the path to snapshot
7717 type: string
7718 type: object
7719 type: array
7720 snapshotSchedules:
7721 description: SnapshotSchedules is the scheduling of snapshot for mirrored filesystems
7722 items:
7723 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
7724 properties:
7725 interval:
7726 description: Interval represent the periodicity of the snapshot.
7727 type: string
7728 path:
7729 description: Path is the path to snapshot, only valid for CephFS
7730 type: string
7731 startTime:
7732 description: StartTime indicates when to start the snapshot
7733 type: string
7734 type: object
7735 type: array
7736 type: object
7737 preserveFilesystemOnDelete:
7738 description: Preserve the fs in the cluster on CephFilesystem CR deletion. Setting this to true automatically implies PreservePoolsOnDelete is true.
7739 type: boolean
7740 preservePoolsOnDelete:
7741 description: Preserve pools on filesystem deletion
7742 type: boolean
7743 statusCheck:
7744 description: The mirroring statusCheck
7745 properties:
7746 mirror:
7747 description: HealthCheckSpec represents the health check of an object store bucket
7748 nullable: true
7749 properties:
7750 disabled:
7751 type: boolean
7752 interval:
7753 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
7754 type: string
7755 timeout:
7756 type: string
7757 type: object
7758 type: object
7759 x-kubernetes-preserve-unknown-fields: true
7760 required:
7761 - dataPools
7762 - metadataPool
7763 - metadataServer
7764 type: object
7765 status:
7766 description: CephFilesystemStatus represents the status of a Ceph Filesystem
7767 properties:
7768 conditions:
7769 items:
7770 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
7771 properties:
7772 lastHeartbeatTime:
7773 format: date-time
7774 type: string
7775 lastTransitionTime:
7776 format: date-time
7777 type: string
7778 message:
7779 type: string
7780 reason:
7781 description: ConditionReason is a reason for a condition
7782 type: string
7783 status:
7784 type: string
7785 type:
7786 description: ConditionType represent a resource's status
7787 type: string
7788 type: object
7789 type: array
7790 info:
7791 additionalProperties:
7792 type: string
7793 description: Use only info and put mirroringStatus in it?
7794 nullable: true
7795 type: object
7796 mirroringStatus:
7797 description: MirroringStatus is the filesystem mirroring status
7798 properties:
7799 daemonsStatus:
7800 description: PoolMirroringStatus is the mirroring status of a filesystem
7801 items:
7802 description: FilesystemMirrorInfoSpec is the filesystem mirror status of a given filesystem
7803 properties:
7804 daemon_id:
7805 description: DaemonID is the cephfs-mirror name
7806 type: integer
7807 filesystems:
7808 description: Filesystems is the list of filesystems managed by a given cephfs-mirror daemon
7809 items:
7810 description: FilesystemsSpec is spec for the mirrored filesystem
7811 properties:
7812 directory_count:
7813 description: DirectoryCount is the number of directories in the filesystem
7814 type: integer
7815 filesystem_id:
7816 description: FilesystemID is the filesystem identifier
7817 type: integer
7818 name:
7819 description: Name is name of the filesystem
7820 type: string
7821 peers:
7822 description: Peers represents the mirroring peers
7823 items:
7824 description: FilesystemMirrorInfoPeerSpec is the specification of a filesystem peer mirror
7825 properties:
7826 remote:
7827 description: Remote are the remote cluster information
7828 properties:
7829 client_name:
7830 description: ClientName is cephx name
7831 type: string
7832 cluster_name:
7833 description: ClusterName is the name of the cluster
7834 type: string
7835 fs_name:
7836 description: FsName is the filesystem name
7837 type: string
7838 type: object
7839 stats:
7840 description: Stats are the stat a peer mirror
7841 properties:
7842 failure_count:
7843 description: FailureCount is the number of mirroring failure
7844 type: integer
7845 recovery_count:
7846 description: RecoveryCount is the number of recovery attempted after failures
7847 type: integer
7848 type: object
7849 uuid:
7850 description: UUID is the peer unique identifier
7851 type: string
7852 type: object
7853 type: array
7854 type: object
7855 type: array
7856 type: object
7857 nullable: true
7858 type: array
7859 details:
7860 description: Details contains potential status errors
7861 type: string
7862 lastChanged:
7863 description: LastChanged is the last time time the status last changed
7864 type: string
7865 lastChecked:
7866 description: LastChecked is the last time time the status was checked
7867 type: string
7868 type: object
7869 observedGeneration:
7870 description: ObservedGeneration is the latest generation observed by the controller.
7871 format: int64
7872 type: integer
7873 phase:
7874 description: ConditionType represent a resource's status
7875 type: string
7876 snapshotScheduleStatus:
7877 description: FilesystemSnapshotScheduleStatusSpec is the status of the snapshot schedule
7878 properties:
7879 details:
7880 description: Details contains potential status errors
7881 type: string
7882 lastChanged:
7883 description: LastChanged is the last time time the status last changed
7884 type: string
7885 lastChecked:
7886 description: LastChecked is the last time time the status was checked
7887 type: string
7888 snapshotSchedules:
7889 description: SnapshotSchedules is the list of snapshots scheduled
7890 items:
7891 description: FilesystemSnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool
7892 properties:
7893 fs:
7894 description: Fs is the name of the Ceph Filesystem
7895 type: string
7896 path:
7897 description: Path is the path on the filesystem
7898 type: string
7899 rel_path:
7900 type: string
7901 retention:
7902 description: FilesystemSnapshotScheduleStatusRetention is the retention specification for a filesystem snapshot schedule
7903 properties:
7904 active:
7905 description: Active is whether the scheduled is active or not
7906 type: boolean
7907 created:
7908 description: Created is when the snapshot schedule was created
7909 type: string
7910 created_count:
7911 description: CreatedCount is total amount of snapshots
7912 type: integer
7913 first:
7914 description: First is when the first snapshot schedule was taken
7915 type: string
7916 last:
7917 description: Last is when the last snapshot schedule was taken
7918 type: string
7919 last_pruned:
7920 description: LastPruned is when the last snapshot schedule was pruned
7921 type: string
7922 pruned_count:
7923 description: PrunedCount is total amount of pruned snapshots
7924 type: integer
7925 start:
7926 description: Start is when the snapshot schedule starts
7927 type: string
7928 type: object
7929 schedule:
7930 type: string
7931 subvol:
7932 description: Subvol is the name of the sub volume
7933 type: string
7934 type: object
7935 nullable: true
7936 type: array
7937 type: object
7938 type: object
7939 x-kubernetes-preserve-unknown-fields: true
7940 required:
7941 - metadata
7942 - spec
7943 type: object
7944 served: true
7945 storage: true
7946 subresources:
7947 status: {}
okozachenko120323147262023-01-28 04:16:42 +11007948---
7949apiVersion: apiextensions.k8s.io/v1
7950kind: CustomResourceDefinition
7951metadata:
7952 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -04007953 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +11007954 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +11007955 name: cephfilesystemsubvolumegroups.ceph.rook.io
7956spec:
7957 group: ceph.rook.io
7958 names:
7959 kind: CephFilesystemSubVolumeGroup
7960 listKind: CephFilesystemSubVolumeGroupList
7961 plural: cephfilesystemsubvolumegroups
7962 singular: cephfilesystemsubvolumegroup
7963 scope: Namespaced
7964 versions:
7965 - additionalPrinterColumns:
7966 - jsonPath: .status.phase
7967 name: Phase
7968 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04007969 - description: Name of the CephFileSystem
7970 jsonPath: .spec.filesystemName
7971 name: Filesystem
7972 type: string
7973 - jsonPath: .spec.quota
7974 name: Quota
7975 type: string
7976 - jsonPath: .status.info.pinning
7977 name: Pinning
7978 priority: 1
7979 type: string
7980 - jsonPath: .metadata.creationTimestamp
7981 name: Age
7982 type: date
okozachenko120323147262023-01-28 04:16:42 +11007983 name: v1
7984 schema:
7985 openAPIV3Schema:
7986 description: CephFilesystemSubVolumeGroup represents a Ceph Filesystem SubVolumeGroup
7987 properties:
7988 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -04007989 description: |-
7990 APIVersion defines the versioned schema of this representation of an object.
7991 Servers should convert recognized schemas to the latest internal value, and
7992 may reject unrecognized values.
7993 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +11007994 type: string
7995 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -04007996 description: |-
7997 Kind is a string value representing the REST resource this object represents.
7998 Servers may infer this from the endpoint the client submits requests to.
7999 Cannot be updated.
8000 In CamelCase.
8001 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +11008002 type: string
8003 metadata:
8004 type: object
8005 spec:
8006 description: Spec represents the specification of a Ceph Filesystem SubVolumeGroup
8007 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04008008 dataPoolName:
8009 description: The data pool name for the Ceph Filesystem subvolume group layout, if the default CephFS pool is not desired.
okozachenko120323147262023-01-28 04:16:42 +11008010 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04008011 filesystemName:
8012 description: |-
8013 FilesystemName is the name of Ceph Filesystem SubVolumeGroup volume name. Typically it's the name of
8014 the CephFilesystem CR. If not coming from the CephFilesystem CR, it can be retrieved from the
8015 list of Ceph Filesystem volumes with `ceph fs volume ls`. To learn more about Ceph Filesystem
8016 abstractions see https://docs.ceph.com/en/latest/cephfs/fs-volumes/#fs-volumes-and-subvolumes
8017 type: string
8018 x-kubernetes-validations:
8019 - message: filesystemName is immutable
8020 rule: self == oldSelf
8021 name:
8022 description: The name of the subvolume group. If not set, the default is the name of the subvolumeGroup CR.
8023 type: string
8024 x-kubernetes-validations:
8025 - message: name is immutable
8026 rule: self == oldSelf
8027 pinning:
8028 description: |-
8029 Pinning configuration of CephFilesystemSubVolumeGroup,
8030 reference https://docs.ceph.com/en/latest/cephfs/fs-volumes/#pinning-subvolumes-and-subvolume-groups
8031 only one out of (export, distributed, random) can be set at a time
8032 properties:
8033 distributed:
8034 maximum: 1
8035 minimum: 0
8036 nullable: true
8037 type: integer
8038 export:
8039 maximum: 256
8040 minimum: -1
8041 nullable: true
8042 type: integer
8043 random:
8044 maximum: 1
8045 minimum: 0
8046 nullable: true
8047 type: number
8048 type: object
8049 x-kubernetes-validations:
8050 - message: only one pinning type should be set
8051 rule: (has(self.export) && !has(self.distributed) && !has(self.random)) || (!has(self.export) && has(self.distributed) && !has(self.random)) || (!has(self.export) && !has(self.distributed) && has(self.random)) || (!has(self.export) && !has(self.distributed) && !has(self.random))
8052 quota:
8053 anyOf:
8054 - type: integer
8055 - type: string
8056 description: Quota size of the Ceph Filesystem subvolume group.
8057 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8058 x-kubernetes-int-or-string: true
okozachenko120323147262023-01-28 04:16:42 +11008059 required:
8060 - filesystemName
8061 type: object
8062 status:
8063 description: Status represents the status of a CephFilesystem SubvolumeGroup
8064 properties:
8065 info:
8066 additionalProperties:
8067 type: string
8068 nullable: true
8069 type: object
8070 observedGeneration:
8071 description: ObservedGeneration is the latest generation observed by the controller.
8072 format: int64
8073 type: integer
8074 phase:
8075 description: ConditionType represent a resource's status
8076 type: string
8077 type: object
8078 x-kubernetes-preserve-unknown-fields: true
8079 required:
8080 - metadata
8081 - spec
8082 type: object
8083 served: true
8084 storage: true
8085 subresources:
8086 status: {}
okozachenko120323147262023-01-28 04:16:42 +11008087---
8088apiVersion: apiextensions.k8s.io/v1
8089kind: CustomResourceDefinition
8090metadata:
8091 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -04008092 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +11008093 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +11008094 name: cephnfses.ceph.rook.io
8095spec:
8096 group: ceph.rook.io
8097 names:
8098 kind: CephNFS
8099 listKind: CephNFSList
8100 plural: cephnfses
8101 shortNames:
8102 - nfs
8103 singular: cephnfs
8104 scope: Namespaced
8105 versions:
8106 - name: v1
8107 schema:
8108 openAPIV3Schema:
8109 description: CephNFS represents a Ceph NFS
8110 properties:
8111 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -04008112 description: |-
8113 APIVersion defines the versioned schema of this representation of an object.
8114 Servers should convert recognized schemas to the latest internal value, and
8115 may reject unrecognized values.
8116 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +11008117 type: string
8118 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -04008119 description: |-
8120 Kind is a string value representing the REST resource this object represents.
8121 Servers may infer this from the endpoint the client submits requests to.
8122 Cannot be updated.
8123 In CamelCase.
8124 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +11008125 type: string
8126 metadata:
8127 type: object
8128 spec:
8129 description: NFSGaneshaSpec represents the spec of an nfs ganesha server
8130 properties:
8131 rados:
8132 description: RADOS is the Ganesha RADOS specification
8133 nullable: true
8134 properties:
8135 namespace:
Mohammed Naser65cda132024-05-02 14:34:08 -04008136 description: |-
8137 The namespace inside the Ceph pool (set by 'pool') where shared NFS-Ganesha config is stored.
8138 This setting is deprecated as it is internally set to the name of the CephNFS.
okozachenko120323147262023-01-28 04:16:42 +11008139 type: string
8140 pool:
Mohammed Naser65cda132024-05-02 14:34:08 -04008141 description: |-
8142 The Ceph pool used store the shared configuration for NFS-Ganesha daemons.
8143 This setting is deprecated, as it is internally required to be ".nfs".
okozachenko120323147262023-01-28 04:16:42 +11008144 type: string
8145 type: object
8146 security:
8147 description: Security allows specifying security configurations for the NFS cluster
8148 nullable: true
8149 properties:
8150 kerberos:
8151 description: Kerberos configures NFS-Ganesha to secure NFS client connections with Kerberos.
8152 nullable: true
8153 properties:
8154 configFiles:
Mohammed Naser65cda132024-05-02 14:34:08 -04008155 description: |-
8156 ConfigFiles defines where the Kerberos configuration should be sourced from. Config files
8157 will be placed into the `/etc/krb5.conf.rook/` directory.
8158
8159
8160 If this is left empty, Rook will not add any files. This allows you to manage the files
8161 yourself however you wish. For example, you may build them into your custom Ceph container
8162 image or use the Vault agent injector to securely add the files via annotations on the
8163 CephNFS spec (passed to the NFS server pods).
8164
8165
8166 Rook configures Kerberos to log to stderr. We suggest removing logging sections from config
8167 files to avoid consuming unnecessary disk space from logging to files.
okozachenko120323147262023-01-28 04:16:42 +11008168 properties:
8169 volumeSource:
okozachenko120323147262023-01-28 04:16:42 +11008170 properties:
okozachenko120323147262023-01-28 04:16:42 +11008171 configMap:
okozachenko120323147262023-01-28 04:16:42 +11008172 properties:
8173 defaultMode:
okozachenko120323147262023-01-28 04:16:42 +11008174 format: int32
8175 type: integer
8176 items:
okozachenko120323147262023-01-28 04:16:42 +11008177 items:
okozachenko120323147262023-01-28 04:16:42 +11008178 properties:
8179 key:
okozachenko120323147262023-01-28 04:16:42 +11008180 type: string
8181 mode:
okozachenko120323147262023-01-28 04:16:42 +11008182 format: int32
8183 type: integer
8184 path:
okozachenko120323147262023-01-28 04:16:42 +11008185 type: string
8186 required:
8187 - key
8188 - path
8189 type: object
8190 type: array
8191 name:
okozachenko120323147262023-01-28 04:16:42 +11008192 type: string
8193 optional:
okozachenko120323147262023-01-28 04:16:42 +11008194 type: boolean
8195 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008196 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008197 emptyDir:
okozachenko120323147262023-01-28 04:16:42 +11008198 properties:
8199 medium:
okozachenko120323147262023-01-28 04:16:42 +11008200 type: string
8201 sizeLimit:
8202 anyOf:
8203 - type: integer
8204 - type: string
okozachenko120323147262023-01-28 04:16:42 +11008205 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8206 x-kubernetes-int-or-string: true
8207 type: object
okozachenko120323147262023-01-28 04:16:42 +11008208 hostPath:
okozachenko120323147262023-01-28 04:16:42 +11008209 properties:
8210 path:
okozachenko120323147262023-01-28 04:16:42 +11008211 type: string
8212 type:
okozachenko120323147262023-01-28 04:16:42 +11008213 type: string
8214 required:
8215 - path
8216 type: object
okozachenko120323147262023-01-28 04:16:42 +11008217 persistentVolumeClaim:
okozachenko120323147262023-01-28 04:16:42 +11008218 properties:
8219 claimName:
okozachenko120323147262023-01-28 04:16:42 +11008220 type: string
8221 readOnly:
okozachenko120323147262023-01-28 04:16:42 +11008222 type: boolean
8223 required:
8224 - claimName
8225 type: object
okozachenko120323147262023-01-28 04:16:42 +11008226 projected:
okozachenko120323147262023-01-28 04:16:42 +11008227 properties:
8228 defaultMode:
okozachenko120323147262023-01-28 04:16:42 +11008229 format: int32
8230 type: integer
8231 sources:
okozachenko120323147262023-01-28 04:16:42 +11008232 items:
okozachenko120323147262023-01-28 04:16:42 +11008233 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04008234 clusterTrustBundle:
8235 properties:
8236 labelSelector:
8237 properties:
8238 matchExpressions:
8239 items:
8240 properties:
8241 key:
8242 type: string
8243 operator:
8244 type: string
8245 values:
8246 items:
8247 type: string
8248 type: array
8249 required:
8250 - key
8251 - operator
8252 type: object
8253 type: array
8254 matchLabels:
8255 additionalProperties:
8256 type: string
8257 type: object
8258 type: object
8259 x-kubernetes-map-type: atomic
8260 name:
8261 type: string
8262 optional:
8263 type: boolean
8264 path:
8265 type: string
8266 signerName:
8267 type: string
8268 required:
8269 - path
8270 type: object
okozachenko120323147262023-01-28 04:16:42 +11008271 configMap:
okozachenko120323147262023-01-28 04:16:42 +11008272 properties:
8273 items:
okozachenko120323147262023-01-28 04:16:42 +11008274 items:
okozachenko120323147262023-01-28 04:16:42 +11008275 properties:
8276 key:
okozachenko120323147262023-01-28 04:16:42 +11008277 type: string
8278 mode:
okozachenko120323147262023-01-28 04:16:42 +11008279 format: int32
8280 type: integer
8281 path:
okozachenko120323147262023-01-28 04:16:42 +11008282 type: string
8283 required:
8284 - key
8285 - path
8286 type: object
8287 type: array
8288 name:
okozachenko120323147262023-01-28 04:16:42 +11008289 type: string
8290 optional:
okozachenko120323147262023-01-28 04:16:42 +11008291 type: boolean
8292 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008293 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008294 downwardAPI:
okozachenko120323147262023-01-28 04:16:42 +11008295 properties:
8296 items:
okozachenko120323147262023-01-28 04:16:42 +11008297 items:
okozachenko120323147262023-01-28 04:16:42 +11008298 properties:
8299 fieldRef:
okozachenko120323147262023-01-28 04:16:42 +11008300 properties:
8301 apiVersion:
okozachenko120323147262023-01-28 04:16:42 +11008302 type: string
8303 fieldPath:
okozachenko120323147262023-01-28 04:16:42 +11008304 type: string
8305 required:
8306 - fieldPath
8307 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008308 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008309 mode:
okozachenko120323147262023-01-28 04:16:42 +11008310 format: int32
8311 type: integer
8312 path:
okozachenko120323147262023-01-28 04:16:42 +11008313 type: string
8314 resourceFieldRef:
okozachenko120323147262023-01-28 04:16:42 +11008315 properties:
8316 containerName:
okozachenko120323147262023-01-28 04:16:42 +11008317 type: string
8318 divisor:
8319 anyOf:
8320 - type: integer
8321 - type: string
okozachenko120323147262023-01-28 04:16:42 +11008322 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8323 x-kubernetes-int-or-string: true
8324 resource:
okozachenko120323147262023-01-28 04:16:42 +11008325 type: string
8326 required:
8327 - resource
8328 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008329 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008330 required:
8331 - path
8332 type: object
8333 type: array
8334 type: object
8335 secret:
okozachenko120323147262023-01-28 04:16:42 +11008336 properties:
8337 items:
okozachenko120323147262023-01-28 04:16:42 +11008338 items:
okozachenko120323147262023-01-28 04:16:42 +11008339 properties:
8340 key:
okozachenko120323147262023-01-28 04:16:42 +11008341 type: string
8342 mode:
okozachenko120323147262023-01-28 04:16:42 +11008343 format: int32
8344 type: integer
8345 path:
okozachenko120323147262023-01-28 04:16:42 +11008346 type: string
8347 required:
8348 - key
8349 - path
8350 type: object
8351 type: array
8352 name:
okozachenko120323147262023-01-28 04:16:42 +11008353 type: string
8354 optional:
okozachenko120323147262023-01-28 04:16:42 +11008355 type: boolean
8356 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008357 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008358 serviceAccountToken:
okozachenko120323147262023-01-28 04:16:42 +11008359 properties:
8360 audience:
okozachenko120323147262023-01-28 04:16:42 +11008361 type: string
8362 expirationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11008363 format: int64
8364 type: integer
8365 path:
okozachenko120323147262023-01-28 04:16:42 +11008366 type: string
8367 required:
8368 - path
8369 type: object
8370 type: object
8371 type: array
8372 type: object
okozachenko120323147262023-01-28 04:16:42 +11008373 secret:
okozachenko120323147262023-01-28 04:16:42 +11008374 properties:
8375 defaultMode:
okozachenko120323147262023-01-28 04:16:42 +11008376 format: int32
8377 type: integer
8378 items:
okozachenko120323147262023-01-28 04:16:42 +11008379 items:
okozachenko120323147262023-01-28 04:16:42 +11008380 properties:
8381 key:
okozachenko120323147262023-01-28 04:16:42 +11008382 type: string
8383 mode:
okozachenko120323147262023-01-28 04:16:42 +11008384 format: int32
8385 type: integer
8386 path:
okozachenko120323147262023-01-28 04:16:42 +11008387 type: string
8388 required:
8389 - key
8390 - path
8391 type: object
8392 type: array
8393 optional:
okozachenko120323147262023-01-28 04:16:42 +11008394 type: boolean
8395 secretName:
okozachenko120323147262023-01-28 04:16:42 +11008396 type: string
8397 type: object
okozachenko120323147262023-01-28 04:16:42 +11008398 type: object
8399 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008400 domainName:
8401 description: DomainName should be set to the Kerberos Realm.
8402 type: string
okozachenko120323147262023-01-28 04:16:42 +11008403 keytabFile:
Mohammed Naser65cda132024-05-02 14:34:08 -04008404 description: |-
8405 KeytabFile defines where the Kerberos keytab should be sourced from. The keytab file will be
8406 placed into `/etc/krb5.keytab`. If this is left empty, Rook will not add the file.
8407 This allows you to manage the `krb5.keytab` file yourself however you wish. For example, you
8408 may build it into your custom Ceph container image or use the Vault agent injector to
8409 securely add the file via annotations on the CephNFS spec (passed to the NFS server pods).
okozachenko120323147262023-01-28 04:16:42 +11008410 properties:
8411 volumeSource:
okozachenko120323147262023-01-28 04:16:42 +11008412 properties:
okozachenko120323147262023-01-28 04:16:42 +11008413 configMap:
okozachenko120323147262023-01-28 04:16:42 +11008414 properties:
8415 defaultMode:
okozachenko120323147262023-01-28 04:16:42 +11008416 format: int32
8417 type: integer
8418 items:
okozachenko120323147262023-01-28 04:16:42 +11008419 items:
okozachenko120323147262023-01-28 04:16:42 +11008420 properties:
8421 key:
okozachenko120323147262023-01-28 04:16:42 +11008422 type: string
8423 mode:
okozachenko120323147262023-01-28 04:16:42 +11008424 format: int32
8425 type: integer
8426 path:
okozachenko120323147262023-01-28 04:16:42 +11008427 type: string
8428 required:
8429 - key
8430 - path
8431 type: object
8432 type: array
8433 name:
okozachenko120323147262023-01-28 04:16:42 +11008434 type: string
8435 optional:
okozachenko120323147262023-01-28 04:16:42 +11008436 type: boolean
8437 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008438 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008439 emptyDir:
okozachenko120323147262023-01-28 04:16:42 +11008440 properties:
8441 medium:
okozachenko120323147262023-01-28 04:16:42 +11008442 type: string
8443 sizeLimit:
8444 anyOf:
8445 - type: integer
8446 - type: string
okozachenko120323147262023-01-28 04:16:42 +11008447 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8448 x-kubernetes-int-or-string: true
8449 type: object
okozachenko120323147262023-01-28 04:16:42 +11008450 hostPath:
okozachenko120323147262023-01-28 04:16:42 +11008451 properties:
8452 path:
okozachenko120323147262023-01-28 04:16:42 +11008453 type: string
8454 type:
okozachenko120323147262023-01-28 04:16:42 +11008455 type: string
8456 required:
8457 - path
8458 type: object
okozachenko120323147262023-01-28 04:16:42 +11008459 persistentVolumeClaim:
okozachenko120323147262023-01-28 04:16:42 +11008460 properties:
8461 claimName:
okozachenko120323147262023-01-28 04:16:42 +11008462 type: string
8463 readOnly:
okozachenko120323147262023-01-28 04:16:42 +11008464 type: boolean
8465 required:
8466 - claimName
8467 type: object
okozachenko120323147262023-01-28 04:16:42 +11008468 projected:
okozachenko120323147262023-01-28 04:16:42 +11008469 properties:
8470 defaultMode:
okozachenko120323147262023-01-28 04:16:42 +11008471 format: int32
8472 type: integer
8473 sources:
okozachenko120323147262023-01-28 04:16:42 +11008474 items:
okozachenko120323147262023-01-28 04:16:42 +11008475 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04008476 clusterTrustBundle:
8477 properties:
8478 labelSelector:
8479 properties:
8480 matchExpressions:
8481 items:
8482 properties:
8483 key:
8484 type: string
8485 operator:
8486 type: string
8487 values:
8488 items:
8489 type: string
8490 type: array
8491 required:
8492 - key
8493 - operator
8494 type: object
8495 type: array
8496 matchLabels:
8497 additionalProperties:
8498 type: string
8499 type: object
8500 type: object
8501 x-kubernetes-map-type: atomic
8502 name:
8503 type: string
8504 optional:
8505 type: boolean
8506 path:
8507 type: string
8508 signerName:
8509 type: string
8510 required:
8511 - path
8512 type: object
okozachenko120323147262023-01-28 04:16:42 +11008513 configMap:
okozachenko120323147262023-01-28 04:16:42 +11008514 properties:
8515 items:
okozachenko120323147262023-01-28 04:16:42 +11008516 items:
okozachenko120323147262023-01-28 04:16:42 +11008517 properties:
8518 key:
okozachenko120323147262023-01-28 04:16:42 +11008519 type: string
8520 mode:
okozachenko120323147262023-01-28 04:16:42 +11008521 format: int32
8522 type: integer
8523 path:
okozachenko120323147262023-01-28 04:16:42 +11008524 type: string
8525 required:
8526 - key
8527 - path
8528 type: object
8529 type: array
8530 name:
okozachenko120323147262023-01-28 04:16:42 +11008531 type: string
8532 optional:
okozachenko120323147262023-01-28 04:16:42 +11008533 type: boolean
8534 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008535 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008536 downwardAPI:
okozachenko120323147262023-01-28 04:16:42 +11008537 properties:
8538 items:
okozachenko120323147262023-01-28 04:16:42 +11008539 items:
okozachenko120323147262023-01-28 04:16:42 +11008540 properties:
8541 fieldRef:
okozachenko120323147262023-01-28 04:16:42 +11008542 properties:
8543 apiVersion:
okozachenko120323147262023-01-28 04:16:42 +11008544 type: string
8545 fieldPath:
okozachenko120323147262023-01-28 04:16:42 +11008546 type: string
8547 required:
8548 - fieldPath
8549 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008550 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008551 mode:
okozachenko120323147262023-01-28 04:16:42 +11008552 format: int32
8553 type: integer
8554 path:
okozachenko120323147262023-01-28 04:16:42 +11008555 type: string
8556 resourceFieldRef:
okozachenko120323147262023-01-28 04:16:42 +11008557 properties:
8558 containerName:
okozachenko120323147262023-01-28 04:16:42 +11008559 type: string
8560 divisor:
8561 anyOf:
8562 - type: integer
8563 - type: string
okozachenko120323147262023-01-28 04:16:42 +11008564 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8565 x-kubernetes-int-or-string: true
8566 resource:
okozachenko120323147262023-01-28 04:16:42 +11008567 type: string
8568 required:
8569 - resource
8570 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008571 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008572 required:
8573 - path
8574 type: object
8575 type: array
8576 type: object
8577 secret:
okozachenko120323147262023-01-28 04:16:42 +11008578 properties:
8579 items:
okozachenko120323147262023-01-28 04:16:42 +11008580 items:
okozachenko120323147262023-01-28 04:16:42 +11008581 properties:
8582 key:
okozachenko120323147262023-01-28 04:16:42 +11008583 type: string
8584 mode:
okozachenko120323147262023-01-28 04:16:42 +11008585 format: int32
8586 type: integer
8587 path:
okozachenko120323147262023-01-28 04:16:42 +11008588 type: string
8589 required:
8590 - key
8591 - path
8592 type: object
8593 type: array
8594 name:
okozachenko120323147262023-01-28 04:16:42 +11008595 type: string
8596 optional:
okozachenko120323147262023-01-28 04:16:42 +11008597 type: boolean
8598 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008599 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008600 serviceAccountToken:
okozachenko120323147262023-01-28 04:16:42 +11008601 properties:
8602 audience:
okozachenko120323147262023-01-28 04:16:42 +11008603 type: string
8604 expirationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11008605 format: int64
8606 type: integer
8607 path:
okozachenko120323147262023-01-28 04:16:42 +11008608 type: string
8609 required:
8610 - path
8611 type: object
8612 type: object
8613 type: array
8614 type: object
okozachenko120323147262023-01-28 04:16:42 +11008615 secret:
okozachenko120323147262023-01-28 04:16:42 +11008616 properties:
8617 defaultMode:
okozachenko120323147262023-01-28 04:16:42 +11008618 format: int32
8619 type: integer
8620 items:
okozachenko120323147262023-01-28 04:16:42 +11008621 items:
okozachenko120323147262023-01-28 04:16:42 +11008622 properties:
8623 key:
okozachenko120323147262023-01-28 04:16:42 +11008624 type: string
8625 mode:
okozachenko120323147262023-01-28 04:16:42 +11008626 format: int32
8627 type: integer
8628 path:
okozachenko120323147262023-01-28 04:16:42 +11008629 type: string
8630 required:
8631 - key
8632 - path
8633 type: object
8634 type: array
8635 optional:
okozachenko120323147262023-01-28 04:16:42 +11008636 type: boolean
8637 secretName:
okozachenko120323147262023-01-28 04:16:42 +11008638 type: string
8639 type: object
okozachenko120323147262023-01-28 04:16:42 +11008640 type: object
8641 type: object
8642 principalName:
8643 default: nfs
Mohammed Naser65cda132024-05-02 14:34:08 -04008644 description: |-
8645 PrincipalName corresponds directly to NFS-Ganesha's NFS_KRB5:PrincipalName config. In
8646 practice, this is the service prefix of the principal name. The default is "nfs".
8647 This value is combined with (a) the namespace and name of the CephNFS (with a hyphen between)
8648 and (b) the Realm configured in the user-provided krb5.conf to determine the full principal
8649 name: <principalName>/<namespace>-<name>@<realm>. e.g., nfs/rook-ceph-my-nfs@example.net.
8650 See https://github.com/nfs-ganesha/nfs-ganesha/wiki/RPCSEC_GSS for more detail.
okozachenko120323147262023-01-28 04:16:42 +11008651 type: string
8652 type: object
8653 sssd:
Mohammed Naser65cda132024-05-02 14:34:08 -04008654 description: |-
8655 SSSD enables integration with System Security Services Daemon (SSSD). SSSD can be used to
8656 provide user ID mapping from a number of sources. See https://sssd.io for more information
8657 about the SSSD project.
okozachenko120323147262023-01-28 04:16:42 +11008658 nullable: true
8659 properties:
8660 sidecar:
8661 description: Sidecar tells Rook to run SSSD in a sidecar alongside the NFS-Ganesha server in each NFS pod.
8662 properties:
8663 additionalFiles:
Mohammed Naser65cda132024-05-02 14:34:08 -04008664 description: |-
8665 AdditionalFiles defines any number of additional files that should be mounted into the SSSD
8666 sidecar. These files may be referenced by the sssd.conf config file.
okozachenko120323147262023-01-28 04:16:42 +11008667 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04008668 description: |-
8669 SSSDSidecarAdditionalFile represents the source from where additional files for the the SSSD
8670 configuration should come from and are made available.
okozachenko120323147262023-01-28 04:16:42 +11008671 properties:
8672 subPath:
Mohammed Naser65cda132024-05-02 14:34:08 -04008673 description: |-
8674 SubPath defines the sub-path in `/etc/sssd/rook-additional/` where the additional file(s)
8675 will be placed. Each subPath definition must be unique and must not contain ':'.
okozachenko120323147262023-01-28 04:16:42 +11008676 minLength: 1
8677 pattern: ^[^:]+$
8678 type: string
8679 volumeSource:
okozachenko120323147262023-01-28 04:16:42 +11008680 properties:
okozachenko120323147262023-01-28 04:16:42 +11008681 configMap:
okozachenko120323147262023-01-28 04:16:42 +11008682 properties:
8683 defaultMode:
okozachenko120323147262023-01-28 04:16:42 +11008684 format: int32
8685 type: integer
8686 items:
okozachenko120323147262023-01-28 04:16:42 +11008687 items:
okozachenko120323147262023-01-28 04:16:42 +11008688 properties:
8689 key:
okozachenko120323147262023-01-28 04:16:42 +11008690 type: string
8691 mode:
okozachenko120323147262023-01-28 04:16:42 +11008692 format: int32
8693 type: integer
8694 path:
okozachenko120323147262023-01-28 04:16:42 +11008695 type: string
8696 required:
8697 - key
8698 - path
8699 type: object
8700 type: array
8701 name:
okozachenko120323147262023-01-28 04:16:42 +11008702 type: string
8703 optional:
okozachenko120323147262023-01-28 04:16:42 +11008704 type: boolean
8705 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008706 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008707 emptyDir:
okozachenko120323147262023-01-28 04:16:42 +11008708 properties:
8709 medium:
okozachenko120323147262023-01-28 04:16:42 +11008710 type: string
8711 sizeLimit:
8712 anyOf:
8713 - type: integer
8714 - type: string
okozachenko120323147262023-01-28 04:16:42 +11008715 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8716 x-kubernetes-int-or-string: true
8717 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008718 hostPath:
okozachenko120323147262023-01-28 04:16:42 +11008719 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04008720 path:
8721 type: string
8722 type:
8723 type: string
8724 required:
8725 - path
8726 type: object
8727 persistentVolumeClaim:
8728 properties:
8729 claimName:
8730 type: string
8731 readOnly:
8732 type: boolean
8733 required:
8734 - claimName
8735 type: object
8736 projected:
8737 properties:
8738 defaultMode:
8739 format: int32
8740 type: integer
8741 sources:
8742 items:
8743 properties:
8744 clusterTrustBundle:
8745 properties:
8746 labelSelector:
8747 properties:
8748 matchExpressions:
8749 items:
8750 properties:
8751 key:
8752 type: string
8753 operator:
8754 type: string
8755 values:
8756 items:
8757 type: string
8758 type: array
8759 required:
8760 - key
8761 - operator
8762 type: object
8763 type: array
8764 matchLabels:
8765 additionalProperties:
8766 type: string
8767 type: object
8768 type: object
8769 x-kubernetes-map-type: atomic
8770 name:
8771 type: string
8772 optional:
8773 type: boolean
8774 path:
8775 type: string
8776 signerName:
8777 type: string
8778 required:
8779 - path
8780 type: object
8781 configMap:
8782 properties:
8783 items:
8784 items:
8785 properties:
8786 key:
8787 type: string
8788 mode:
8789 format: int32
8790 type: integer
8791 path:
8792 type: string
8793 required:
8794 - key
8795 - path
8796 type: object
8797 type: array
8798 name:
8799 type: string
8800 optional:
8801 type: boolean
8802 type: object
8803 x-kubernetes-map-type: atomic
8804 downwardAPI:
8805 properties:
8806 items:
8807 items:
8808 properties:
8809 fieldRef:
8810 properties:
8811 apiVersion:
8812 type: string
8813 fieldPath:
8814 type: string
8815 required:
8816 - fieldPath
8817 type: object
8818 x-kubernetes-map-type: atomic
8819 mode:
8820 format: int32
8821 type: integer
8822 path:
8823 type: string
8824 resourceFieldRef:
8825 properties:
8826 containerName:
8827 type: string
8828 divisor:
8829 anyOf:
8830 - type: integer
8831 - type: string
8832 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8833 x-kubernetes-int-or-string: true
8834 resource:
8835 type: string
8836 required:
8837 - resource
8838 type: object
8839 x-kubernetes-map-type: atomic
8840 required:
8841 - path
8842 type: object
8843 type: array
8844 type: object
8845 secret:
8846 properties:
8847 items:
8848 items:
8849 properties:
8850 key:
8851 type: string
8852 mode:
8853 format: int32
8854 type: integer
8855 path:
8856 type: string
8857 required:
8858 - key
8859 - path
8860 type: object
8861 type: array
8862 name:
8863 type: string
8864 optional:
8865 type: boolean
8866 type: object
8867 x-kubernetes-map-type: atomic
8868 serviceAccountToken:
8869 properties:
8870 audience:
8871 type: string
8872 expirationSeconds:
8873 format: int64
8874 type: integer
8875 path:
8876 type: string
8877 required:
8878 - path
8879 type: object
8880 type: object
8881 type: array
8882 type: object
8883 secret:
8884 properties:
8885 defaultMode:
8886 format: int32
8887 type: integer
8888 items:
8889 items:
8890 properties:
8891 key:
8892 type: string
8893 mode:
8894 format: int32
8895 type: integer
8896 path:
8897 type: string
8898 required:
8899 - key
8900 - path
8901 type: object
8902 type: array
8903 optional:
8904 type: boolean
8905 secretName:
8906 type: string
8907 type: object
8908 type: object
8909 required:
8910 - subPath
8911 - volumeSource
8912 type: object
8913 type: array
8914 debugLevel:
8915 description: |-
8916 DebugLevel sets the debug level for SSSD. If unset or set to 0, Rook does nothing. Otherwise,
8917 this may be a value between 1 and 10. See SSSD docs for more info:
8918 https://sssd.io/troubleshooting/basics.html#sssd-debug-logs
8919 maximum: 10
8920 minimum: 0
8921 type: integer
8922 image:
8923 description: Image defines the container image that should be used for the SSSD sidecar.
8924 minLength: 1
8925 type: string
8926 resources:
8927 description: Resources allow specifying resource requests/limits on the SSSD sidecar container.
8928 properties:
8929 claims:
8930 description: |-
8931 Claims lists the names of resources, defined in spec.resourceClaims,
8932 that are used by this container.
8933
8934
8935 This is an alpha field and requires enabling the
8936 DynamicResourceAllocation feature gate.
8937
8938
8939 This field is immutable. It can only be set for containers.
8940 items:
8941 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
8942 properties:
8943 name:
8944 description: |-
8945 Name must match the name of one entry in pod.spec.resourceClaims of
8946 the Pod where this field is used. It makes that resource available
8947 inside a container.
8948 type: string
8949 required:
8950 - name
8951 type: object
8952 type: array
8953 x-kubernetes-list-map-keys:
8954 - name
8955 x-kubernetes-list-type: map
8956 limits:
8957 additionalProperties:
8958 anyOf:
8959 - type: integer
8960 - type: string
8961 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8962 x-kubernetes-int-or-string: true
8963 description: |-
8964 Limits describes the maximum amount of compute resources allowed.
8965 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
8966 type: object
8967 requests:
8968 additionalProperties:
8969 anyOf:
8970 - type: integer
8971 - type: string
8972 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8973 x-kubernetes-int-or-string: true
8974 description: |-
8975 Requests describes the minimum amount of compute resources required.
8976 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
8977 otherwise to an implementation-defined value. Requests cannot exceed Limits.
8978 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
8979 type: object
8980 type: object
8981 sssdConfigFile:
8982 description: |-
8983 SSSDConfigFile defines where the SSSD configuration should be sourced from. The config file
8984 will be placed into `/etc/sssd/sssd.conf`. If this is left empty, Rook will not add the file.
8985 This allows you to manage the `sssd.conf` file yourself however you wish. For example, you
8986 may build it into your custom Ceph container image or use the Vault agent injector to
8987 securely add the file via annotations on the CephNFS spec (passed to the NFS server pods).
8988 properties:
8989 volumeSource:
8990 properties:
8991 configMap:
8992 properties:
8993 defaultMode:
8994 format: int32
8995 type: integer
8996 items:
8997 items:
okozachenko120323147262023-01-28 04:16:42 +11008998 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04008999 key:
9000 type: string
9001 mode:
9002 format: int32
9003 type: integer
9004 path:
9005 type: string
9006 required:
9007 - key
9008 - path
9009 type: object
9010 type: array
9011 name:
9012 type: string
9013 optional:
9014 type: boolean
9015 type: object
9016 x-kubernetes-map-type: atomic
9017 emptyDir:
9018 properties:
9019 medium:
9020 type: string
9021 sizeLimit:
9022 anyOf:
9023 - type: integer
9024 - type: string
9025 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
9026 x-kubernetes-int-or-string: true
9027 type: object
9028 hostPath:
9029 properties:
9030 path:
9031 type: string
9032 type:
9033 type: string
9034 required:
9035 - path
9036 type: object
9037 persistentVolumeClaim:
9038 properties:
9039 claimName:
9040 type: string
9041 readOnly:
9042 type: boolean
9043 required:
9044 - claimName
9045 type: object
9046 projected:
9047 properties:
9048 defaultMode:
9049 format: int32
9050 type: integer
9051 sources:
9052 items:
9053 properties:
9054 clusterTrustBundle:
okozachenko120323147262023-01-28 04:16:42 +11009055 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04009056 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11009057 properties:
9058 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009059 items:
okozachenko120323147262023-01-28 04:16:42 +11009060 properties:
9061 key:
okozachenko120323147262023-01-28 04:16:42 +11009062 type: string
9063 operator:
okozachenko120323147262023-01-28 04:16:42 +11009064 type: string
9065 values:
okozachenko120323147262023-01-28 04:16:42 +11009066 items:
9067 type: string
9068 type: array
9069 required:
9070 - key
9071 - operator
9072 type: object
9073 type: array
9074 matchLabels:
9075 additionalProperties:
9076 type: string
okozachenko120323147262023-01-28 04:16:42 +11009077 type: object
9078 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009079 x-kubernetes-map-type: atomic
9080 name:
okozachenko120323147262023-01-28 04:16:42 +11009081 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04009082 optional:
9083 type: boolean
9084 path:
okozachenko120323147262023-01-28 04:16:42 +11009085 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04009086 signerName:
okozachenko120323147262023-01-28 04:16:42 +11009087 type: string
9088 required:
Mohammed Naser65cda132024-05-02 14:34:08 -04009089 - path
okozachenko120323147262023-01-28 04:16:42 +11009090 type: object
okozachenko120323147262023-01-28 04:16:42 +11009091 configMap:
okozachenko120323147262023-01-28 04:16:42 +11009092 properties:
9093 items:
okozachenko120323147262023-01-28 04:16:42 +11009094 items:
okozachenko120323147262023-01-28 04:16:42 +11009095 properties:
9096 key:
okozachenko120323147262023-01-28 04:16:42 +11009097 type: string
9098 mode:
okozachenko120323147262023-01-28 04:16:42 +11009099 format: int32
9100 type: integer
9101 path:
okozachenko120323147262023-01-28 04:16:42 +11009102 type: string
9103 required:
9104 - key
9105 - path
9106 type: object
9107 type: array
9108 name:
okozachenko120323147262023-01-28 04:16:42 +11009109 type: string
9110 optional:
okozachenko120323147262023-01-28 04:16:42 +11009111 type: boolean
9112 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009113 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009114 downwardAPI:
okozachenko120323147262023-01-28 04:16:42 +11009115 properties:
9116 items:
okozachenko120323147262023-01-28 04:16:42 +11009117 items:
okozachenko120323147262023-01-28 04:16:42 +11009118 properties:
9119 fieldRef:
okozachenko120323147262023-01-28 04:16:42 +11009120 properties:
9121 apiVersion:
okozachenko120323147262023-01-28 04:16:42 +11009122 type: string
9123 fieldPath:
okozachenko120323147262023-01-28 04:16:42 +11009124 type: string
9125 required:
9126 - fieldPath
9127 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009128 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009129 mode:
okozachenko120323147262023-01-28 04:16:42 +11009130 format: int32
9131 type: integer
9132 path:
okozachenko120323147262023-01-28 04:16:42 +11009133 type: string
9134 resourceFieldRef:
okozachenko120323147262023-01-28 04:16:42 +11009135 properties:
9136 containerName:
okozachenko120323147262023-01-28 04:16:42 +11009137 type: string
9138 divisor:
9139 anyOf:
9140 - type: integer
9141 - type: string
okozachenko120323147262023-01-28 04:16:42 +11009142 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
9143 x-kubernetes-int-or-string: true
9144 resource:
okozachenko120323147262023-01-28 04:16:42 +11009145 type: string
9146 required:
9147 - resource
9148 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009149 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009150 required:
9151 - path
9152 type: object
9153 type: array
9154 type: object
9155 secret:
okozachenko120323147262023-01-28 04:16:42 +11009156 properties:
9157 items:
okozachenko120323147262023-01-28 04:16:42 +11009158 items:
okozachenko120323147262023-01-28 04:16:42 +11009159 properties:
9160 key:
okozachenko120323147262023-01-28 04:16:42 +11009161 type: string
9162 mode:
okozachenko120323147262023-01-28 04:16:42 +11009163 format: int32
9164 type: integer
9165 path:
okozachenko120323147262023-01-28 04:16:42 +11009166 type: string
9167 required:
9168 - key
9169 - path
9170 type: object
9171 type: array
9172 name:
okozachenko120323147262023-01-28 04:16:42 +11009173 type: string
9174 optional:
okozachenko120323147262023-01-28 04:16:42 +11009175 type: boolean
9176 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009177 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009178 serviceAccountToken:
okozachenko120323147262023-01-28 04:16:42 +11009179 properties:
9180 audience:
okozachenko120323147262023-01-28 04:16:42 +11009181 type: string
9182 expirationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11009183 format: int64
9184 type: integer
9185 path:
okozachenko120323147262023-01-28 04:16:42 +11009186 type: string
9187 required:
9188 - path
9189 type: object
9190 type: object
9191 type: array
9192 type: object
okozachenko120323147262023-01-28 04:16:42 +11009193 secret:
okozachenko120323147262023-01-28 04:16:42 +11009194 properties:
9195 defaultMode:
okozachenko120323147262023-01-28 04:16:42 +11009196 format: int32
9197 type: integer
9198 items:
okozachenko120323147262023-01-28 04:16:42 +11009199 items:
okozachenko120323147262023-01-28 04:16:42 +11009200 properties:
9201 key:
okozachenko120323147262023-01-28 04:16:42 +11009202 type: string
9203 mode:
okozachenko120323147262023-01-28 04:16:42 +11009204 format: int32
9205 type: integer
9206 path:
okozachenko120323147262023-01-28 04:16:42 +11009207 type: string
9208 required:
9209 - key
9210 - path
9211 type: object
9212 type: array
9213 optional:
okozachenko120323147262023-01-28 04:16:42 +11009214 type: boolean
9215 secretName:
okozachenko120323147262023-01-28 04:16:42 +11009216 type: string
9217 type: object
okozachenko120323147262023-01-28 04:16:42 +11009218 type: object
9219 type: object
9220 required:
9221 - image
9222 type: object
9223 type: object
9224 type: object
9225 server:
9226 description: Server is the Ganesha Server specification
9227 properties:
9228 active:
9229 description: The number of active Ganesha servers
9230 type: integer
9231 annotations:
9232 additionalProperties:
9233 type: string
9234 description: The annotations-related configuration to add/set on each Pod related object.
9235 nullable: true
9236 type: object
9237 x-kubernetes-preserve-unknown-fields: true
Mohammed Naser65cda132024-05-02 14:34:08 -04009238 hostNetwork:
9239 description: Whether host networking is enabled for the Ganesha server. If not set, the network settings from the cluster CR will be applied.
9240 nullable: true
9241 type: boolean
okozachenko120323147262023-01-28 04:16:42 +11009242 labels:
9243 additionalProperties:
9244 type: string
9245 description: The labels-related configuration to add/set on each Pod related object.
9246 nullable: true
9247 type: object
9248 x-kubernetes-preserve-unknown-fields: true
Mohammed Naser65cda132024-05-02 14:34:08 -04009249 livenessProbe:
9250 description: |-
9251 A liveness-probe to verify that Ganesha server has valid run-time state.
9252 If LivenessProbe.Disabled is false and LivenessProbe.Probe is nil uses default probe.
9253 properties:
9254 disabled:
9255 description: Disabled determines whether probe is disable or not
9256 type: boolean
9257 probe:
9258 description: |-
9259 Probe describes a health check to be performed against a container to determine whether it is
9260 alive or ready to receive traffic.
9261 properties:
9262 exec:
9263 description: Exec specifies the action to take.
9264 properties:
9265 command:
9266 description: |-
9267 Command is the command line to execute inside the container, the working directory for the
9268 command is root ('/') in the container's filesystem. The command is simply exec'd, it is
9269 not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
9270 a shell, you need to explicitly call out to that shell.
9271 Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
9272 items:
9273 type: string
9274 type: array
9275 type: object
9276 failureThreshold:
9277 description: |-
9278 Minimum consecutive failures for the probe to be considered failed after having succeeded.
9279 Defaults to 3. Minimum value is 1.
9280 format: int32
9281 type: integer
9282 grpc:
9283 description: GRPC specifies an action involving a GRPC port.
9284 properties:
9285 port:
9286 description: Port number of the gRPC service. Number must be in the range 1 to 65535.
9287 format: int32
9288 type: integer
9289 service:
9290 description: |-
9291 Service is the name of the service to place in the gRPC HealthCheckRequest
9292 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
9293
9294
9295 If this is not specified, the default behavior is defined by gRPC.
9296 type: string
9297 required:
9298 - port
9299 type: object
9300 httpGet:
9301 description: HTTPGet specifies the http request to perform.
9302 properties:
9303 host:
9304 description: |-
9305 Host name to connect to, defaults to the pod IP. You probably want to set
9306 "Host" in httpHeaders instead.
9307 type: string
9308 httpHeaders:
9309 description: Custom headers to set in the request. HTTP allows repeated headers.
9310 items:
9311 description: HTTPHeader describes a custom header to be used in HTTP probes
9312 properties:
9313 name:
9314 description: |-
9315 The header field name.
9316 This will be canonicalized upon output, so case-variant names will be understood as the same header.
9317 type: string
9318 value:
9319 description: The header field value
9320 type: string
9321 required:
9322 - name
9323 - value
9324 type: object
9325 type: array
9326 path:
9327 description: Path to access on the HTTP server.
9328 type: string
9329 port:
9330 anyOf:
9331 - type: integer
9332 - type: string
9333 description: |-
9334 Name or number of the port to access on the container.
9335 Number must be in the range 1 to 65535.
9336 Name must be an IANA_SVC_NAME.
9337 x-kubernetes-int-or-string: true
9338 scheme:
9339 description: |-
9340 Scheme to use for connecting to the host.
9341 Defaults to HTTP.
9342 type: string
9343 required:
9344 - port
9345 type: object
9346 initialDelaySeconds:
9347 description: |-
9348 Number of seconds after the container has started before liveness probes are initiated.
9349 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
9350 format: int32
9351 type: integer
9352 periodSeconds:
9353 description: |-
9354 How often (in seconds) to perform the probe.
9355 Default to 10 seconds. Minimum value is 1.
9356 format: int32
9357 type: integer
9358 successThreshold:
9359 description: |-
9360 Minimum consecutive successes for the probe to be considered successful after having failed.
9361 Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
9362 format: int32
9363 type: integer
9364 tcpSocket:
9365 description: TCPSocket specifies an action involving a TCP port.
9366 properties:
9367 host:
9368 description: 'Optional: Host name to connect to, defaults to the pod IP.'
9369 type: string
9370 port:
9371 anyOf:
9372 - type: integer
9373 - type: string
9374 description: |-
9375 Number or name of the port to access on the container.
9376 Number must be in the range 1 to 65535.
9377 Name must be an IANA_SVC_NAME.
9378 x-kubernetes-int-or-string: true
9379 required:
9380 - port
9381 type: object
9382 terminationGracePeriodSeconds:
9383 format: int64
9384 type: integer
9385 timeoutSeconds:
9386 description: |-
9387 Number of seconds after which the probe times out.
9388 Defaults to 1 second. Minimum value is 1.
9389 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
9390 format: int32
9391 type: integer
9392 type: object
9393 type: object
okozachenko120323147262023-01-28 04:16:42 +11009394 logLevel:
9395 description: LogLevel set logging level
9396 type: string
9397 placement:
okozachenko120323147262023-01-28 04:16:42 +11009398 nullable: true
9399 properties:
9400 nodeAffinity:
okozachenko120323147262023-01-28 04:16:42 +11009401 properties:
9402 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11009403 items:
okozachenko120323147262023-01-28 04:16:42 +11009404 properties:
9405 preference:
okozachenko120323147262023-01-28 04:16:42 +11009406 properties:
9407 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009408 items:
okozachenko120323147262023-01-28 04:16:42 +11009409 properties:
9410 key:
okozachenko120323147262023-01-28 04:16:42 +11009411 type: string
9412 operator:
okozachenko120323147262023-01-28 04:16:42 +11009413 type: string
9414 values:
okozachenko120323147262023-01-28 04:16:42 +11009415 items:
9416 type: string
9417 type: array
9418 required:
9419 - key
9420 - operator
9421 type: object
9422 type: array
9423 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11009424 items:
okozachenko120323147262023-01-28 04:16:42 +11009425 properties:
9426 key:
okozachenko120323147262023-01-28 04:16:42 +11009427 type: string
9428 operator:
okozachenko120323147262023-01-28 04:16:42 +11009429 type: string
9430 values:
okozachenko120323147262023-01-28 04:16:42 +11009431 items:
9432 type: string
9433 type: array
9434 required:
9435 - key
9436 - operator
9437 type: object
9438 type: array
9439 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009440 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009441 weight:
okozachenko120323147262023-01-28 04:16:42 +11009442 format: int32
9443 type: integer
9444 required:
9445 - preference
9446 - weight
9447 type: object
9448 type: array
9449 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11009450 properties:
9451 nodeSelectorTerms:
okozachenko120323147262023-01-28 04:16:42 +11009452 items:
okozachenko120323147262023-01-28 04:16:42 +11009453 properties:
9454 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009455 items:
okozachenko120323147262023-01-28 04:16:42 +11009456 properties:
9457 key:
okozachenko120323147262023-01-28 04:16:42 +11009458 type: string
9459 operator:
okozachenko120323147262023-01-28 04:16:42 +11009460 type: string
9461 values:
okozachenko120323147262023-01-28 04:16:42 +11009462 items:
9463 type: string
9464 type: array
9465 required:
9466 - key
9467 - operator
9468 type: object
9469 type: array
9470 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11009471 items:
okozachenko120323147262023-01-28 04:16:42 +11009472 properties:
9473 key:
okozachenko120323147262023-01-28 04:16:42 +11009474 type: string
9475 operator:
okozachenko120323147262023-01-28 04:16:42 +11009476 type: string
9477 values:
okozachenko120323147262023-01-28 04:16:42 +11009478 items:
9479 type: string
9480 type: array
9481 required:
9482 - key
9483 - operator
9484 type: object
9485 type: array
9486 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009487 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009488 type: array
9489 required:
9490 - nodeSelectorTerms
9491 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009492 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009493 type: object
9494 podAffinity:
okozachenko120323147262023-01-28 04:16:42 +11009495 properties:
9496 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11009497 items:
okozachenko120323147262023-01-28 04:16:42 +11009498 properties:
9499 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11009500 properties:
9501 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11009502 properties:
9503 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009504 items:
okozachenko120323147262023-01-28 04:16:42 +11009505 properties:
9506 key:
okozachenko120323147262023-01-28 04:16:42 +11009507 type: string
9508 operator:
okozachenko120323147262023-01-28 04:16:42 +11009509 type: string
9510 values:
okozachenko120323147262023-01-28 04:16:42 +11009511 items:
9512 type: string
9513 type: array
9514 required:
9515 - key
9516 - operator
9517 type: object
9518 type: array
9519 matchLabels:
9520 additionalProperties:
9521 type: string
okozachenko120323147262023-01-28 04:16:42 +11009522 type: object
9523 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009524 x-kubernetes-map-type: atomic
9525 matchLabelKeys:
9526 items:
9527 type: string
9528 type: array
9529 x-kubernetes-list-type: atomic
9530 mismatchLabelKeys:
9531 items:
9532 type: string
9533 type: array
9534 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009535 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11009536 properties:
9537 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009538 items:
okozachenko120323147262023-01-28 04:16:42 +11009539 properties:
9540 key:
okozachenko120323147262023-01-28 04:16:42 +11009541 type: string
9542 operator:
okozachenko120323147262023-01-28 04:16:42 +11009543 type: string
9544 values:
okozachenko120323147262023-01-28 04:16:42 +11009545 items:
9546 type: string
9547 type: array
9548 required:
9549 - key
9550 - operator
9551 type: object
9552 type: array
9553 matchLabels:
9554 additionalProperties:
9555 type: string
okozachenko120323147262023-01-28 04:16:42 +11009556 type: object
9557 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009558 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009559 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11009560 items:
9561 type: string
9562 type: array
9563 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11009564 type: string
9565 required:
9566 - topologyKey
9567 type: object
9568 weight:
okozachenko120323147262023-01-28 04:16:42 +11009569 format: int32
9570 type: integer
9571 required:
9572 - podAffinityTerm
9573 - weight
9574 type: object
9575 type: array
9576 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11009577 items:
okozachenko120323147262023-01-28 04:16:42 +11009578 properties:
9579 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11009580 properties:
9581 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009582 items:
okozachenko120323147262023-01-28 04:16:42 +11009583 properties:
9584 key:
okozachenko120323147262023-01-28 04:16:42 +11009585 type: string
9586 operator:
okozachenko120323147262023-01-28 04:16:42 +11009587 type: string
9588 values:
okozachenko120323147262023-01-28 04:16:42 +11009589 items:
9590 type: string
9591 type: array
9592 required:
9593 - key
9594 - operator
9595 type: object
9596 type: array
9597 matchLabels:
9598 additionalProperties:
9599 type: string
okozachenko120323147262023-01-28 04:16:42 +11009600 type: object
9601 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009602 x-kubernetes-map-type: atomic
9603 matchLabelKeys:
9604 items:
9605 type: string
9606 type: array
9607 x-kubernetes-list-type: atomic
9608 mismatchLabelKeys:
9609 items:
9610 type: string
9611 type: array
9612 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009613 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11009614 properties:
9615 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009616 items:
okozachenko120323147262023-01-28 04:16:42 +11009617 properties:
9618 key:
okozachenko120323147262023-01-28 04:16:42 +11009619 type: string
9620 operator:
okozachenko120323147262023-01-28 04:16:42 +11009621 type: string
9622 values:
okozachenko120323147262023-01-28 04:16:42 +11009623 items:
9624 type: string
9625 type: array
9626 required:
9627 - key
9628 - operator
9629 type: object
9630 type: array
9631 matchLabels:
9632 additionalProperties:
9633 type: string
okozachenko120323147262023-01-28 04:16:42 +11009634 type: object
9635 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009636 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009637 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11009638 items:
9639 type: string
9640 type: array
9641 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11009642 type: string
9643 required:
9644 - topologyKey
9645 type: object
9646 type: array
9647 type: object
9648 podAntiAffinity:
okozachenko120323147262023-01-28 04:16:42 +11009649 properties:
9650 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11009651 items:
okozachenko120323147262023-01-28 04:16:42 +11009652 properties:
9653 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11009654 properties:
9655 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11009656 properties:
9657 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009658 items:
okozachenko120323147262023-01-28 04:16:42 +11009659 properties:
9660 key:
okozachenko120323147262023-01-28 04:16:42 +11009661 type: string
9662 operator:
okozachenko120323147262023-01-28 04:16:42 +11009663 type: string
9664 values:
okozachenko120323147262023-01-28 04:16:42 +11009665 items:
9666 type: string
9667 type: array
9668 required:
9669 - key
9670 - operator
9671 type: object
9672 type: array
9673 matchLabels:
9674 additionalProperties:
9675 type: string
okozachenko120323147262023-01-28 04:16:42 +11009676 type: object
9677 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009678 x-kubernetes-map-type: atomic
9679 matchLabelKeys:
9680 items:
9681 type: string
9682 type: array
9683 x-kubernetes-list-type: atomic
9684 mismatchLabelKeys:
9685 items:
9686 type: string
9687 type: array
9688 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009689 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11009690 properties:
9691 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009692 items:
okozachenko120323147262023-01-28 04:16:42 +11009693 properties:
9694 key:
okozachenko120323147262023-01-28 04:16:42 +11009695 type: string
9696 operator:
okozachenko120323147262023-01-28 04:16:42 +11009697 type: string
9698 values:
okozachenko120323147262023-01-28 04:16:42 +11009699 items:
9700 type: string
9701 type: array
9702 required:
9703 - key
9704 - operator
9705 type: object
9706 type: array
9707 matchLabels:
9708 additionalProperties:
9709 type: string
okozachenko120323147262023-01-28 04:16:42 +11009710 type: object
9711 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009712 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009713 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11009714 items:
9715 type: string
9716 type: array
9717 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11009718 type: string
9719 required:
9720 - topologyKey
9721 type: object
9722 weight:
okozachenko120323147262023-01-28 04:16:42 +11009723 format: int32
9724 type: integer
9725 required:
9726 - podAffinityTerm
9727 - weight
9728 type: object
9729 type: array
9730 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11009731 items:
okozachenko120323147262023-01-28 04:16:42 +11009732 properties:
9733 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11009734 properties:
9735 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009736 items:
okozachenko120323147262023-01-28 04:16:42 +11009737 properties:
9738 key:
okozachenko120323147262023-01-28 04:16:42 +11009739 type: string
9740 operator:
okozachenko120323147262023-01-28 04:16:42 +11009741 type: string
9742 values:
okozachenko120323147262023-01-28 04:16:42 +11009743 items:
9744 type: string
9745 type: array
9746 required:
9747 - key
9748 - operator
9749 type: object
9750 type: array
9751 matchLabels:
9752 additionalProperties:
9753 type: string
okozachenko120323147262023-01-28 04:16:42 +11009754 type: object
9755 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009756 x-kubernetes-map-type: atomic
9757 matchLabelKeys:
9758 items:
9759 type: string
9760 type: array
9761 x-kubernetes-list-type: atomic
9762 mismatchLabelKeys:
9763 items:
9764 type: string
9765 type: array
9766 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009767 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11009768 properties:
9769 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009770 items:
okozachenko120323147262023-01-28 04:16:42 +11009771 properties:
9772 key:
okozachenko120323147262023-01-28 04:16:42 +11009773 type: string
9774 operator:
okozachenko120323147262023-01-28 04:16:42 +11009775 type: string
9776 values:
okozachenko120323147262023-01-28 04:16:42 +11009777 items:
9778 type: string
9779 type: array
9780 required:
9781 - key
9782 - operator
9783 type: object
9784 type: array
9785 matchLabels:
9786 additionalProperties:
9787 type: string
okozachenko120323147262023-01-28 04:16:42 +11009788 type: object
9789 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009790 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009791 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11009792 items:
9793 type: string
9794 type: array
9795 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11009796 type: string
9797 required:
9798 - topologyKey
9799 type: object
9800 type: array
9801 type: object
9802 tolerations:
okozachenko120323147262023-01-28 04:16:42 +11009803 items:
okozachenko120323147262023-01-28 04:16:42 +11009804 properties:
9805 effect:
okozachenko120323147262023-01-28 04:16:42 +11009806 type: string
9807 key:
okozachenko120323147262023-01-28 04:16:42 +11009808 type: string
9809 operator:
okozachenko120323147262023-01-28 04:16:42 +11009810 type: string
9811 tolerationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11009812 format: int64
9813 type: integer
9814 value:
okozachenko120323147262023-01-28 04:16:42 +11009815 type: string
9816 type: object
9817 type: array
9818 topologySpreadConstraints:
okozachenko120323147262023-01-28 04:16:42 +11009819 items:
okozachenko120323147262023-01-28 04:16:42 +11009820 properties:
9821 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11009822 properties:
9823 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009824 items:
okozachenko120323147262023-01-28 04:16:42 +11009825 properties:
9826 key:
okozachenko120323147262023-01-28 04:16:42 +11009827 type: string
9828 operator:
okozachenko120323147262023-01-28 04:16:42 +11009829 type: string
9830 values:
okozachenko120323147262023-01-28 04:16:42 +11009831 items:
9832 type: string
9833 type: array
9834 required:
9835 - key
9836 - operator
9837 type: object
9838 type: array
9839 matchLabels:
9840 additionalProperties:
9841 type: string
okozachenko120323147262023-01-28 04:16:42 +11009842 type: object
9843 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009844 x-kubernetes-map-type: atomic
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00009845 matchLabelKeys:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00009846 items:
9847 type: string
9848 type: array
9849 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009850 maxSkew:
okozachenko120323147262023-01-28 04:16:42 +11009851 format: int32
9852 type: integer
9853 minDomains:
okozachenko120323147262023-01-28 04:16:42 +11009854 format: int32
9855 type: integer
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00009856 nodeAffinityPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00009857 type: string
9858 nodeTaintsPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00009859 type: string
okozachenko120323147262023-01-28 04:16:42 +11009860 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11009861 type: string
9862 whenUnsatisfiable:
okozachenko120323147262023-01-28 04:16:42 +11009863 type: string
9864 required:
9865 - maxSkew
9866 - topologyKey
9867 - whenUnsatisfiable
9868 type: object
9869 type: array
9870 type: object
9871 x-kubernetes-preserve-unknown-fields: true
9872 priorityClassName:
9873 description: PriorityClassName sets the priority class on the pods
9874 type: string
9875 resources:
9876 description: Resources set resource requests and limits
9877 nullable: true
9878 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04009879 claims:
9880 description: |-
9881 Claims lists the names of resources, defined in spec.resourceClaims,
9882 that are used by this container.
9883
9884
9885 This is an alpha field and requires enabling the
9886 DynamicResourceAllocation feature gate.
9887
9888
9889 This field is immutable. It can only be set for containers.
9890 items:
9891 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
9892 properties:
9893 name:
9894 description: |-
9895 Name must match the name of one entry in pod.spec.resourceClaims of
9896 the Pod where this field is used. It makes that resource available
9897 inside a container.
9898 type: string
9899 required:
9900 - name
9901 type: object
9902 type: array
9903 x-kubernetes-list-map-keys:
9904 - name
9905 x-kubernetes-list-type: map
okozachenko120323147262023-01-28 04:16:42 +11009906 limits:
9907 additionalProperties:
9908 anyOf:
9909 - type: integer
9910 - type: string
9911 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
9912 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04009913 description: |-
9914 Limits describes the maximum amount of compute resources allowed.
9915 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11009916 type: object
9917 requests:
9918 additionalProperties:
9919 anyOf:
9920 - type: integer
9921 - type: string
9922 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
9923 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04009924 description: |-
9925 Requests describes the minimum amount of compute resources required.
9926 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
9927 otherwise to an implementation-defined value. Requests cannot exceed Limits.
9928 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11009929 type: object
9930 type: object
9931 x-kubernetes-preserve-unknown-fields: true
9932 required:
9933 - active
9934 type: object
9935 required:
9936 - server
9937 type: object
9938 status:
9939 description: Status represents the status of an object
9940 properties:
9941 conditions:
9942 items:
9943 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
9944 properties:
9945 lastHeartbeatTime:
9946 format: date-time
9947 type: string
9948 lastTransitionTime:
9949 format: date-time
9950 type: string
9951 message:
9952 type: string
9953 reason:
9954 description: ConditionReason is a reason for a condition
9955 type: string
9956 status:
9957 type: string
9958 type:
9959 description: ConditionType represent a resource's status
9960 type: string
9961 type: object
9962 type: array
9963 observedGeneration:
9964 description: ObservedGeneration is the latest generation observed by the controller.
9965 format: int64
9966 type: integer
9967 phase:
9968 type: string
9969 type: object
9970 x-kubernetes-preserve-unknown-fields: true
9971 required:
9972 - metadata
9973 - spec
9974 type: object
9975 served: true
9976 storage: true
9977 subresources:
9978 status: {}
okozachenko120323147262023-01-28 04:16:42 +11009979---
9980apiVersion: apiextensions.k8s.io/v1
9981kind: CustomResourceDefinition
9982metadata:
9983 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -04009984 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +11009985 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +11009986 name: cephobjectrealms.ceph.rook.io
9987spec:
9988 group: ceph.rook.io
9989 names:
9990 kind: CephObjectRealm
9991 listKind: CephObjectRealmList
9992 plural: cephobjectrealms
9993 singular: cephobjectrealm
9994 scope: Namespaced
9995 versions:
9996 - name: v1
9997 schema:
9998 openAPIV3Schema:
9999 description: CephObjectRealm represents a Ceph Object Store Gateway Realm
10000 properties:
10001 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -040010002 description: |-
10003 APIVersion defines the versioned schema of this representation of an object.
10004 Servers should convert recognized schemas to the latest internal value, and
10005 may reject unrecognized values.
10006 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +110010007 type: string
10008 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -040010009 description: |-
10010 Kind is a string value representing the REST resource this object represents.
10011 Servers may infer this from the endpoint the client submits requests to.
10012 Cannot be updated.
10013 In CamelCase.
10014 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +110010015 type: string
10016 metadata:
10017 type: object
10018 spec:
10019 description: ObjectRealmSpec represent the spec of an ObjectRealm
10020 nullable: true
10021 properties:
10022 pull:
10023 description: PullSpec represents the pulling specification of a Ceph Object Storage Gateway Realm
10024 properties:
10025 endpoint:
10026 pattern: ^https*://
10027 type: string
10028 type: object
10029 type: object
10030 status:
10031 description: Status represents the status of an object
10032 properties:
10033 conditions:
10034 items:
10035 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
10036 properties:
10037 lastHeartbeatTime:
10038 format: date-time
10039 type: string
10040 lastTransitionTime:
10041 format: date-time
10042 type: string
10043 message:
10044 type: string
10045 reason:
10046 description: ConditionReason is a reason for a condition
10047 type: string
10048 status:
10049 type: string
10050 type:
10051 description: ConditionType represent a resource's status
10052 type: string
10053 type: object
10054 type: array
10055 observedGeneration:
10056 description: ObservedGeneration is the latest generation observed by the controller.
10057 format: int64
10058 type: integer
10059 phase:
10060 type: string
10061 type: object
10062 x-kubernetes-preserve-unknown-fields: true
10063 required:
10064 - metadata
10065 type: object
10066 served: true
10067 storage: true
10068 subresources:
10069 status: {}
okozachenko120323147262023-01-28 04:16:42 +110010070---
10071apiVersion: apiextensions.k8s.io/v1
10072kind: CustomResourceDefinition
10073metadata:
10074 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -040010075 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +110010076 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +110010077 name: cephobjectstores.ceph.rook.io
10078spec:
10079 group: ceph.rook.io
10080 names:
10081 kind: CephObjectStore
10082 listKind: CephObjectStoreList
10083 plural: cephobjectstores
10084 singular: cephobjectstore
10085 scope: Namespaced
10086 versions:
10087 - additionalPrinterColumns:
10088 - jsonPath: .status.phase
10089 name: Phase
10090 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040010091 - jsonPath: .status.info.endpoint
10092 name: Endpoint
10093 type: string
10094 - jsonPath: .status.info.secureEndpoint
10095 name: SecureEndpoint
10096 type: string
10097 - jsonPath: .metadata.creationTimestamp
10098 name: Age
10099 type: date
okozachenko120323147262023-01-28 04:16:42 +110010100 name: v1
10101 schema:
10102 openAPIV3Schema:
10103 description: CephObjectStore represents a Ceph Object Store Gateway
10104 properties:
10105 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -040010106 description: |-
10107 APIVersion defines the versioned schema of this representation of an object.
10108 Servers should convert recognized schemas to the latest internal value, and
10109 may reject unrecognized values.
10110 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +110010111 type: string
10112 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -040010113 description: |-
10114 Kind is a string value representing the REST resource this object represents.
10115 Servers may infer this from the endpoint the client submits requests to.
10116 Cannot be updated.
10117 In CamelCase.
10118 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +110010119 type: string
10120 metadata:
10121 type: object
10122 spec:
10123 description: ObjectStoreSpec represent the spec of a pool
10124 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040010125 allowUsersInNamespaces:
10126 description: |-
10127 The list of allowed namespaces in addition to the object store namespace
10128 where ceph object store users may be created. Specify "*" to allow all
10129 namespaces, otherwise list individual namespaces that are to be allowed.
10130 This is useful for applications that need object store credentials
10131 to be created in their own namespace, where neither OBCs nor COSI
10132 is being used to create buckets. The default is empty.
10133 items:
10134 type: string
10135 type: array
okozachenko120323147262023-01-28 04:16:42 +110010136 dataPool:
10137 description: The data pool settings
10138 nullable: true
10139 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040010140 application:
10141 description: The application name to set on the pool. Only expected to be set for rgw pools.
10142 type: string
okozachenko120323147262023-01-28 04:16:42 +110010143 compressionMode:
Mohammed Naser65cda132024-05-02 14:34:08 -040010144 description: |-
10145 DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force"
10146 The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
10147 Do NOT set a default value for kubebuilder as this will override the Parameters
okozachenko120323147262023-01-28 04:16:42 +110010148 enum:
10149 - none
10150 - passive
10151 - aggressive
10152 - force
10153 - ""
10154 nullable: true
10155 type: string
10156 crushRoot:
10157 description: The root of the crush hierarchy utilized by the pool
10158 nullable: true
10159 type: string
10160 deviceClass:
10161 description: The device class the OSD should set to for use in the pool
10162 nullable: true
10163 type: string
10164 enableRBDStats:
10165 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
10166 type: boolean
10167 erasureCoded:
10168 description: The erasure code settings
10169 properties:
10170 algorithm:
10171 description: The algorithm for erasure coding
10172 type: string
10173 codingChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -040010174 description: |-
10175 Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
10176 This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
okozachenko120323147262023-01-28 04:16:42 +110010177 minimum: 0
10178 type: integer
10179 dataChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -040010180 description: |-
10181 Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
10182 The number of chunks required to recover an object when any single OSD is lost is the same
10183 as dataChunks so be aware that the larger the number of data chunks, the higher the cost of recovery.
okozachenko120323147262023-01-28 04:16:42 +110010184 minimum: 0
10185 type: integer
10186 required:
10187 - codingChunks
10188 - dataChunks
10189 type: object
10190 failureDomain:
10191 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
10192 type: string
10193 mirroring:
10194 description: The mirroring settings
10195 properties:
10196 enabled:
10197 description: Enabled whether this pool is mirrored or not
10198 type: boolean
10199 mode:
10200 description: 'Mode is the mirroring mode: either pool or image'
10201 type: string
10202 peers:
10203 description: Peers represents the peers spec
10204 nullable: true
10205 properties:
10206 secretNames:
10207 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
10208 items:
10209 type: string
10210 type: array
10211 type: object
10212 snapshotSchedules:
10213 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
10214 items:
10215 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
10216 properties:
10217 interval:
10218 description: Interval represent the periodicity of the snapshot.
10219 type: string
10220 path:
10221 description: Path is the path to snapshot, only valid for CephFS
10222 type: string
10223 startTime:
10224 description: StartTime indicates when to start the snapshot
10225 type: string
10226 type: object
10227 type: array
10228 type: object
10229 parameters:
10230 additionalProperties:
10231 type: string
10232 description: Parameters is a list of properties to enable on a given pool
10233 nullable: true
10234 type: object
10235 x-kubernetes-preserve-unknown-fields: true
10236 quotas:
10237 description: The quota settings
10238 nullable: true
10239 properties:
10240 maxBytes:
Mohammed Naser65cda132024-05-02 14:34:08 -040010241 description: |-
10242 MaxBytes represents the quota in bytes
10243 Deprecated in favor of MaxSize
okozachenko120323147262023-01-28 04:16:42 +110010244 format: int64
10245 type: integer
10246 maxObjects:
10247 description: MaxObjects represents the quota in objects
10248 format: int64
10249 type: integer
10250 maxSize:
10251 description: MaxSize represents the quota in bytes as a string
10252 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
10253 type: string
10254 type: object
10255 replicated:
10256 description: The replication settings
10257 properties:
10258 hybridStorage:
10259 description: HybridStorage represents hybrid storage tier settings
10260 nullable: true
10261 properties:
10262 primaryDeviceClass:
10263 description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
10264 minLength: 1
10265 type: string
10266 secondaryDeviceClass:
10267 description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
10268 minLength: 1
10269 type: string
10270 required:
10271 - primaryDeviceClass
10272 - secondaryDeviceClass
10273 type: object
10274 replicasPerFailureDomain:
10275 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
10276 minimum: 1
10277 type: integer
10278 requireSafeReplicaSize:
10279 description: RequireSafeReplicaSize if false allows you to set replica 1
10280 type: boolean
10281 size:
10282 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
10283 minimum: 0
10284 type: integer
10285 subFailureDomain:
10286 description: SubFailureDomain the name of the sub-failure domain
10287 type: string
10288 targetSizeRatio:
10289 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
10290 type: number
10291 required:
10292 - size
10293 type: object
10294 statusCheck:
10295 description: The mirroring statusCheck
10296 properties:
10297 mirror:
10298 description: HealthCheckSpec represents the health check of an object store bucket
10299 nullable: true
10300 properties:
10301 disabled:
10302 type: boolean
10303 interval:
10304 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
10305 type: string
10306 timeout:
10307 type: string
10308 type: object
10309 type: object
10310 x-kubernetes-preserve-unknown-fields: true
10311 type: object
10312 gateway:
10313 description: The rgw pod info
10314 nullable: true
10315 properties:
10316 annotations:
10317 additionalProperties:
10318 type: string
10319 description: The annotations-related configuration to add/set on each Pod related object.
10320 nullable: true
10321 type: object
10322 x-kubernetes-preserve-unknown-fields: true
10323 caBundleRef:
10324 description: The name of the secret that stores custom ca-bundle with root and intermediate certificates.
10325 nullable: true
10326 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040010327 dashboardEnabled:
10328 description: Whether rgw dashboard is enabled for the rgw daemon. If not set, the rgw dashboard will be enabled.
10329 nullable: true
10330 type: boolean
10331 x-kubernetes-preserve-unknown-fields: true
10332 disableMultisiteSyncTraffic:
10333 description: |-
10334 DisableMultisiteSyncTraffic, when true, prevents this object store's gateways from
10335 transmitting multisite replication data. Note that this value does not affect whether
10336 gateways receive multisite replication traffic: see ObjectZone.spec.customEndpoints for that.
10337 If false or unset, this object store's gateways will be able to transmit multisite
10338 replication data.
10339 type: boolean
okozachenko120323147262023-01-28 04:16:42 +110010340 externalRgwEndpoints:
Mohammed Naser65cda132024-05-02 14:34:08 -040010341 description: |-
10342 ExternalRgwEndpoints points to external RGW endpoint(s). Multiple endpoints can be given, but
10343 for stability of ObjectBucketClaims, we highly recommend that users give only a single
10344 external RGW endpoint that is a load balancer that sends requests to the multiple RGWs.
okozachenko120323147262023-01-28 04:16:42 +110010345 items:
Mohammed Naser65cda132024-05-02 14:34:08 -040010346 description: |-
10347 EndpointAddress is a tuple that describes a single IP address or host name. This is a subset of
10348 Kubernetes's v1.EndpointAddress.
okozachenko120323147262023-01-28 04:16:42 +110010349 properties:
10350 hostname:
Mohammed Naser65cda132024-05-02 14:34:08 -040010351 description: The DNS-addressable Hostname of this endpoint. This field will be preferred over IP if both are given.
okozachenko120323147262023-01-28 04:16:42 +110010352 type: string
10353 ip:
Mohammed Naser65cda132024-05-02 14:34:08 -040010354 description: The IP of this endpoint. As a legacy behavior, this supports being given a DNS-addressable hostname as well.
okozachenko120323147262023-01-28 04:16:42 +110010355 type: string
okozachenko120323147262023-01-28 04:16:42 +110010356 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010357 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010358 nullable: true
10359 type: array
10360 hostNetwork:
10361 description: Whether host networking is enabled for the rgw daemon. If not set, the network settings from the cluster CR will be applied.
10362 nullable: true
10363 type: boolean
10364 x-kubernetes-preserve-unknown-fields: true
10365 instances:
10366 description: The number of pods in the rgw replicaset.
10367 format: int32
10368 nullable: true
10369 type: integer
10370 labels:
10371 additionalProperties:
10372 type: string
10373 description: The labels-related configuration to add/set on each Pod related object.
10374 nullable: true
10375 type: object
10376 x-kubernetes-preserve-unknown-fields: true
10377 placement:
okozachenko120323147262023-01-28 04:16:42 +110010378 nullable: true
10379 properties:
10380 nodeAffinity:
okozachenko120323147262023-01-28 04:16:42 +110010381 properties:
10382 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110010383 items:
okozachenko120323147262023-01-28 04:16:42 +110010384 properties:
10385 preference:
okozachenko120323147262023-01-28 04:16:42 +110010386 properties:
10387 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010388 items:
okozachenko120323147262023-01-28 04:16:42 +110010389 properties:
10390 key:
okozachenko120323147262023-01-28 04:16:42 +110010391 type: string
10392 operator:
okozachenko120323147262023-01-28 04:16:42 +110010393 type: string
10394 values:
okozachenko120323147262023-01-28 04:16:42 +110010395 items:
10396 type: string
10397 type: array
10398 required:
10399 - key
10400 - operator
10401 type: object
10402 type: array
10403 matchFields:
okozachenko120323147262023-01-28 04:16:42 +110010404 items:
okozachenko120323147262023-01-28 04:16:42 +110010405 properties:
10406 key:
okozachenko120323147262023-01-28 04:16:42 +110010407 type: string
10408 operator:
okozachenko120323147262023-01-28 04:16:42 +110010409 type: string
10410 values:
okozachenko120323147262023-01-28 04:16:42 +110010411 items:
10412 type: string
10413 type: array
10414 required:
10415 - key
10416 - operator
10417 type: object
10418 type: array
10419 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010420 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010421 weight:
okozachenko120323147262023-01-28 04:16:42 +110010422 format: int32
10423 type: integer
10424 required:
10425 - preference
10426 - weight
10427 type: object
10428 type: array
10429 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110010430 properties:
10431 nodeSelectorTerms:
okozachenko120323147262023-01-28 04:16:42 +110010432 items:
okozachenko120323147262023-01-28 04:16:42 +110010433 properties:
10434 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010435 items:
okozachenko120323147262023-01-28 04:16:42 +110010436 properties:
10437 key:
okozachenko120323147262023-01-28 04:16:42 +110010438 type: string
10439 operator:
okozachenko120323147262023-01-28 04:16:42 +110010440 type: string
10441 values:
okozachenko120323147262023-01-28 04:16:42 +110010442 items:
10443 type: string
10444 type: array
10445 required:
10446 - key
10447 - operator
10448 type: object
10449 type: array
10450 matchFields:
okozachenko120323147262023-01-28 04:16:42 +110010451 items:
okozachenko120323147262023-01-28 04:16:42 +110010452 properties:
10453 key:
okozachenko120323147262023-01-28 04:16:42 +110010454 type: string
10455 operator:
okozachenko120323147262023-01-28 04:16:42 +110010456 type: string
10457 values:
okozachenko120323147262023-01-28 04:16:42 +110010458 items:
10459 type: string
10460 type: array
10461 required:
10462 - key
10463 - operator
10464 type: object
10465 type: array
10466 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010467 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010468 type: array
10469 required:
10470 - nodeSelectorTerms
10471 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010472 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010473 type: object
10474 podAffinity:
okozachenko120323147262023-01-28 04:16:42 +110010475 properties:
10476 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110010477 items:
okozachenko120323147262023-01-28 04:16:42 +110010478 properties:
10479 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +110010480 properties:
10481 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110010482 properties:
10483 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010484 items:
okozachenko120323147262023-01-28 04:16:42 +110010485 properties:
10486 key:
okozachenko120323147262023-01-28 04:16:42 +110010487 type: string
10488 operator:
okozachenko120323147262023-01-28 04:16:42 +110010489 type: string
10490 values:
okozachenko120323147262023-01-28 04:16:42 +110010491 items:
10492 type: string
10493 type: array
10494 required:
10495 - key
10496 - operator
10497 type: object
10498 type: array
10499 matchLabels:
10500 additionalProperties:
10501 type: string
okozachenko120323147262023-01-28 04:16:42 +110010502 type: object
10503 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010504 x-kubernetes-map-type: atomic
10505 matchLabelKeys:
10506 items:
10507 type: string
10508 type: array
10509 x-kubernetes-list-type: atomic
10510 mismatchLabelKeys:
10511 items:
10512 type: string
10513 type: array
10514 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010515 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +110010516 properties:
10517 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010518 items:
okozachenko120323147262023-01-28 04:16:42 +110010519 properties:
10520 key:
okozachenko120323147262023-01-28 04:16:42 +110010521 type: string
10522 operator:
okozachenko120323147262023-01-28 04:16:42 +110010523 type: string
10524 values:
okozachenko120323147262023-01-28 04:16:42 +110010525 items:
10526 type: string
10527 type: array
10528 required:
10529 - key
10530 - operator
10531 type: object
10532 type: array
10533 matchLabels:
10534 additionalProperties:
10535 type: string
okozachenko120323147262023-01-28 04:16:42 +110010536 type: object
10537 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010538 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010539 namespaces:
okozachenko120323147262023-01-28 04:16:42 +110010540 items:
10541 type: string
10542 type: array
10543 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110010544 type: string
10545 required:
10546 - topologyKey
10547 type: object
10548 weight:
okozachenko120323147262023-01-28 04:16:42 +110010549 format: int32
10550 type: integer
10551 required:
10552 - podAffinityTerm
10553 - weight
10554 type: object
10555 type: array
10556 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110010557 items:
okozachenko120323147262023-01-28 04:16:42 +110010558 properties:
10559 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110010560 properties:
10561 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010562 items:
okozachenko120323147262023-01-28 04:16:42 +110010563 properties:
10564 key:
okozachenko120323147262023-01-28 04:16:42 +110010565 type: string
10566 operator:
okozachenko120323147262023-01-28 04:16:42 +110010567 type: string
10568 values:
okozachenko120323147262023-01-28 04:16:42 +110010569 items:
10570 type: string
10571 type: array
10572 required:
10573 - key
10574 - operator
10575 type: object
10576 type: array
10577 matchLabels:
10578 additionalProperties:
10579 type: string
okozachenko120323147262023-01-28 04:16:42 +110010580 type: object
10581 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010582 x-kubernetes-map-type: atomic
10583 matchLabelKeys:
10584 items:
10585 type: string
10586 type: array
10587 x-kubernetes-list-type: atomic
10588 mismatchLabelKeys:
10589 items:
10590 type: string
10591 type: array
10592 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010593 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +110010594 properties:
10595 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010596 items:
okozachenko120323147262023-01-28 04:16:42 +110010597 properties:
10598 key:
okozachenko120323147262023-01-28 04:16:42 +110010599 type: string
10600 operator:
okozachenko120323147262023-01-28 04:16:42 +110010601 type: string
10602 values:
okozachenko120323147262023-01-28 04:16:42 +110010603 items:
10604 type: string
10605 type: array
10606 required:
10607 - key
10608 - operator
10609 type: object
10610 type: array
10611 matchLabels:
10612 additionalProperties:
10613 type: string
okozachenko120323147262023-01-28 04:16:42 +110010614 type: object
10615 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010616 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010617 namespaces:
okozachenko120323147262023-01-28 04:16:42 +110010618 items:
10619 type: string
10620 type: array
10621 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110010622 type: string
10623 required:
10624 - topologyKey
10625 type: object
10626 type: array
10627 type: object
10628 podAntiAffinity:
okozachenko120323147262023-01-28 04:16:42 +110010629 properties:
10630 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110010631 items:
okozachenko120323147262023-01-28 04:16:42 +110010632 properties:
10633 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +110010634 properties:
10635 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110010636 properties:
10637 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010638 items:
okozachenko120323147262023-01-28 04:16:42 +110010639 properties:
10640 key:
okozachenko120323147262023-01-28 04:16:42 +110010641 type: string
10642 operator:
okozachenko120323147262023-01-28 04:16:42 +110010643 type: string
10644 values:
okozachenko120323147262023-01-28 04:16:42 +110010645 items:
10646 type: string
10647 type: array
10648 required:
10649 - key
10650 - operator
10651 type: object
10652 type: array
10653 matchLabels:
10654 additionalProperties:
10655 type: string
okozachenko120323147262023-01-28 04:16:42 +110010656 type: object
10657 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010658 x-kubernetes-map-type: atomic
10659 matchLabelKeys:
10660 items:
10661 type: string
10662 type: array
10663 x-kubernetes-list-type: atomic
10664 mismatchLabelKeys:
10665 items:
10666 type: string
10667 type: array
10668 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010669 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +110010670 properties:
10671 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010672 items:
okozachenko120323147262023-01-28 04:16:42 +110010673 properties:
10674 key:
okozachenko120323147262023-01-28 04:16:42 +110010675 type: string
10676 operator:
okozachenko120323147262023-01-28 04:16:42 +110010677 type: string
10678 values:
okozachenko120323147262023-01-28 04:16:42 +110010679 items:
10680 type: string
10681 type: array
10682 required:
10683 - key
10684 - operator
10685 type: object
10686 type: array
10687 matchLabels:
10688 additionalProperties:
10689 type: string
okozachenko120323147262023-01-28 04:16:42 +110010690 type: object
10691 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010692 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010693 namespaces:
okozachenko120323147262023-01-28 04:16:42 +110010694 items:
10695 type: string
10696 type: array
10697 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110010698 type: string
10699 required:
10700 - topologyKey
10701 type: object
10702 weight:
okozachenko120323147262023-01-28 04:16:42 +110010703 format: int32
10704 type: integer
10705 required:
10706 - podAffinityTerm
10707 - weight
10708 type: object
10709 type: array
10710 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110010711 items:
okozachenko120323147262023-01-28 04:16:42 +110010712 properties:
10713 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110010714 properties:
10715 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010716 items:
okozachenko120323147262023-01-28 04:16:42 +110010717 properties:
10718 key:
okozachenko120323147262023-01-28 04:16:42 +110010719 type: string
10720 operator:
okozachenko120323147262023-01-28 04:16:42 +110010721 type: string
10722 values:
okozachenko120323147262023-01-28 04:16:42 +110010723 items:
10724 type: string
10725 type: array
10726 required:
10727 - key
10728 - operator
10729 type: object
10730 type: array
10731 matchLabels:
10732 additionalProperties:
10733 type: string
okozachenko120323147262023-01-28 04:16:42 +110010734 type: object
10735 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010736 x-kubernetes-map-type: atomic
10737 matchLabelKeys:
10738 items:
10739 type: string
10740 type: array
10741 x-kubernetes-list-type: atomic
10742 mismatchLabelKeys:
10743 items:
10744 type: string
10745 type: array
10746 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010747 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +110010748 properties:
10749 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010750 items:
okozachenko120323147262023-01-28 04:16:42 +110010751 properties:
10752 key:
okozachenko120323147262023-01-28 04:16:42 +110010753 type: string
10754 operator:
okozachenko120323147262023-01-28 04:16:42 +110010755 type: string
10756 values:
okozachenko120323147262023-01-28 04:16:42 +110010757 items:
10758 type: string
10759 type: array
10760 required:
10761 - key
10762 - operator
10763 type: object
10764 type: array
10765 matchLabels:
10766 additionalProperties:
10767 type: string
okozachenko120323147262023-01-28 04:16:42 +110010768 type: object
10769 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010770 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010771 namespaces:
okozachenko120323147262023-01-28 04:16:42 +110010772 items:
10773 type: string
10774 type: array
10775 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110010776 type: string
10777 required:
10778 - topologyKey
10779 type: object
10780 type: array
10781 type: object
10782 tolerations:
okozachenko120323147262023-01-28 04:16:42 +110010783 items:
okozachenko120323147262023-01-28 04:16:42 +110010784 properties:
10785 effect:
okozachenko120323147262023-01-28 04:16:42 +110010786 type: string
10787 key:
okozachenko120323147262023-01-28 04:16:42 +110010788 type: string
10789 operator:
okozachenko120323147262023-01-28 04:16:42 +110010790 type: string
10791 tolerationSeconds:
okozachenko120323147262023-01-28 04:16:42 +110010792 format: int64
10793 type: integer
10794 value:
okozachenko120323147262023-01-28 04:16:42 +110010795 type: string
10796 type: object
10797 type: array
10798 topologySpreadConstraints:
okozachenko120323147262023-01-28 04:16:42 +110010799 items:
okozachenko120323147262023-01-28 04:16:42 +110010800 properties:
10801 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110010802 properties:
10803 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010804 items:
okozachenko120323147262023-01-28 04:16:42 +110010805 properties:
10806 key:
okozachenko120323147262023-01-28 04:16:42 +110010807 type: string
10808 operator:
okozachenko120323147262023-01-28 04:16:42 +110010809 type: string
10810 values:
okozachenko120323147262023-01-28 04:16:42 +110010811 items:
10812 type: string
10813 type: array
10814 required:
10815 - key
10816 - operator
10817 type: object
10818 type: array
10819 matchLabels:
10820 additionalProperties:
10821 type: string
okozachenko120323147262023-01-28 04:16:42 +110010822 type: object
10823 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010824 x-kubernetes-map-type: atomic
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000010825 matchLabelKeys:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000010826 items:
10827 type: string
10828 type: array
10829 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010830 maxSkew:
okozachenko120323147262023-01-28 04:16:42 +110010831 format: int32
10832 type: integer
10833 minDomains:
okozachenko120323147262023-01-28 04:16:42 +110010834 format: int32
10835 type: integer
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000010836 nodeAffinityPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000010837 type: string
10838 nodeTaintsPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000010839 type: string
okozachenko120323147262023-01-28 04:16:42 +110010840 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110010841 type: string
10842 whenUnsatisfiable:
okozachenko120323147262023-01-28 04:16:42 +110010843 type: string
10844 required:
10845 - maxSkew
10846 - topologyKey
10847 - whenUnsatisfiable
10848 type: object
10849 type: array
10850 type: object
10851 x-kubernetes-preserve-unknown-fields: true
10852 port:
10853 description: The port the rgw service will be listening on (http)
10854 format: int32
10855 type: integer
10856 priorityClassName:
10857 description: PriorityClassName sets priority classes on the rgw pods
10858 type: string
10859 resources:
10860 description: The resource requirements for the rgw pods
10861 nullable: true
10862 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040010863 claims:
10864 description: |-
10865 Claims lists the names of resources, defined in spec.resourceClaims,
10866 that are used by this container.
10867
10868
10869 This is an alpha field and requires enabling the
10870 DynamicResourceAllocation feature gate.
10871
10872
10873 This field is immutable. It can only be set for containers.
10874 items:
10875 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
10876 properties:
10877 name:
10878 description: |-
10879 Name must match the name of one entry in pod.spec.resourceClaims of
10880 the Pod where this field is used. It makes that resource available
10881 inside a container.
10882 type: string
10883 required:
10884 - name
10885 type: object
10886 type: array
10887 x-kubernetes-list-map-keys:
10888 - name
10889 x-kubernetes-list-type: map
okozachenko120323147262023-01-28 04:16:42 +110010890 limits:
10891 additionalProperties:
10892 anyOf:
10893 - type: integer
10894 - type: string
10895 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
10896 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -040010897 description: |-
10898 Limits describes the maximum amount of compute resources allowed.
10899 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +110010900 type: object
10901 requests:
10902 additionalProperties:
10903 anyOf:
10904 - type: integer
10905 - type: string
10906 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
10907 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -040010908 description: |-
10909 Requests describes the minimum amount of compute resources required.
10910 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
10911 otherwise to an implementation-defined value. Requests cannot exceed Limits.
10912 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +110010913 type: object
10914 type: object
10915 x-kubernetes-preserve-unknown-fields: true
10916 securePort:
10917 description: The port the rgw service will be listening on (https)
10918 format: int32
10919 maximum: 65535
10920 minimum: 0
10921 nullable: true
10922 type: integer
10923 service:
10924 description: The configuration related to add/set on each rgw service.
10925 nullable: true
10926 properties:
10927 annotations:
10928 additionalProperties:
10929 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040010930 description: |-
10931 The annotations-related configuration to add/set on each rgw service.
10932 nullable
10933 optional
okozachenko120323147262023-01-28 04:16:42 +110010934 type: object
10935 type: object
10936 sslCertificateRef:
10937 description: The name of the secret that stores the ssl certificate for secure rgw connections
10938 nullable: true
10939 type: string
10940 type: object
10941 healthCheck:
Mohammed Naser65cda132024-05-02 14:34:08 -040010942 description: The RGW health probes
okozachenko120323147262023-01-28 04:16:42 +110010943 nullable: true
10944 properties:
okozachenko120323147262023-01-28 04:16:42 +110010945 readinessProbe:
10946 description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
10947 properties:
10948 disabled:
10949 description: Disabled determines whether probe is disable or not
10950 type: boolean
10951 probe:
Mohammed Naser65cda132024-05-02 14:34:08 -040010952 description: |-
10953 Probe describes a health check to be performed against a container to determine whether it is
10954 alive or ready to receive traffic.
okozachenko120323147262023-01-28 04:16:42 +110010955 properties:
10956 exec:
10957 description: Exec specifies the action to take.
10958 properties:
10959 command:
Mohammed Naser65cda132024-05-02 14:34:08 -040010960 description: |-
10961 Command is the command line to execute inside the container, the working directory for the
10962 command is root ('/') in the container's filesystem. The command is simply exec'd, it is
10963 not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
10964 a shell, you need to explicitly call out to that shell.
10965 Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
okozachenko120323147262023-01-28 04:16:42 +110010966 items:
10967 type: string
10968 type: array
10969 type: object
10970 failureThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -040010971 description: |-
10972 Minimum consecutive failures for the probe to be considered failed after having succeeded.
10973 Defaults to 3. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +110010974 format: int32
10975 type: integer
10976 grpc:
Mohammed Naser65cda132024-05-02 14:34:08 -040010977 description: GRPC specifies an action involving a GRPC port.
okozachenko120323147262023-01-28 04:16:42 +110010978 properties:
10979 port:
10980 description: Port number of the gRPC service. Number must be in the range 1 to 65535.
10981 format: int32
10982 type: integer
10983 service:
Mohammed Naser65cda132024-05-02 14:34:08 -040010984 description: |-
10985 Service is the name of the service to place in the gRPC HealthCheckRequest
10986 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
10987
10988
10989 If this is not specified, the default behavior is defined by gRPC.
okozachenko120323147262023-01-28 04:16:42 +110010990 type: string
10991 required:
10992 - port
10993 type: object
10994 httpGet:
10995 description: HTTPGet specifies the http request to perform.
10996 properties:
10997 host:
Mohammed Naser65cda132024-05-02 14:34:08 -040010998 description: |-
10999 Host name to connect to, defaults to the pod IP. You probably want to set
11000 "Host" in httpHeaders instead.
okozachenko120323147262023-01-28 04:16:42 +110011001 type: string
11002 httpHeaders:
11003 description: Custom headers to set in the request. HTTP allows repeated headers.
11004 items:
11005 description: HTTPHeader describes a custom header to be used in HTTP probes
11006 properties:
11007 name:
Mohammed Naser65cda132024-05-02 14:34:08 -040011008 description: |-
11009 The header field name.
11010 This will be canonicalized upon output, so case-variant names will be understood as the same header.
okozachenko120323147262023-01-28 04:16:42 +110011011 type: string
11012 value:
11013 description: The header field value
11014 type: string
11015 required:
11016 - name
11017 - value
11018 type: object
11019 type: array
11020 path:
11021 description: Path to access on the HTTP server.
11022 type: string
11023 port:
11024 anyOf:
11025 - type: integer
11026 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011027 description: |-
11028 Name or number of the port to access on the container.
11029 Number must be in the range 1 to 65535.
11030 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +110011031 x-kubernetes-int-or-string: true
11032 scheme:
Mohammed Naser65cda132024-05-02 14:34:08 -040011033 description: |-
11034 Scheme to use for connecting to the host.
11035 Defaults to HTTP.
okozachenko120323147262023-01-28 04:16:42 +110011036 type: string
11037 required:
11038 - port
11039 type: object
11040 initialDelaySeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -040011041 description: |-
11042 Number of seconds after the container has started before liveness probes are initiated.
11043 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +110011044 format: int32
11045 type: integer
11046 periodSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -040011047 description: |-
11048 How often (in seconds) to perform the probe.
11049 Default to 10 seconds. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +110011050 format: int32
11051 type: integer
11052 successThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -040011053 description: |-
11054 Minimum consecutive successes for the probe to be considered successful after having failed.
11055 Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +110011056 format: int32
11057 type: integer
11058 tcpSocket:
11059 description: TCPSocket specifies an action involving a TCP port.
11060 properties:
11061 host:
11062 description: 'Optional: Host name to connect to, defaults to the pod IP.'
11063 type: string
11064 port:
11065 anyOf:
11066 - type: integer
11067 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011068 description: |-
11069 Number or name of the port to access on the container.
11070 Number must be in the range 1 to 65535.
11071 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +110011072 x-kubernetes-int-or-string: true
11073 required:
11074 - port
11075 type: object
11076 terminationGracePeriodSeconds:
okozachenko120323147262023-01-28 04:16:42 +110011077 format: int64
11078 type: integer
11079 timeoutSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -040011080 description: |-
11081 Number of seconds after which the probe times out.
11082 Defaults to 1 second. Minimum value is 1.
11083 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +110011084 format: int32
11085 type: integer
11086 type: object
11087 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040011088 x-kubernetes-preserve-unknown-fields: true
okozachenko120323147262023-01-28 04:16:42 +110011089 startupProbe:
11090 description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
11091 properties:
11092 disabled:
11093 description: Disabled determines whether probe is disable or not
11094 type: boolean
11095 probe:
Mohammed Naser65cda132024-05-02 14:34:08 -040011096 description: |-
11097 Probe describes a health check to be performed against a container to determine whether it is
11098 alive or ready to receive traffic.
okozachenko120323147262023-01-28 04:16:42 +110011099 properties:
11100 exec:
11101 description: Exec specifies the action to take.
11102 properties:
11103 command:
Mohammed Naser65cda132024-05-02 14:34:08 -040011104 description: |-
11105 Command is the command line to execute inside the container, the working directory for the
11106 command is root ('/') in the container's filesystem. The command is simply exec'd, it is
11107 not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
11108 a shell, you need to explicitly call out to that shell.
11109 Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
okozachenko120323147262023-01-28 04:16:42 +110011110 items:
11111 type: string
11112 type: array
11113 type: object
11114 failureThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -040011115 description: |-
11116 Minimum consecutive failures for the probe to be considered failed after having succeeded.
11117 Defaults to 3. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +110011118 format: int32
11119 type: integer
11120 grpc:
Mohammed Naser65cda132024-05-02 14:34:08 -040011121 description: GRPC specifies an action involving a GRPC port.
okozachenko120323147262023-01-28 04:16:42 +110011122 properties:
11123 port:
11124 description: Port number of the gRPC service. Number must be in the range 1 to 65535.
11125 format: int32
11126 type: integer
11127 service:
Mohammed Naser65cda132024-05-02 14:34:08 -040011128 description: |-
11129 Service is the name of the service to place in the gRPC HealthCheckRequest
11130 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
11131
11132
11133 If this is not specified, the default behavior is defined by gRPC.
okozachenko120323147262023-01-28 04:16:42 +110011134 type: string
11135 required:
11136 - port
11137 type: object
11138 httpGet:
11139 description: HTTPGet specifies the http request to perform.
11140 properties:
11141 host:
Mohammed Naser65cda132024-05-02 14:34:08 -040011142 description: |-
11143 Host name to connect to, defaults to the pod IP. You probably want to set
11144 "Host" in httpHeaders instead.
okozachenko120323147262023-01-28 04:16:42 +110011145 type: string
11146 httpHeaders:
11147 description: Custom headers to set in the request. HTTP allows repeated headers.
11148 items:
11149 description: HTTPHeader describes a custom header to be used in HTTP probes
11150 properties:
11151 name:
Mohammed Naser65cda132024-05-02 14:34:08 -040011152 description: |-
11153 The header field name.
11154 This will be canonicalized upon output, so case-variant names will be understood as the same header.
okozachenko120323147262023-01-28 04:16:42 +110011155 type: string
11156 value:
11157 description: The header field value
11158 type: string
11159 required:
11160 - name
11161 - value
11162 type: object
11163 type: array
11164 path:
11165 description: Path to access on the HTTP server.
11166 type: string
11167 port:
11168 anyOf:
11169 - type: integer
11170 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011171 description: |-
11172 Name or number of the port to access on the container.
11173 Number must be in the range 1 to 65535.
11174 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +110011175 x-kubernetes-int-or-string: true
11176 scheme:
Mohammed Naser65cda132024-05-02 14:34:08 -040011177 description: |-
11178 Scheme to use for connecting to the host.
11179 Defaults to HTTP.
okozachenko120323147262023-01-28 04:16:42 +110011180 type: string
11181 required:
11182 - port
11183 type: object
11184 initialDelaySeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -040011185 description: |-
11186 Number of seconds after the container has started before liveness probes are initiated.
11187 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +110011188 format: int32
11189 type: integer
11190 periodSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -040011191 description: |-
11192 How often (in seconds) to perform the probe.
11193 Default to 10 seconds. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +110011194 format: int32
11195 type: integer
11196 successThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -040011197 description: |-
11198 Minimum consecutive successes for the probe to be considered successful after having failed.
11199 Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +110011200 format: int32
11201 type: integer
11202 tcpSocket:
11203 description: TCPSocket specifies an action involving a TCP port.
11204 properties:
11205 host:
11206 description: 'Optional: Host name to connect to, defaults to the pod IP.'
11207 type: string
11208 port:
11209 anyOf:
11210 - type: integer
11211 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011212 description: |-
11213 Number or name of the port to access on the container.
11214 Number must be in the range 1 to 65535.
11215 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +110011216 x-kubernetes-int-or-string: true
11217 required:
11218 - port
11219 type: object
11220 terminationGracePeriodSeconds:
okozachenko120323147262023-01-28 04:16:42 +110011221 format: int64
11222 type: integer
11223 timeoutSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -040011224 description: |-
11225 Number of seconds after which the probe times out.
11226 Defaults to 1 second. Minimum value is 1.
11227 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +110011228 format: int32
11229 type: integer
11230 type: object
11231 type: object
11232 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040011233 hosting:
11234 description: Hosting settings for the object store
11235 properties:
11236 dnsNames:
11237 description: |-
11238 A list of DNS names in which bucket can be accessed via virtual host path. These names need to valid according RFC-1123.
11239 Each domain requires wildcard support like ingress loadbalancer.
11240 Do not include the wildcard itself in the list of hostnames (e.g. use "mystore.example.com" instead of "*.mystore.example.com").
11241 Add all hostnames including user-created Kubernetes Service endpoints to the list.
11242 CephObjectStore Service Endpoints and CephObjectZone customEndpoints are automatically added to the list.
11243 The feature is supported only for Ceph v18 and later versions.
11244 items:
11245 type: string
11246 type: array
11247 type: object
okozachenko120323147262023-01-28 04:16:42 +110011248 metadataPool:
11249 description: The metadata pool settings
11250 nullable: true
11251 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040011252 application:
11253 description: The application name to set on the pool. Only expected to be set for rgw pools.
11254 type: string
okozachenko120323147262023-01-28 04:16:42 +110011255 compressionMode:
Mohammed Naser65cda132024-05-02 14:34:08 -040011256 description: |-
11257 DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force"
11258 The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
11259 Do NOT set a default value for kubebuilder as this will override the Parameters
okozachenko120323147262023-01-28 04:16:42 +110011260 enum:
11261 - none
11262 - passive
11263 - aggressive
11264 - force
11265 - ""
11266 nullable: true
11267 type: string
11268 crushRoot:
11269 description: The root of the crush hierarchy utilized by the pool
11270 nullable: true
11271 type: string
11272 deviceClass:
11273 description: The device class the OSD should set to for use in the pool
11274 nullable: true
11275 type: string
11276 enableRBDStats:
11277 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
11278 type: boolean
11279 erasureCoded:
11280 description: The erasure code settings
11281 properties:
11282 algorithm:
11283 description: The algorithm for erasure coding
11284 type: string
11285 codingChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -040011286 description: |-
11287 Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
11288 This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
okozachenko120323147262023-01-28 04:16:42 +110011289 minimum: 0
11290 type: integer
11291 dataChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -040011292 description: |-
11293 Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
11294 The number of chunks required to recover an object when any single OSD is lost is the same
11295 as dataChunks so be aware that the larger the number of data chunks, the higher the cost of recovery.
okozachenko120323147262023-01-28 04:16:42 +110011296 minimum: 0
11297 type: integer
11298 required:
11299 - codingChunks
11300 - dataChunks
11301 type: object
11302 failureDomain:
11303 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
11304 type: string
11305 mirroring:
11306 description: The mirroring settings
11307 properties:
11308 enabled:
11309 description: Enabled whether this pool is mirrored or not
11310 type: boolean
11311 mode:
11312 description: 'Mode is the mirroring mode: either pool or image'
11313 type: string
11314 peers:
11315 description: Peers represents the peers spec
11316 nullable: true
11317 properties:
11318 secretNames:
11319 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
11320 items:
11321 type: string
11322 type: array
11323 type: object
11324 snapshotSchedules:
11325 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
11326 items:
11327 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
11328 properties:
11329 interval:
11330 description: Interval represent the periodicity of the snapshot.
11331 type: string
11332 path:
11333 description: Path is the path to snapshot, only valid for CephFS
11334 type: string
11335 startTime:
11336 description: StartTime indicates when to start the snapshot
11337 type: string
11338 type: object
11339 type: array
11340 type: object
11341 parameters:
11342 additionalProperties:
11343 type: string
11344 description: Parameters is a list of properties to enable on a given pool
11345 nullable: true
11346 type: object
11347 x-kubernetes-preserve-unknown-fields: true
11348 quotas:
11349 description: The quota settings
11350 nullable: true
11351 properties:
11352 maxBytes:
Mohammed Naser65cda132024-05-02 14:34:08 -040011353 description: |-
11354 MaxBytes represents the quota in bytes
11355 Deprecated in favor of MaxSize
okozachenko120323147262023-01-28 04:16:42 +110011356 format: int64
11357 type: integer
11358 maxObjects:
11359 description: MaxObjects represents the quota in objects
11360 format: int64
11361 type: integer
11362 maxSize:
11363 description: MaxSize represents the quota in bytes as a string
11364 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
11365 type: string
11366 type: object
11367 replicated:
11368 description: The replication settings
11369 properties:
11370 hybridStorage:
11371 description: HybridStorage represents hybrid storage tier settings
11372 nullable: true
11373 properties:
11374 primaryDeviceClass:
11375 description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
11376 minLength: 1
11377 type: string
11378 secondaryDeviceClass:
11379 description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
11380 minLength: 1
11381 type: string
11382 required:
11383 - primaryDeviceClass
11384 - secondaryDeviceClass
11385 type: object
11386 replicasPerFailureDomain:
11387 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
11388 minimum: 1
11389 type: integer
11390 requireSafeReplicaSize:
11391 description: RequireSafeReplicaSize if false allows you to set replica 1
11392 type: boolean
11393 size:
11394 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
11395 minimum: 0
11396 type: integer
11397 subFailureDomain:
11398 description: SubFailureDomain the name of the sub-failure domain
11399 type: string
11400 targetSizeRatio:
11401 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
11402 type: number
11403 required:
11404 - size
11405 type: object
11406 statusCheck:
11407 description: The mirroring statusCheck
11408 properties:
11409 mirror:
11410 description: HealthCheckSpec represents the health check of an object store bucket
11411 nullable: true
11412 properties:
11413 disabled:
11414 type: boolean
11415 interval:
11416 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
11417 type: string
11418 timeout:
11419 type: string
11420 type: object
11421 type: object
11422 x-kubernetes-preserve-unknown-fields: true
11423 type: object
11424 preservePoolsOnDelete:
11425 description: Preserve pools on object store deletion
11426 type: boolean
11427 security:
11428 description: Security represents security settings
11429 nullable: true
11430 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040011431 keyRotation:
11432 description: KeyRotation defines options for Key Rotation.
11433 nullable: true
11434 properties:
11435 enabled:
11436 default: false
11437 description: Enabled represents whether the key rotation is enabled.
11438 type: boolean
11439 schedule:
11440 description: Schedule represents the cron schedule for key rotation.
11441 type: string
11442 type: object
okozachenko120323147262023-01-28 04:16:42 +110011443 kms:
11444 description: KeyManagementService is the main Key Management option
11445 nullable: true
11446 properties:
11447 connectionDetails:
11448 additionalProperties:
11449 type: string
11450 description: ConnectionDetails contains the KMS connection details (address, port etc)
11451 nullable: true
11452 type: object
11453 x-kubernetes-preserve-unknown-fields: true
11454 tokenSecretName:
11455 description: TokenSecretName is the kubernetes secret containing the KMS token
11456 type: string
11457 type: object
11458 s3:
11459 description: The settings for supporting AWS-SSE:S3 with RGW
11460 nullable: true
11461 properties:
11462 connectionDetails:
11463 additionalProperties:
11464 type: string
11465 description: ConnectionDetails contains the KMS connection details (address, port etc)
11466 nullable: true
11467 type: object
11468 x-kubernetes-preserve-unknown-fields: true
11469 tokenSecretName:
11470 description: TokenSecretName is the kubernetes secret containing the KMS token
11471 type: string
11472 type: object
11473 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040011474 sharedPools:
11475 description: The pool information when configuring RADOS namespaces in existing pools.
11476 nullable: true
11477 properties:
11478 dataPoolName:
11479 description: The data pool used for creating RADOS namespaces in the object store
11480 type: string
11481 x-kubernetes-validations:
11482 - message: object store shared data pool is immutable
11483 rule: self == oldSelf
11484 metadataPoolName:
11485 description: The metadata pool used for creating RADOS namespaces in the object store
11486 type: string
11487 x-kubernetes-validations:
11488 - message: object store shared metadata pool is immutable
11489 rule: self == oldSelf
11490 preserveRadosNamespaceDataOnDelete:
11491 description: Whether the RADOS namespaces should be preserved on deletion of the object store
11492 type: boolean
11493 required:
11494 - dataPoolName
11495 - metadataPoolName
11496 type: object
okozachenko120323147262023-01-28 04:16:42 +110011497 zone:
11498 description: The multisite info
11499 nullable: true
11500 properties:
11501 name:
11502 description: RGW Zone the Object Store is in
11503 type: string
11504 required:
11505 - name
11506 type: object
11507 type: object
11508 status:
11509 description: ObjectStoreStatus represents the status of a Ceph Object Store resource
11510 properties:
okozachenko120323147262023-01-28 04:16:42 +110011511 conditions:
11512 items:
11513 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
11514 properties:
11515 lastHeartbeatTime:
11516 format: date-time
11517 type: string
11518 lastTransitionTime:
11519 format: date-time
11520 type: string
11521 message:
11522 type: string
11523 reason:
11524 description: ConditionReason is a reason for a condition
11525 type: string
11526 status:
11527 type: string
11528 type:
11529 description: ConditionType represent a resource's status
11530 type: string
11531 type: object
11532 type: array
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000011533 endpoints:
11534 properties:
11535 insecure:
11536 items:
11537 type: string
11538 nullable: true
11539 type: array
11540 secure:
11541 items:
11542 type: string
11543 nullable: true
11544 type: array
11545 type: object
okozachenko120323147262023-01-28 04:16:42 +110011546 info:
11547 additionalProperties:
11548 type: string
11549 nullable: true
11550 type: object
11551 message:
11552 type: string
11553 observedGeneration:
11554 description: ObservedGeneration is the latest generation observed by the controller.
11555 format: int64
11556 type: integer
11557 phase:
11558 description: ConditionType represent a resource's status
11559 type: string
11560 type: object
11561 x-kubernetes-preserve-unknown-fields: true
11562 required:
11563 - metadata
11564 - spec
11565 type: object
11566 served: true
11567 storage: true
11568 subresources:
11569 status: {}
okozachenko120323147262023-01-28 04:16:42 +110011570---
11571apiVersion: apiextensions.k8s.io/v1
11572kind: CustomResourceDefinition
11573metadata:
11574 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -040011575 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +110011576 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +110011577 name: cephobjectstoreusers.ceph.rook.io
11578spec:
11579 group: ceph.rook.io
11580 names:
11581 kind: CephObjectStoreUser
11582 listKind: CephObjectStoreUserList
11583 plural: cephobjectstoreusers
11584 shortNames:
11585 - rcou
11586 - objectuser
11587 singular: cephobjectstoreuser
11588 scope: Namespaced
11589 versions:
11590 - additionalPrinterColumns:
11591 - jsonPath: .status.phase
11592 name: Phase
11593 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011594 - jsonPath: .metadata.creationTimestamp
11595 name: Age
11596 type: date
okozachenko120323147262023-01-28 04:16:42 +110011597 name: v1
11598 schema:
11599 openAPIV3Schema:
11600 description: CephObjectStoreUser represents a Ceph Object Store Gateway User
11601 properties:
11602 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -040011603 description: |-
11604 APIVersion defines the versioned schema of this representation of an object.
11605 Servers should convert recognized schemas to the latest internal value, and
11606 may reject unrecognized values.
11607 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +110011608 type: string
11609 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -040011610 description: |-
11611 Kind is a string value representing the REST resource this object represents.
11612 Servers may infer this from the endpoint the client submits requests to.
11613 Cannot be updated.
11614 In CamelCase.
11615 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +110011616 type: string
11617 metadata:
11618 type: object
11619 spec:
11620 description: ObjectStoreUserSpec represent the spec of an Objectstoreuser
11621 properties:
11622 capabilities:
11623 description: Additional admin-level capabilities for the Ceph object store user
11624 nullable: true
11625 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040011626 amz-cache:
11627 description: Add capabilities for user to send request to RGW Cache API header. Documented in https://docs.ceph.com/en/quincy/radosgw/rgw-cache/#cache-api
11628 enum:
11629 - '*'
11630 - read
11631 - write
11632 - read, write
11633 type: string
11634 bilog:
11635 description: Add capabilities for user to change bucket index logging. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11636 enum:
11637 - '*'
11638 - read
11639 - write
11640 - read, write
11641 type: string
okozachenko120323147262023-01-28 04:16:42 +110011642 bucket:
11643 description: Admin capabilities to read/write Ceph object store buckets. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11644 enum:
11645 - '*'
11646 - read
11647 - write
11648 - read, write
11649 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011650 buckets:
11651 description: Admin capabilities to read/write Ceph object store buckets. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11652 enum:
11653 - '*'
11654 - read
11655 - write
11656 - read, write
11657 type: string
11658 datalog:
11659 description: Add capabilities for user to change data logging. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11660 enum:
11661 - '*'
11662 - read
11663 - write
11664 - read, write
11665 type: string
11666 info:
11667 description: Admin capabilities to read/write information about the user. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11668 enum:
11669 - '*'
11670 - read
11671 - write
11672 - read, write
11673 type: string
11674 mdlog:
11675 description: Add capabilities for user to change metadata logging. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11676 enum:
11677 - '*'
11678 - read
11679 - write
11680 - read, write
11681 type: string
okozachenko120323147262023-01-28 04:16:42 +110011682 metadata:
11683 description: Admin capabilities to read/write Ceph object store metadata. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11684 enum:
11685 - '*'
11686 - read
11687 - write
11688 - read, write
11689 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011690 oidc-provider:
11691 description: Add capabilities for user to change oidc provider. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11692 enum:
11693 - '*'
11694 - read
11695 - write
11696 - read, write
11697 type: string
11698 ratelimit:
11699 description: Add capabilities for user to set rate limiter for user and bucket. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11700 enum:
11701 - '*'
11702 - read
11703 - write
11704 - read, write
11705 type: string
11706 roles:
11707 description: Admin capabilities to read/write roles for user. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11708 enum:
11709 - '*'
11710 - read
11711 - write
11712 - read, write
11713 type: string
okozachenko120323147262023-01-28 04:16:42 +110011714 usage:
11715 description: Admin capabilities to read/write Ceph object store usage. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11716 enum:
11717 - '*'
11718 - read
11719 - write
11720 - read, write
11721 type: string
11722 user:
11723 description: Admin capabilities to read/write Ceph object store users. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11724 enum:
11725 - '*'
11726 - read
11727 - write
11728 - read, write
11729 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011730 user-policy:
11731 description: Add capabilities for user to change user policies. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11732 enum:
11733 - '*'
11734 - read
11735 - write
11736 - read, write
11737 type: string
11738 users:
11739 description: Admin capabilities to read/write Ceph object store users. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11740 enum:
11741 - '*'
11742 - read
11743 - write
11744 - read, write
11745 type: string
okozachenko120323147262023-01-28 04:16:42 +110011746 zone:
11747 description: Admin capabilities to read/write Ceph object store zones. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11748 enum:
11749 - '*'
11750 - read
11751 - write
11752 - read, write
11753 type: string
11754 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040011755 clusterNamespace:
11756 description: The namespace where the parent CephCluster and CephObjectStore are found
11757 type: string
okozachenko120323147262023-01-28 04:16:42 +110011758 displayName:
11759 description: The display name for the ceph users
11760 type: string
11761 quotas:
11762 description: ObjectUserQuotaSpec can be used to set quotas for the object store user to limit their usage. See the [Ceph docs](https://docs.ceph.com/en/latest/radosgw/admin/?#quota-management) for more
11763 nullable: true
11764 properties:
11765 maxBuckets:
11766 description: Maximum bucket limit for the ceph user
11767 nullable: true
11768 type: integer
11769 maxObjects:
11770 description: Maximum number of objects across all the user's buckets
11771 format: int64
11772 nullable: true
11773 type: integer
11774 maxSize:
11775 anyOf:
11776 - type: integer
11777 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011778 description: |-
11779 Maximum size limit of all objects across all the user's buckets
11780 See https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity for more info.
okozachenko120323147262023-01-28 04:16:42 +110011781 nullable: true
11782 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
11783 x-kubernetes-int-or-string: true
11784 type: object
11785 store:
11786 description: The store the user will be created in
11787 type: string
11788 type: object
11789 status:
11790 description: ObjectStoreUserStatus represents the status Ceph Object Store Gateway User
11791 properties:
11792 info:
11793 additionalProperties:
11794 type: string
11795 nullable: true
11796 type: object
11797 observedGeneration:
11798 description: ObservedGeneration is the latest generation observed by the controller.
11799 format: int64
11800 type: integer
11801 phase:
11802 type: string
11803 type: object
11804 x-kubernetes-preserve-unknown-fields: true
11805 required:
11806 - metadata
11807 - spec
11808 type: object
11809 served: true
11810 storage: true
11811 subresources:
11812 status: {}
okozachenko120323147262023-01-28 04:16:42 +110011813---
11814apiVersion: apiextensions.k8s.io/v1
11815kind: CustomResourceDefinition
11816metadata:
11817 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -040011818 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +110011819 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +110011820 name: cephobjectzonegroups.ceph.rook.io
11821spec:
11822 group: ceph.rook.io
11823 names:
11824 kind: CephObjectZoneGroup
11825 listKind: CephObjectZoneGroupList
11826 plural: cephobjectzonegroups
11827 singular: cephobjectzonegroup
11828 scope: Namespaced
11829 versions:
11830 - additionalPrinterColumns:
11831 - jsonPath: .status.phase
11832 name: Phase
11833 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011834 - jsonPath: .metadata.creationTimestamp
11835 name: Age
11836 type: date
okozachenko120323147262023-01-28 04:16:42 +110011837 name: v1
11838 schema:
11839 openAPIV3Schema:
11840 description: CephObjectZoneGroup represents a Ceph Object Store Gateway Zone Group
11841 properties:
11842 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -040011843 description: |-
11844 APIVersion defines the versioned schema of this representation of an object.
11845 Servers should convert recognized schemas to the latest internal value, and
11846 may reject unrecognized values.
11847 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +110011848 type: string
11849 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -040011850 description: |-
11851 Kind is a string value representing the REST resource this object represents.
11852 Servers may infer this from the endpoint the client submits requests to.
11853 Cannot be updated.
11854 In CamelCase.
11855 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +110011856 type: string
11857 metadata:
11858 type: object
11859 spec:
11860 description: ObjectZoneGroupSpec represent the spec of an ObjectZoneGroup
11861 properties:
11862 realm:
11863 description: The display name for the ceph users
11864 type: string
11865 required:
11866 - realm
11867 type: object
11868 status:
11869 description: Status represents the status of an object
11870 properties:
11871 conditions:
11872 items:
11873 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
11874 properties:
11875 lastHeartbeatTime:
11876 format: date-time
11877 type: string
11878 lastTransitionTime:
11879 format: date-time
11880 type: string
11881 message:
11882 type: string
11883 reason:
11884 description: ConditionReason is a reason for a condition
11885 type: string
11886 status:
11887 type: string
11888 type:
11889 description: ConditionType represent a resource's status
11890 type: string
11891 type: object
11892 type: array
11893 observedGeneration:
11894 description: ObservedGeneration is the latest generation observed by the controller.
11895 format: int64
11896 type: integer
11897 phase:
11898 type: string
11899 type: object
11900 x-kubernetes-preserve-unknown-fields: true
11901 required:
11902 - metadata
11903 - spec
11904 type: object
11905 served: true
11906 storage: true
11907 subresources:
11908 status: {}
okozachenko120323147262023-01-28 04:16:42 +110011909---
11910apiVersion: apiextensions.k8s.io/v1
11911kind: CustomResourceDefinition
11912metadata:
11913 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -040011914 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +110011915 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +110011916 name: cephobjectzones.ceph.rook.io
11917spec:
11918 group: ceph.rook.io
11919 names:
11920 kind: CephObjectZone
11921 listKind: CephObjectZoneList
11922 plural: cephobjectzones
11923 singular: cephobjectzone
11924 scope: Namespaced
11925 versions:
11926 - additionalPrinterColumns:
11927 - jsonPath: .status.phase
11928 name: Phase
11929 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011930 - jsonPath: .metadata.creationTimestamp
11931 name: Age
11932 type: date
okozachenko120323147262023-01-28 04:16:42 +110011933 name: v1
11934 schema:
11935 openAPIV3Schema:
11936 description: CephObjectZone represents a Ceph Object Store Gateway Zone
11937 properties:
11938 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -040011939 description: |-
11940 APIVersion defines the versioned schema of this representation of an object.
11941 Servers should convert recognized schemas to the latest internal value, and
11942 may reject unrecognized values.
11943 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +110011944 type: string
11945 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -040011946 description: |-
11947 Kind is a string value representing the REST resource this object represents.
11948 Servers may infer this from the endpoint the client submits requests to.
11949 Cannot be updated.
11950 In CamelCase.
11951 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +110011952 type: string
11953 metadata:
11954 type: object
11955 spec:
11956 description: ObjectZoneSpec represent the spec of an ObjectZone
11957 properties:
11958 customEndpoints:
Mohammed Naser65cda132024-05-02 14:34:08 -040011959 description: |-
11960 If this zone cannot be accessed from other peer Ceph clusters via the ClusterIP Service
11961 endpoint created by Rook, you must set this to the externally reachable endpoint(s). You may
11962 include the port in the definition. For example: "https://my-object-store.my-domain.net:443".
11963 In many cases, you should set this to the endpoint of the ingress resource that makes the
11964 CephObjectStore associated with this CephObjectStoreZone reachable to peer clusters.
11965 The list can have one or more endpoints pointing to different RGW servers in the zone.
11966
11967
11968 If a CephObjectStore endpoint is omitted from this list, that object store's gateways will
11969 not receive multisite replication data
11970 (see CephObjectStore.spec.gateway.disableMultisiteSyncTraffic).
okozachenko120323147262023-01-28 04:16:42 +110011971 items:
11972 type: string
11973 nullable: true
11974 type: array
11975 dataPool:
11976 description: The data pool settings
11977 nullable: true
11978 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040011979 application:
11980 description: The application name to set on the pool. Only expected to be set for rgw pools.
11981 type: string
okozachenko120323147262023-01-28 04:16:42 +110011982 compressionMode:
Mohammed Naser65cda132024-05-02 14:34:08 -040011983 description: |-
11984 DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force"
11985 The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
11986 Do NOT set a default value for kubebuilder as this will override the Parameters
okozachenko120323147262023-01-28 04:16:42 +110011987 enum:
11988 - none
11989 - passive
11990 - aggressive
11991 - force
11992 - ""
11993 nullable: true
11994 type: string
11995 crushRoot:
11996 description: The root of the crush hierarchy utilized by the pool
11997 nullable: true
11998 type: string
11999 deviceClass:
12000 description: The device class the OSD should set to for use in the pool
12001 nullable: true
12002 type: string
12003 enableRBDStats:
12004 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
12005 type: boolean
12006 erasureCoded:
12007 description: The erasure code settings
12008 properties:
12009 algorithm:
12010 description: The algorithm for erasure coding
12011 type: string
12012 codingChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -040012013 description: |-
12014 Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
12015 This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
okozachenko120323147262023-01-28 04:16:42 +110012016 minimum: 0
12017 type: integer
12018 dataChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -040012019 description: |-
12020 Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
12021 The number of chunks required to recover an object when any single OSD is lost is the same
12022 as dataChunks so be aware that the larger the number of data chunks, the higher the cost of recovery.
okozachenko120323147262023-01-28 04:16:42 +110012023 minimum: 0
12024 type: integer
12025 required:
12026 - codingChunks
12027 - dataChunks
12028 type: object
12029 failureDomain:
12030 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
12031 type: string
12032 mirroring:
12033 description: The mirroring settings
12034 properties:
12035 enabled:
12036 description: Enabled whether this pool is mirrored or not
12037 type: boolean
12038 mode:
12039 description: 'Mode is the mirroring mode: either pool or image'
12040 type: string
12041 peers:
12042 description: Peers represents the peers spec
12043 nullable: true
12044 properties:
12045 secretNames:
12046 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
12047 items:
12048 type: string
12049 type: array
12050 type: object
12051 snapshotSchedules:
12052 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
12053 items:
12054 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
12055 properties:
12056 interval:
12057 description: Interval represent the periodicity of the snapshot.
12058 type: string
12059 path:
12060 description: Path is the path to snapshot, only valid for CephFS
12061 type: string
12062 startTime:
12063 description: StartTime indicates when to start the snapshot
12064 type: string
12065 type: object
12066 type: array
12067 type: object
12068 parameters:
12069 additionalProperties:
12070 type: string
12071 description: Parameters is a list of properties to enable on a given pool
12072 nullable: true
12073 type: object
12074 x-kubernetes-preserve-unknown-fields: true
12075 quotas:
12076 description: The quota settings
12077 nullable: true
12078 properties:
12079 maxBytes:
Mohammed Naser65cda132024-05-02 14:34:08 -040012080 description: |-
12081 MaxBytes represents the quota in bytes
12082 Deprecated in favor of MaxSize
okozachenko120323147262023-01-28 04:16:42 +110012083 format: int64
12084 type: integer
12085 maxObjects:
12086 description: MaxObjects represents the quota in objects
12087 format: int64
12088 type: integer
12089 maxSize:
12090 description: MaxSize represents the quota in bytes as a string
12091 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
12092 type: string
12093 type: object
12094 replicated:
12095 description: The replication settings
12096 properties:
12097 hybridStorage:
12098 description: HybridStorage represents hybrid storage tier settings
12099 nullable: true
12100 properties:
12101 primaryDeviceClass:
12102 description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
12103 minLength: 1
12104 type: string
12105 secondaryDeviceClass:
12106 description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
12107 minLength: 1
12108 type: string
12109 required:
12110 - primaryDeviceClass
12111 - secondaryDeviceClass
12112 type: object
12113 replicasPerFailureDomain:
12114 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
12115 minimum: 1
12116 type: integer
12117 requireSafeReplicaSize:
12118 description: RequireSafeReplicaSize if false allows you to set replica 1
12119 type: boolean
12120 size:
12121 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
12122 minimum: 0
12123 type: integer
12124 subFailureDomain:
12125 description: SubFailureDomain the name of the sub-failure domain
12126 type: string
12127 targetSizeRatio:
12128 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
12129 type: number
12130 required:
12131 - size
12132 type: object
12133 statusCheck:
12134 description: The mirroring statusCheck
12135 properties:
12136 mirror:
12137 description: HealthCheckSpec represents the health check of an object store bucket
12138 nullable: true
12139 properties:
12140 disabled:
12141 type: boolean
12142 interval:
12143 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
12144 type: string
12145 timeout:
12146 type: string
12147 type: object
12148 type: object
12149 x-kubernetes-preserve-unknown-fields: true
12150 type: object
12151 metadataPool:
12152 description: The metadata pool settings
12153 nullable: true
12154 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040012155 application:
12156 description: The application name to set on the pool. Only expected to be set for rgw pools.
12157 type: string
okozachenko120323147262023-01-28 04:16:42 +110012158 compressionMode:
Mohammed Naser65cda132024-05-02 14:34:08 -040012159 description: |-
12160 DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force"
12161 The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
12162 Do NOT set a default value for kubebuilder as this will override the Parameters
okozachenko120323147262023-01-28 04:16:42 +110012163 enum:
12164 - none
12165 - passive
12166 - aggressive
12167 - force
12168 - ""
12169 nullable: true
12170 type: string
12171 crushRoot:
12172 description: The root of the crush hierarchy utilized by the pool
12173 nullable: true
12174 type: string
12175 deviceClass:
12176 description: The device class the OSD should set to for use in the pool
12177 nullable: true
12178 type: string
12179 enableRBDStats:
12180 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
12181 type: boolean
12182 erasureCoded:
12183 description: The erasure code settings
12184 properties:
12185 algorithm:
12186 description: The algorithm for erasure coding
12187 type: string
12188 codingChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -040012189 description: |-
12190 Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
12191 This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
okozachenko120323147262023-01-28 04:16:42 +110012192 minimum: 0
12193 type: integer
12194 dataChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -040012195 description: |-
12196 Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
12197 The number of chunks required to recover an object when any single OSD is lost is the same
12198 as dataChunks so be aware that the larger the number of data chunks, the higher the cost of recovery.
okozachenko120323147262023-01-28 04:16:42 +110012199 minimum: 0
12200 type: integer
12201 required:
12202 - codingChunks
12203 - dataChunks
12204 type: object
12205 failureDomain:
12206 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
12207 type: string
12208 mirroring:
12209 description: The mirroring settings
12210 properties:
12211 enabled:
12212 description: Enabled whether this pool is mirrored or not
12213 type: boolean
12214 mode:
12215 description: 'Mode is the mirroring mode: either pool or image'
12216 type: string
12217 peers:
12218 description: Peers represents the peers spec
12219 nullable: true
12220 properties:
12221 secretNames:
12222 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
12223 items:
12224 type: string
12225 type: array
12226 type: object
12227 snapshotSchedules:
12228 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
12229 items:
12230 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
12231 properties:
12232 interval:
12233 description: Interval represent the periodicity of the snapshot.
12234 type: string
12235 path:
12236 description: Path is the path to snapshot, only valid for CephFS
12237 type: string
12238 startTime:
12239 description: StartTime indicates when to start the snapshot
12240 type: string
12241 type: object
12242 type: array
12243 type: object
12244 parameters:
12245 additionalProperties:
12246 type: string
12247 description: Parameters is a list of properties to enable on a given pool
12248 nullable: true
12249 type: object
12250 x-kubernetes-preserve-unknown-fields: true
12251 quotas:
12252 description: The quota settings
12253 nullable: true
12254 properties:
12255 maxBytes:
Mohammed Naser65cda132024-05-02 14:34:08 -040012256 description: |-
12257 MaxBytes represents the quota in bytes
12258 Deprecated in favor of MaxSize
okozachenko120323147262023-01-28 04:16:42 +110012259 format: int64
12260 type: integer
12261 maxObjects:
12262 description: MaxObjects represents the quota in objects
12263 format: int64
12264 type: integer
12265 maxSize:
12266 description: MaxSize represents the quota in bytes as a string
12267 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
12268 type: string
12269 type: object
12270 replicated:
12271 description: The replication settings
12272 properties:
12273 hybridStorage:
12274 description: HybridStorage represents hybrid storage tier settings
12275 nullable: true
12276 properties:
12277 primaryDeviceClass:
12278 description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
12279 minLength: 1
12280 type: string
12281 secondaryDeviceClass:
12282 description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
12283 minLength: 1
12284 type: string
12285 required:
12286 - primaryDeviceClass
12287 - secondaryDeviceClass
12288 type: object
12289 replicasPerFailureDomain:
12290 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
12291 minimum: 1
12292 type: integer
12293 requireSafeReplicaSize:
12294 description: RequireSafeReplicaSize if false allows you to set replica 1
12295 type: boolean
12296 size:
12297 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
12298 minimum: 0
12299 type: integer
12300 subFailureDomain:
12301 description: SubFailureDomain the name of the sub-failure domain
12302 type: string
12303 targetSizeRatio:
12304 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
12305 type: number
12306 required:
12307 - size
12308 type: object
12309 statusCheck:
12310 description: The mirroring statusCheck
12311 properties:
12312 mirror:
12313 description: HealthCheckSpec represents the health check of an object store bucket
12314 nullable: true
12315 properties:
12316 disabled:
12317 type: boolean
12318 interval:
12319 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
12320 type: string
12321 timeout:
12322 type: string
12323 type: object
12324 type: object
12325 x-kubernetes-preserve-unknown-fields: true
12326 type: object
12327 preservePoolsOnDelete:
12328 default: true
12329 description: Preserve pools on object zone deletion
12330 type: boolean
Mohammed Naser65cda132024-05-02 14:34:08 -040012331 sharedPools:
12332 description: The pool information when configuring RADOS namespaces in existing pools.
12333 nullable: true
12334 properties:
12335 dataPoolName:
12336 description: The data pool used for creating RADOS namespaces in the object store
12337 type: string
12338 x-kubernetes-validations:
12339 - message: object store shared data pool is immutable
12340 rule: self == oldSelf
12341 metadataPoolName:
12342 description: The metadata pool used for creating RADOS namespaces in the object store
12343 type: string
12344 x-kubernetes-validations:
12345 - message: object store shared metadata pool is immutable
12346 rule: self == oldSelf
12347 preserveRadosNamespaceDataOnDelete:
12348 description: Whether the RADOS namespaces should be preserved on deletion of the object store
12349 type: boolean
12350 required:
12351 - dataPoolName
12352 - metadataPoolName
12353 type: object
okozachenko120323147262023-01-28 04:16:42 +110012354 zoneGroup:
12355 description: The display name for the ceph users
12356 type: string
12357 required:
12358 - dataPool
12359 - metadataPool
12360 - zoneGroup
12361 type: object
12362 status:
12363 description: Status represents the status of an object
12364 properties:
12365 conditions:
12366 items:
12367 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
12368 properties:
12369 lastHeartbeatTime:
12370 format: date-time
12371 type: string
12372 lastTransitionTime:
12373 format: date-time
12374 type: string
12375 message:
12376 type: string
12377 reason:
12378 description: ConditionReason is a reason for a condition
12379 type: string
12380 status:
12381 type: string
12382 type:
12383 description: ConditionType represent a resource's status
12384 type: string
12385 type: object
12386 type: array
12387 observedGeneration:
12388 description: ObservedGeneration is the latest generation observed by the controller.
12389 format: int64
12390 type: integer
12391 phase:
12392 type: string
12393 type: object
12394 x-kubernetes-preserve-unknown-fields: true
12395 required:
12396 - metadata
12397 - spec
12398 type: object
12399 served: true
12400 storage: true
12401 subresources:
12402 status: {}
okozachenko120323147262023-01-28 04:16:42 +110012403---
12404apiVersion: apiextensions.k8s.io/v1
12405kind: CustomResourceDefinition
12406metadata:
12407 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -040012408 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +110012409 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +110012410 name: cephrbdmirrors.ceph.rook.io
12411spec:
12412 group: ceph.rook.io
12413 names:
12414 kind: CephRBDMirror
12415 listKind: CephRBDMirrorList
12416 plural: cephrbdmirrors
12417 singular: cephrbdmirror
12418 scope: Namespaced
12419 versions:
12420 - additionalPrinterColumns:
12421 - jsonPath: .status.phase
12422 name: Phase
12423 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040012424 - jsonPath: .metadata.creationTimestamp
12425 name: Age
12426 type: date
okozachenko120323147262023-01-28 04:16:42 +110012427 name: v1
12428 schema:
12429 openAPIV3Schema:
12430 description: CephRBDMirror represents a Ceph RBD Mirror
12431 properties:
12432 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -040012433 description: |-
12434 APIVersion defines the versioned schema of this representation of an object.
12435 Servers should convert recognized schemas to the latest internal value, and
12436 may reject unrecognized values.
12437 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +110012438 type: string
12439 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -040012440 description: |-
12441 Kind is a string value representing the REST resource this object represents.
12442 Servers may infer this from the endpoint the client submits requests to.
12443 Cannot be updated.
12444 In CamelCase.
12445 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +110012446 type: string
12447 metadata:
12448 type: object
12449 spec:
12450 description: RBDMirroringSpec represents the specification of an RBD mirror daemon
12451 properties:
12452 annotations:
12453 additionalProperties:
12454 type: string
12455 description: The annotations-related configuration to add/set on each Pod related object.
12456 nullable: true
12457 type: object
12458 x-kubernetes-preserve-unknown-fields: true
12459 count:
12460 description: Count represents the number of rbd mirror instance to run
12461 minimum: 1
12462 type: integer
12463 labels:
12464 additionalProperties:
12465 type: string
12466 description: The labels-related configuration to add/set on each Pod related object.
12467 nullable: true
12468 type: object
12469 x-kubernetes-preserve-unknown-fields: true
12470 peers:
12471 description: Peers represents the peers spec
12472 nullable: true
12473 properties:
12474 secretNames:
12475 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
12476 items:
12477 type: string
12478 type: array
12479 type: object
12480 placement:
okozachenko120323147262023-01-28 04:16:42 +110012481 nullable: true
12482 properties:
12483 nodeAffinity:
okozachenko120323147262023-01-28 04:16:42 +110012484 properties:
12485 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110012486 items:
okozachenko120323147262023-01-28 04:16:42 +110012487 properties:
12488 preference:
okozachenko120323147262023-01-28 04:16:42 +110012489 properties:
12490 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012491 items:
okozachenko120323147262023-01-28 04:16:42 +110012492 properties:
12493 key:
okozachenko120323147262023-01-28 04:16:42 +110012494 type: string
12495 operator:
okozachenko120323147262023-01-28 04:16:42 +110012496 type: string
12497 values:
okozachenko120323147262023-01-28 04:16:42 +110012498 items:
12499 type: string
12500 type: array
12501 required:
12502 - key
12503 - operator
12504 type: object
12505 type: array
12506 matchFields:
okozachenko120323147262023-01-28 04:16:42 +110012507 items:
okozachenko120323147262023-01-28 04:16:42 +110012508 properties:
12509 key:
okozachenko120323147262023-01-28 04:16:42 +110012510 type: string
12511 operator:
okozachenko120323147262023-01-28 04:16:42 +110012512 type: string
12513 values:
okozachenko120323147262023-01-28 04:16:42 +110012514 items:
12515 type: string
12516 type: array
12517 required:
12518 - key
12519 - operator
12520 type: object
12521 type: array
12522 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012523 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012524 weight:
okozachenko120323147262023-01-28 04:16:42 +110012525 format: int32
12526 type: integer
12527 required:
12528 - preference
12529 - weight
12530 type: object
12531 type: array
12532 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110012533 properties:
12534 nodeSelectorTerms:
okozachenko120323147262023-01-28 04:16:42 +110012535 items:
okozachenko120323147262023-01-28 04:16:42 +110012536 properties:
12537 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012538 items:
okozachenko120323147262023-01-28 04:16:42 +110012539 properties:
12540 key:
okozachenko120323147262023-01-28 04:16:42 +110012541 type: string
12542 operator:
okozachenko120323147262023-01-28 04:16:42 +110012543 type: string
12544 values:
okozachenko120323147262023-01-28 04:16:42 +110012545 items:
12546 type: string
12547 type: array
12548 required:
12549 - key
12550 - operator
12551 type: object
12552 type: array
12553 matchFields:
okozachenko120323147262023-01-28 04:16:42 +110012554 items:
okozachenko120323147262023-01-28 04:16:42 +110012555 properties:
12556 key:
okozachenko120323147262023-01-28 04:16:42 +110012557 type: string
12558 operator:
okozachenko120323147262023-01-28 04:16:42 +110012559 type: string
12560 values:
okozachenko120323147262023-01-28 04:16:42 +110012561 items:
12562 type: string
12563 type: array
12564 required:
12565 - key
12566 - operator
12567 type: object
12568 type: array
12569 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012570 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012571 type: array
12572 required:
12573 - nodeSelectorTerms
12574 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012575 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012576 type: object
12577 podAffinity:
okozachenko120323147262023-01-28 04:16:42 +110012578 properties:
12579 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110012580 items:
okozachenko120323147262023-01-28 04:16:42 +110012581 properties:
12582 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +110012583 properties:
12584 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110012585 properties:
12586 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012587 items:
okozachenko120323147262023-01-28 04:16:42 +110012588 properties:
12589 key:
okozachenko120323147262023-01-28 04:16:42 +110012590 type: string
12591 operator:
okozachenko120323147262023-01-28 04:16:42 +110012592 type: string
12593 values:
okozachenko120323147262023-01-28 04:16:42 +110012594 items:
12595 type: string
12596 type: array
12597 required:
12598 - key
12599 - operator
12600 type: object
12601 type: array
12602 matchLabels:
12603 additionalProperties:
12604 type: string
okozachenko120323147262023-01-28 04:16:42 +110012605 type: object
12606 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012607 x-kubernetes-map-type: atomic
12608 matchLabelKeys:
12609 items:
12610 type: string
12611 type: array
12612 x-kubernetes-list-type: atomic
12613 mismatchLabelKeys:
12614 items:
12615 type: string
12616 type: array
12617 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012618 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +110012619 properties:
12620 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012621 items:
okozachenko120323147262023-01-28 04:16:42 +110012622 properties:
12623 key:
okozachenko120323147262023-01-28 04:16:42 +110012624 type: string
12625 operator:
okozachenko120323147262023-01-28 04:16:42 +110012626 type: string
12627 values:
okozachenko120323147262023-01-28 04:16:42 +110012628 items:
12629 type: string
12630 type: array
12631 required:
12632 - key
12633 - operator
12634 type: object
12635 type: array
12636 matchLabels:
12637 additionalProperties:
12638 type: string
okozachenko120323147262023-01-28 04:16:42 +110012639 type: object
12640 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012641 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012642 namespaces:
okozachenko120323147262023-01-28 04:16:42 +110012643 items:
12644 type: string
12645 type: array
12646 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110012647 type: string
12648 required:
12649 - topologyKey
12650 type: object
12651 weight:
okozachenko120323147262023-01-28 04:16:42 +110012652 format: int32
12653 type: integer
12654 required:
12655 - podAffinityTerm
12656 - weight
12657 type: object
12658 type: array
12659 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110012660 items:
okozachenko120323147262023-01-28 04:16:42 +110012661 properties:
12662 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110012663 properties:
12664 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012665 items:
okozachenko120323147262023-01-28 04:16:42 +110012666 properties:
12667 key:
okozachenko120323147262023-01-28 04:16:42 +110012668 type: string
12669 operator:
okozachenko120323147262023-01-28 04:16:42 +110012670 type: string
12671 values:
okozachenko120323147262023-01-28 04:16:42 +110012672 items:
12673 type: string
12674 type: array
12675 required:
12676 - key
12677 - operator
12678 type: object
12679 type: array
12680 matchLabels:
12681 additionalProperties:
12682 type: string
okozachenko120323147262023-01-28 04:16:42 +110012683 type: object
12684 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012685 x-kubernetes-map-type: atomic
12686 matchLabelKeys:
12687 items:
12688 type: string
12689 type: array
12690 x-kubernetes-list-type: atomic
12691 mismatchLabelKeys:
12692 items:
12693 type: string
12694 type: array
12695 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012696 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +110012697 properties:
12698 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012699 items:
okozachenko120323147262023-01-28 04:16:42 +110012700 properties:
12701 key:
okozachenko120323147262023-01-28 04:16:42 +110012702 type: string
12703 operator:
okozachenko120323147262023-01-28 04:16:42 +110012704 type: string
12705 values:
okozachenko120323147262023-01-28 04:16:42 +110012706 items:
12707 type: string
12708 type: array
12709 required:
12710 - key
12711 - operator
12712 type: object
12713 type: array
12714 matchLabels:
12715 additionalProperties:
12716 type: string
okozachenko120323147262023-01-28 04:16:42 +110012717 type: object
12718 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012719 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012720 namespaces:
okozachenko120323147262023-01-28 04:16:42 +110012721 items:
12722 type: string
12723 type: array
12724 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110012725 type: string
12726 required:
12727 - topologyKey
12728 type: object
12729 type: array
12730 type: object
12731 podAntiAffinity:
okozachenko120323147262023-01-28 04:16:42 +110012732 properties:
12733 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110012734 items:
okozachenko120323147262023-01-28 04:16:42 +110012735 properties:
12736 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +110012737 properties:
12738 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110012739 properties:
12740 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012741 items:
okozachenko120323147262023-01-28 04:16:42 +110012742 properties:
12743 key:
okozachenko120323147262023-01-28 04:16:42 +110012744 type: string
12745 operator:
okozachenko120323147262023-01-28 04:16:42 +110012746 type: string
12747 values:
okozachenko120323147262023-01-28 04:16:42 +110012748 items:
12749 type: string
12750 type: array
12751 required:
12752 - key
12753 - operator
12754 type: object
12755 type: array
12756 matchLabels:
12757 additionalProperties:
12758 type: string
okozachenko120323147262023-01-28 04:16:42 +110012759 type: object
12760 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012761 x-kubernetes-map-type: atomic
12762 matchLabelKeys:
12763 items:
12764 type: string
12765 type: array
12766 x-kubernetes-list-type: atomic
12767 mismatchLabelKeys:
12768 items:
12769 type: string
12770 type: array
12771 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012772 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +110012773 properties:
12774 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012775 items:
okozachenko120323147262023-01-28 04:16:42 +110012776 properties:
12777 key:
okozachenko120323147262023-01-28 04:16:42 +110012778 type: string
12779 operator:
okozachenko120323147262023-01-28 04:16:42 +110012780 type: string
12781 values:
okozachenko120323147262023-01-28 04:16:42 +110012782 items:
12783 type: string
12784 type: array
12785 required:
12786 - key
12787 - operator
12788 type: object
12789 type: array
12790 matchLabels:
12791 additionalProperties:
12792 type: string
okozachenko120323147262023-01-28 04:16:42 +110012793 type: object
12794 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012795 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012796 namespaces:
okozachenko120323147262023-01-28 04:16:42 +110012797 items:
12798 type: string
12799 type: array
12800 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110012801 type: string
12802 required:
12803 - topologyKey
12804 type: object
12805 weight:
okozachenko120323147262023-01-28 04:16:42 +110012806 format: int32
12807 type: integer
12808 required:
12809 - podAffinityTerm
12810 - weight
12811 type: object
12812 type: array
12813 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110012814 items:
okozachenko120323147262023-01-28 04:16:42 +110012815 properties:
12816 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110012817 properties:
12818 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012819 items:
okozachenko120323147262023-01-28 04:16:42 +110012820 properties:
12821 key:
okozachenko120323147262023-01-28 04:16:42 +110012822 type: string
12823 operator:
okozachenko120323147262023-01-28 04:16:42 +110012824 type: string
12825 values:
okozachenko120323147262023-01-28 04:16:42 +110012826 items:
12827 type: string
12828 type: array
12829 required:
12830 - key
12831 - operator
12832 type: object
12833 type: array
12834 matchLabels:
12835 additionalProperties:
12836 type: string
okozachenko120323147262023-01-28 04:16:42 +110012837 type: object
12838 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012839 x-kubernetes-map-type: atomic
12840 matchLabelKeys:
12841 items:
12842 type: string
12843 type: array
12844 x-kubernetes-list-type: atomic
12845 mismatchLabelKeys:
12846 items:
12847 type: string
12848 type: array
12849 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012850 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +110012851 properties:
12852 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012853 items:
okozachenko120323147262023-01-28 04:16:42 +110012854 properties:
12855 key:
okozachenko120323147262023-01-28 04:16:42 +110012856 type: string
12857 operator:
okozachenko120323147262023-01-28 04:16:42 +110012858 type: string
12859 values:
okozachenko120323147262023-01-28 04:16:42 +110012860 items:
12861 type: string
12862 type: array
12863 required:
12864 - key
12865 - operator
12866 type: object
12867 type: array
12868 matchLabels:
12869 additionalProperties:
12870 type: string
okozachenko120323147262023-01-28 04:16:42 +110012871 type: object
12872 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012873 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012874 namespaces:
okozachenko120323147262023-01-28 04:16:42 +110012875 items:
12876 type: string
12877 type: array
12878 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110012879 type: string
12880 required:
12881 - topologyKey
12882 type: object
12883 type: array
12884 type: object
12885 tolerations:
okozachenko120323147262023-01-28 04:16:42 +110012886 items:
okozachenko120323147262023-01-28 04:16:42 +110012887 properties:
12888 effect:
okozachenko120323147262023-01-28 04:16:42 +110012889 type: string
12890 key:
okozachenko120323147262023-01-28 04:16:42 +110012891 type: string
12892 operator:
okozachenko120323147262023-01-28 04:16:42 +110012893 type: string
12894 tolerationSeconds:
okozachenko120323147262023-01-28 04:16:42 +110012895 format: int64
12896 type: integer
12897 value:
okozachenko120323147262023-01-28 04:16:42 +110012898 type: string
12899 type: object
12900 type: array
12901 topologySpreadConstraints:
okozachenko120323147262023-01-28 04:16:42 +110012902 items:
okozachenko120323147262023-01-28 04:16:42 +110012903 properties:
12904 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110012905 properties:
12906 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012907 items:
okozachenko120323147262023-01-28 04:16:42 +110012908 properties:
12909 key:
okozachenko120323147262023-01-28 04:16:42 +110012910 type: string
12911 operator:
okozachenko120323147262023-01-28 04:16:42 +110012912 type: string
12913 values:
okozachenko120323147262023-01-28 04:16:42 +110012914 items:
12915 type: string
12916 type: array
12917 required:
12918 - key
12919 - operator
12920 type: object
12921 type: array
12922 matchLabels:
12923 additionalProperties:
12924 type: string
okozachenko120323147262023-01-28 04:16:42 +110012925 type: object
12926 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012927 x-kubernetes-map-type: atomic
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000012928 matchLabelKeys:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000012929 items:
12930 type: string
12931 type: array
12932 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012933 maxSkew:
okozachenko120323147262023-01-28 04:16:42 +110012934 format: int32
12935 type: integer
12936 minDomains:
okozachenko120323147262023-01-28 04:16:42 +110012937 format: int32
12938 type: integer
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000012939 nodeAffinityPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000012940 type: string
12941 nodeTaintsPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000012942 type: string
okozachenko120323147262023-01-28 04:16:42 +110012943 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110012944 type: string
12945 whenUnsatisfiable:
okozachenko120323147262023-01-28 04:16:42 +110012946 type: string
12947 required:
12948 - maxSkew
12949 - topologyKey
12950 - whenUnsatisfiable
12951 type: object
12952 type: array
12953 type: object
12954 x-kubernetes-preserve-unknown-fields: true
12955 priorityClassName:
12956 description: PriorityClassName sets priority class on the rbd mirror pods
12957 type: string
12958 resources:
12959 description: The resource requirements for the rbd mirror pods
12960 nullable: true
12961 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040012962 claims:
12963 description: |-
12964 Claims lists the names of resources, defined in spec.resourceClaims,
12965 that are used by this container.
12966
12967
12968 This is an alpha field and requires enabling the
12969 DynamicResourceAllocation feature gate.
12970
12971
12972 This field is immutable. It can only be set for containers.
12973 items:
12974 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
12975 properties:
12976 name:
12977 description: |-
12978 Name must match the name of one entry in pod.spec.resourceClaims of
12979 the Pod where this field is used. It makes that resource available
12980 inside a container.
12981 type: string
12982 required:
12983 - name
12984 type: object
12985 type: array
12986 x-kubernetes-list-map-keys:
12987 - name
12988 x-kubernetes-list-type: map
okozachenko120323147262023-01-28 04:16:42 +110012989 limits:
12990 additionalProperties:
12991 anyOf:
12992 - type: integer
12993 - type: string
12994 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
12995 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -040012996 description: |-
12997 Limits describes the maximum amount of compute resources allowed.
12998 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +110012999 type: object
13000 requests:
13001 additionalProperties:
13002 anyOf:
13003 - type: integer
13004 - type: string
13005 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
13006 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -040013007 description: |-
13008 Requests describes the minimum amount of compute resources required.
13009 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
13010 otherwise to an implementation-defined value. Requests cannot exceed Limits.
13011 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +110013012 type: object
13013 type: object
13014 x-kubernetes-preserve-unknown-fields: true
13015 required:
13016 - count
13017 type: object
13018 status:
13019 description: Status represents the status of an object
13020 properties:
13021 conditions:
13022 items:
13023 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
13024 properties:
13025 lastHeartbeatTime:
13026 format: date-time
13027 type: string
13028 lastTransitionTime:
13029 format: date-time
13030 type: string
13031 message:
13032 type: string
13033 reason:
13034 description: ConditionReason is a reason for a condition
13035 type: string
13036 status:
13037 type: string
13038 type:
13039 description: ConditionType represent a resource's status
13040 type: string
13041 type: object
13042 type: array
13043 observedGeneration:
13044 description: ObservedGeneration is the latest generation observed by the controller.
13045 format: int64
13046 type: integer
13047 phase:
13048 type: string
13049 type: object
13050 x-kubernetes-preserve-unknown-fields: true
13051 required:
13052 - metadata
13053 - spec
13054 type: object
13055 served: true
13056 storage: true
13057 subresources:
13058 status: {}
okozachenko120323147262023-01-28 04:16:42 +110013059---
13060apiVersion: apiextensions.k8s.io/v1
13061kind: CustomResourceDefinition
13062metadata:
13063 name: objectbucketclaims.objectbucket.io
13064 annotations:
13065 helm.sh/resource-policy: keep
13066spec:
13067 group: objectbucket.io
13068 names:
13069 kind: ObjectBucketClaim
13070 listKind: ObjectBucketClaimList
13071 plural: objectbucketclaims
13072 singular: objectbucketclaim
13073 shortNames:
13074 - obc
13075 - obcs
13076 scope: Namespaced
13077 versions:
13078 - name: v1alpha1
13079 served: true
13080 storage: true
13081 schema:
13082 openAPIV3Schema:
13083 type: object
13084 properties:
13085 spec:
13086 type: object
13087 properties:
13088 storageClassName:
13089 type: string
13090 bucketName:
13091 type: string
13092 generateBucketName:
13093 type: string
13094 additionalConfig:
13095 type: object
13096 nullable: true
13097 x-kubernetes-preserve-unknown-fields: true
13098 objectBucketName:
13099 type: string
13100 status:
13101 type: object
13102 x-kubernetes-preserve-unknown-fields: true
13103 subresources:
13104 status: {}
13105---
13106apiVersion: apiextensions.k8s.io/v1
13107kind: CustomResourceDefinition
13108metadata:
13109 name: objectbuckets.objectbucket.io
13110 annotations:
13111 helm.sh/resource-policy: keep
13112spec:
13113 group: objectbucket.io
13114 names:
13115 kind: ObjectBucket
13116 listKind: ObjectBucketList
13117 plural: objectbuckets
13118 singular: objectbucket
13119 shortNames:
13120 - ob
13121 - obs
13122 scope: Cluster
13123 versions:
13124 - name: v1alpha1
13125 served: true
13126 storage: true
13127 schema:
13128 openAPIV3Schema:
13129 type: object
13130 properties:
13131 spec:
13132 type: object
13133 properties:
13134 storageClassName:
13135 type: string
13136 endpoint:
13137 type: object
13138 nullable: true
13139 properties:
13140 bucketHost:
13141 type: string
13142 bucketPort:
13143 type: integer
13144 format: int32
13145 bucketName:
13146 type: string
13147 region:
13148 type: string
13149 subRegion:
13150 type: string
13151 additionalConfig:
13152 type: object
13153 nullable: true
13154 x-kubernetes-preserve-unknown-fields: true
13155 authentication:
13156 type: object
13157 nullable: true
13158 items:
13159 type: object
13160 x-kubernetes-preserve-unknown-fields: true
13161 additionalState:
13162 type: object
13163 nullable: true
13164 x-kubernetes-preserve-unknown-fields: true
13165 reclaimPolicy:
13166 type: string
13167 claimRef:
13168 type: object
13169 nullable: true
13170 x-kubernetes-preserve-unknown-fields: true
13171 status:
13172 type: object
13173 x-kubernetes-preserve-unknown-fields: true
13174 subresources:
13175 status: {}
13176
13177{{- end }}