blob: bac4fb8a1e21e1ab1a8153842b836dd95c11d335 [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
Mohammed Naser7d1623e2024-06-17 09:12:39 -04001588 settings:
1589 description: Settings to further configure the module
1590 properties:
1591 balancerMode:
1592 description: BalancerMode sets the `balancer` module with different modes like `upmap`, `crush-compact` etc
1593 enum:
1594 - ""
1595 - crush-compat
1596 - upmap
1597 - upmap-read
1598 type: string
1599 type: object
okozachenko120323147262023-01-28 04:16:42 +11001600 type: object
1601 nullable: true
1602 type: array
1603 type: object
1604 mon:
1605 description: A spec for mon related options
1606 nullable: true
1607 properties:
1608 allowMultiplePerNode:
1609 description: AllowMultiplePerNode determines if we can run multiple monitors on the same node (not recommended)
1610 type: boolean
1611 count:
1612 description: Count is the number of Ceph monitors
1613 maximum: 9
1614 minimum: 0
1615 type: integer
Mohammed Naser65cda132024-05-02 14:34:08 -04001616 failureDomainLabel:
1617 type: string
okozachenko120323147262023-01-28 04:16:42 +11001618 stretchCluster:
1619 description: StretchCluster is the stretch cluster specification
1620 properties:
1621 failureDomainLabel:
1622 description: 'FailureDomainLabel the failure domain name (e,g: zone)'
1623 type: string
1624 subFailureDomain:
1625 description: SubFailureDomain is the failure domain within a zone
1626 type: string
1627 zones:
1628 description: Zones is the list of zones
1629 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04001630 description: MonZoneSpec represents the specification of a zone in a Ceph Cluster
okozachenko120323147262023-01-28 04:16:42 +11001631 properties:
1632 arbiter:
Mohammed Naser65cda132024-05-02 14:34:08 -04001633 description: Arbiter determines if the zone contains the arbiter used for stretch cluster mode
okozachenko120323147262023-01-28 04:16:42 +11001634 type: boolean
1635 name:
1636 description: Name is the name of the zone
1637 type: string
1638 volumeClaimTemplate:
1639 description: VolumeClaimTemplate is the PVC template
1640 properties:
okozachenko120323147262023-01-28 04:16:42 +11001641 metadata:
Mohammed Naser65cda132024-05-02 14:34:08 -04001642 description: |-
1643 Standard object's metadata.
1644 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
okozachenko120323147262023-01-28 04:16:42 +11001645 properties:
1646 annotations:
1647 additionalProperties:
1648 type: string
1649 type: object
1650 finalizers:
1651 items:
1652 type: string
1653 type: array
1654 labels:
1655 additionalProperties:
1656 type: string
1657 type: object
1658 name:
1659 type: string
1660 namespace:
1661 type: string
1662 type: object
1663 spec:
Mohammed Naser65cda132024-05-02 14:34:08 -04001664 description: |-
1665 spec defines the desired characteristics of a volume requested by a pod author.
1666 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
okozachenko120323147262023-01-28 04:16:42 +11001667 properties:
1668 accessModes:
Mohammed Naser65cda132024-05-02 14:34:08 -04001669 description: |-
1670 accessModes contains the desired access modes the volume should have.
1671 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
okozachenko120323147262023-01-28 04:16:42 +11001672 items:
1673 type: string
1674 type: array
1675 dataSource:
Mohammed Naser65cda132024-05-02 14:34:08 -04001676 description: |-
1677 dataSource field can be used to specify either:
1678 * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
1679 * An existing PVC (PersistentVolumeClaim)
1680 If the provisioner or an external controller can support the specified data source,
1681 it will create a new volume based on the contents of the specified data source.
1682 When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
1683 and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
1684 If the namespace is specified, then dataSourceRef will not be copied to dataSource.
okozachenko120323147262023-01-28 04:16:42 +11001685 properties:
1686 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04001687 description: |-
1688 APIGroup is the group for the resource being referenced.
1689 If APIGroup is not specified, the specified Kind must be in the core API group.
1690 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11001691 type: string
1692 kind:
1693 description: Kind is the type of resource being referenced
1694 type: string
1695 name:
1696 description: Name is the name of resource being referenced
1697 type: string
1698 required:
1699 - kind
1700 - name
1701 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04001702 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11001703 dataSourceRef:
Mohammed Naser65cda132024-05-02 14:34:08 -04001704 description: |-
1705 dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
1706 volume is desired. This may be any object from a non-empty API group (non
1707 core object) or a PersistentVolumeClaim object.
1708 When this field is specified, volume binding will only succeed if the type of
1709 the specified object matches some installed volume populator or dynamic
1710 provisioner.
1711 This field will replace the functionality of the dataSource field and as such
1712 if both fields are non-empty, they must have the same value. For backwards
1713 compatibility, when namespace isn't specified in dataSourceRef,
1714 both fields (dataSource and dataSourceRef) will be set to the same
1715 value automatically if one of them is empty and the other is non-empty.
1716 When namespace is specified in dataSourceRef,
1717 dataSource isn't set to the same value and must be empty.
1718 There are three important differences between dataSource and dataSourceRef:
1719 * While dataSource only allows two specific types of objects, dataSourceRef
1720 allows any non-core object, as well as PersistentVolumeClaim objects.
1721 * While dataSource ignores disallowed values (dropping them), dataSourceRef
1722 preserves all values, and generates an error if a disallowed value is
1723 specified.
1724 * While dataSource only allows local objects, dataSourceRef allows objects
1725 in any namespaces.
1726 (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
1727 (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11001728 properties:
1729 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04001730 description: |-
1731 APIGroup is the group for the resource being referenced.
1732 If APIGroup is not specified, the specified Kind must be in the core API group.
1733 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11001734 type: string
1735 kind:
1736 description: Kind is the type of resource being referenced
1737 type: string
1738 name:
1739 description: Name is the name of resource being referenced
1740 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04001741 namespace:
1742 description: |-
1743 Namespace is the namespace of resource being referenced
1744 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.
1745 (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
1746 type: string
okozachenko120323147262023-01-28 04:16:42 +11001747 required:
1748 - kind
1749 - name
1750 type: object
1751 resources:
Mohammed Naser65cda132024-05-02 14:34:08 -04001752 description: |-
1753 resources represents the minimum resources the volume should have.
1754 If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
1755 that are lower than previous value but must still be higher than capacity recorded in the
1756 status field of the claim.
1757 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
okozachenko120323147262023-01-28 04:16:42 +11001758 properties:
1759 limits:
1760 additionalProperties:
1761 anyOf:
1762 - type: integer
1763 - type: string
1764 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1765 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04001766 description: |-
1767 Limits describes the maximum amount of compute resources allowed.
1768 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11001769 type: object
1770 requests:
1771 additionalProperties:
1772 anyOf:
1773 - type: integer
1774 - type: string
1775 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1776 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04001777 description: |-
1778 Requests describes the minimum amount of compute resources required.
1779 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
1780 otherwise to an implementation-defined value. Requests cannot exceed Limits.
1781 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11001782 type: object
1783 type: object
1784 selector:
1785 description: selector is a label query over volumes to consider for binding.
1786 properties:
1787 matchExpressions:
1788 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
1789 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04001790 description: |-
1791 A label selector requirement is a selector that contains values, a key, and an operator that
1792 relates the key and values.
okozachenko120323147262023-01-28 04:16:42 +11001793 properties:
1794 key:
1795 description: key is the label key that the selector applies to.
1796 type: string
1797 operator:
Mohammed Naser65cda132024-05-02 14:34:08 -04001798 description: |-
1799 operator represents a key's relationship to a set of values.
1800 Valid operators are In, NotIn, Exists and DoesNotExist.
okozachenko120323147262023-01-28 04:16:42 +11001801 type: string
1802 values:
Mohammed Naser65cda132024-05-02 14:34:08 -04001803 description: |-
1804 values is an array of string values. If the operator is In or NotIn,
1805 the values array must be non-empty. If the operator is Exists or DoesNotExist,
1806 the values array must be empty. This array is replaced during a strategic
1807 merge patch.
okozachenko120323147262023-01-28 04:16:42 +11001808 items:
1809 type: string
1810 type: array
1811 required:
1812 - key
1813 - operator
1814 type: object
1815 type: array
1816 matchLabels:
1817 additionalProperties:
1818 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04001819 description: |-
1820 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
1821 map is equivalent to an element of matchExpressions, whose key field is "key", the
1822 operator is "In", and the values array contains only "value". The requirements are ANDed.
okozachenko120323147262023-01-28 04:16:42 +11001823 type: object
1824 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04001825 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11001826 storageClassName:
Mohammed Naser65cda132024-05-02 14:34:08 -04001827 description: |-
1828 storageClassName is the name of the StorageClass required by the claim.
1829 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
1830 type: string
1831 volumeAttributesClassName:
1832 description: |-
1833 volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
1834 If specified, the CSI driver will create or update the volume with the attributes defined
1835 in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
1836 it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
1837 will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
1838 If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
1839 will be set by the persistentvolume controller if it exists.
1840 If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
1841 set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
1842 exists.
1843 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
1844 (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11001845 type: string
1846 volumeMode:
Mohammed Naser65cda132024-05-02 14:34:08 -04001847 description: |-
1848 volumeMode defines what type of volume is required by the claim.
1849 Value of Filesystem is implied when not included in claim spec.
okozachenko120323147262023-01-28 04:16:42 +11001850 type: string
1851 volumeName:
1852 description: volumeName is the binding reference to the PersistentVolume backing this claim.
1853 type: string
1854 type: object
okozachenko120323147262023-01-28 04:16:42 +11001855 type: object
1856 x-kubernetes-preserve-unknown-fields: true
1857 type: object
1858 nullable: true
1859 type: array
1860 type: object
1861 volumeClaimTemplate:
1862 description: VolumeClaimTemplate is the PVC definition
1863 properties:
okozachenko120323147262023-01-28 04:16:42 +11001864 metadata:
Mohammed Naser65cda132024-05-02 14:34:08 -04001865 description: |-
1866 Standard object's metadata.
1867 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
okozachenko120323147262023-01-28 04:16:42 +11001868 properties:
1869 annotations:
1870 additionalProperties:
1871 type: string
1872 type: object
1873 finalizers:
1874 items:
1875 type: string
1876 type: array
1877 labels:
1878 additionalProperties:
1879 type: string
1880 type: object
1881 name:
1882 type: string
1883 namespace:
1884 type: string
1885 type: object
1886 spec:
Mohammed Naser65cda132024-05-02 14:34:08 -04001887 description: |-
1888 spec defines the desired characteristics of a volume requested by a pod author.
1889 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
okozachenko120323147262023-01-28 04:16:42 +11001890 properties:
1891 accessModes:
Mohammed Naser65cda132024-05-02 14:34:08 -04001892 description: |-
1893 accessModes contains the desired access modes the volume should have.
1894 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
okozachenko120323147262023-01-28 04:16:42 +11001895 items:
1896 type: string
1897 type: array
1898 dataSource:
Mohammed Naser65cda132024-05-02 14:34:08 -04001899 description: |-
1900 dataSource field can be used to specify either:
1901 * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
1902 * An existing PVC (PersistentVolumeClaim)
1903 If the provisioner or an external controller can support the specified data source,
1904 it will create a new volume based on the contents of the specified data source.
1905 When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
1906 and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
1907 If the namespace is specified, then dataSourceRef will not be copied to dataSource.
okozachenko120323147262023-01-28 04:16:42 +11001908 properties:
1909 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04001910 description: |-
1911 APIGroup is the group for the resource being referenced.
1912 If APIGroup is not specified, the specified Kind must be in the core API group.
1913 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11001914 type: string
1915 kind:
1916 description: Kind is the type of resource being referenced
1917 type: string
1918 name:
1919 description: Name is the name of resource being referenced
1920 type: string
1921 required:
1922 - kind
1923 - name
1924 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04001925 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11001926 dataSourceRef:
Mohammed Naser65cda132024-05-02 14:34:08 -04001927 description: |-
1928 dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
1929 volume is desired. This may be any object from a non-empty API group (non
1930 core object) or a PersistentVolumeClaim object.
1931 When this field is specified, volume binding will only succeed if the type of
1932 the specified object matches some installed volume populator or dynamic
1933 provisioner.
1934 This field will replace the functionality of the dataSource field and as such
1935 if both fields are non-empty, they must have the same value. For backwards
1936 compatibility, when namespace isn't specified in dataSourceRef,
1937 both fields (dataSource and dataSourceRef) will be set to the same
1938 value automatically if one of them is empty and the other is non-empty.
1939 When namespace is specified in dataSourceRef,
1940 dataSource isn't set to the same value and must be empty.
1941 There are three important differences between dataSource and dataSourceRef:
1942 * While dataSource only allows two specific types of objects, dataSourceRef
1943 allows any non-core object, as well as PersistentVolumeClaim objects.
1944 * While dataSource ignores disallowed values (dropping them), dataSourceRef
1945 preserves all values, and generates an error if a disallowed value is
1946 specified.
1947 * While dataSource only allows local objects, dataSourceRef allows objects
1948 in any namespaces.
1949 (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
1950 (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11001951 properties:
1952 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04001953 description: |-
1954 APIGroup is the group for the resource being referenced.
1955 If APIGroup is not specified, the specified Kind must be in the core API group.
1956 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11001957 type: string
1958 kind:
1959 description: Kind is the type of resource being referenced
1960 type: string
1961 name:
1962 description: Name is the name of resource being referenced
1963 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04001964 namespace:
1965 description: |-
1966 Namespace is the namespace of resource being referenced
1967 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.
1968 (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
1969 type: string
okozachenko120323147262023-01-28 04:16:42 +11001970 required:
1971 - kind
1972 - name
1973 type: object
1974 resources:
Mohammed Naser65cda132024-05-02 14:34:08 -04001975 description: |-
1976 resources represents the minimum resources the volume should have.
1977 If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
1978 that are lower than previous value but must still be higher than capacity recorded in the
1979 status field of the claim.
1980 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
okozachenko120323147262023-01-28 04:16:42 +11001981 properties:
1982 limits:
1983 additionalProperties:
1984 anyOf:
1985 - type: integer
1986 - type: string
1987 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1988 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04001989 description: |-
1990 Limits describes the maximum amount of compute resources allowed.
1991 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11001992 type: object
1993 requests:
1994 additionalProperties:
1995 anyOf:
1996 - type: integer
1997 - type: string
1998 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
1999 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04002000 description: |-
2001 Requests describes the minimum amount of compute resources required.
2002 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
2003 otherwise to an implementation-defined value. Requests cannot exceed Limits.
2004 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11002005 type: object
2006 type: object
2007 selector:
2008 description: selector is a label query over volumes to consider for binding.
2009 properties:
2010 matchExpressions:
2011 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2012 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04002013 description: |-
2014 A label selector requirement is a selector that contains values, a key, and an operator that
2015 relates the key and values.
okozachenko120323147262023-01-28 04:16:42 +11002016 properties:
2017 key:
2018 description: key is the label key that the selector applies to.
2019 type: string
2020 operator:
Mohammed Naser65cda132024-05-02 14:34:08 -04002021 description: |-
2022 operator represents a key's relationship to a set of values.
2023 Valid operators are In, NotIn, Exists and DoesNotExist.
okozachenko120323147262023-01-28 04:16:42 +11002024 type: string
2025 values:
Mohammed Naser65cda132024-05-02 14:34:08 -04002026 description: |-
2027 values is an array of string values. If the operator is In or NotIn,
2028 the values array must be non-empty. If the operator is Exists or DoesNotExist,
2029 the values array must be empty. This array is replaced during a strategic
2030 merge patch.
okozachenko120323147262023-01-28 04:16:42 +11002031 items:
2032 type: string
2033 type: array
2034 required:
2035 - key
2036 - operator
2037 type: object
2038 type: array
2039 matchLabels:
2040 additionalProperties:
2041 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04002042 description: |-
2043 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
2044 map is equivalent to an element of matchExpressions, whose key field is "key", the
2045 operator is "In", and the values array contains only "value". The requirements are ANDed.
okozachenko120323147262023-01-28 04:16:42 +11002046 type: object
2047 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002048 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002049 storageClassName:
Mohammed Naser65cda132024-05-02 14:34:08 -04002050 description: |-
2051 storageClassName is the name of the StorageClass required by the claim.
2052 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
2053 type: string
2054 volumeAttributesClassName:
2055 description: |-
2056 volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
2057 If specified, the CSI driver will create or update the volume with the attributes defined
2058 in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
2059 it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
2060 will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
2061 If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
2062 will be set by the persistentvolume controller if it exists.
2063 If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
2064 set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
2065 exists.
2066 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
2067 (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11002068 type: string
2069 volumeMode:
Mohammed Naser65cda132024-05-02 14:34:08 -04002070 description: |-
2071 volumeMode defines what type of volume is required by the claim.
2072 Value of Filesystem is implied when not included in claim spec.
okozachenko120323147262023-01-28 04:16:42 +11002073 type: string
2074 volumeName:
2075 description: volumeName is the binding reference to the PersistentVolume backing this claim.
2076 type: string
2077 type: object
okozachenko120323147262023-01-28 04:16:42 +11002078 type: object
2079 x-kubernetes-preserve-unknown-fields: true
Mohammed Naser65cda132024-05-02 14:34:08 -04002080 zones:
2081 description: Zones are specified when we want to provide zonal awareness to mons
2082 items:
2083 description: MonZoneSpec represents the specification of a zone in a Ceph Cluster
2084 properties:
2085 arbiter:
2086 description: Arbiter determines if the zone contains the arbiter used for stretch cluster mode
2087 type: boolean
2088 name:
2089 description: Name is the name of the zone
2090 type: string
2091 volumeClaimTemplate:
2092 description: VolumeClaimTemplate is the PVC template
2093 properties:
2094 metadata:
2095 description: |-
2096 Standard object's metadata.
2097 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
2098 properties:
2099 annotations:
2100 additionalProperties:
2101 type: string
2102 type: object
2103 finalizers:
2104 items:
2105 type: string
2106 type: array
2107 labels:
2108 additionalProperties:
2109 type: string
2110 type: object
2111 name:
2112 type: string
2113 namespace:
2114 type: string
2115 type: object
2116 spec:
2117 description: |-
2118 spec defines the desired characteristics of a volume requested by a pod author.
2119 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
2120 properties:
2121 accessModes:
2122 description: |-
2123 accessModes contains the desired access modes the volume should have.
2124 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
2125 items:
2126 type: string
2127 type: array
2128 dataSource:
2129 description: |-
2130 dataSource field can be used to specify either:
2131 * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
2132 * An existing PVC (PersistentVolumeClaim)
2133 If the provisioner or an external controller can support the specified data source,
2134 it will create a new volume based on the contents of the specified data source.
2135 When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
2136 and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
2137 If the namespace is specified, then dataSourceRef will not be copied to dataSource.
2138 properties:
2139 apiGroup:
2140 description: |-
2141 APIGroup is the group for the resource being referenced.
2142 If APIGroup is not specified, the specified Kind must be in the core API group.
2143 For any other third-party types, APIGroup is required.
2144 type: string
2145 kind:
2146 description: Kind is the type of resource being referenced
2147 type: string
2148 name:
2149 description: Name is the name of resource being referenced
2150 type: string
2151 required:
2152 - kind
2153 - name
2154 type: object
2155 x-kubernetes-map-type: atomic
2156 dataSourceRef:
2157 description: |-
2158 dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
2159 volume is desired. This may be any object from a non-empty API group (non
2160 core object) or a PersistentVolumeClaim object.
2161 When this field is specified, volume binding will only succeed if the type of
2162 the specified object matches some installed volume populator or dynamic
2163 provisioner.
2164 This field will replace the functionality of the dataSource field and as such
2165 if both fields are non-empty, they must have the same value. For backwards
2166 compatibility, when namespace isn't specified in dataSourceRef,
2167 both fields (dataSource and dataSourceRef) will be set to the same
2168 value automatically if one of them is empty and the other is non-empty.
2169 When namespace is specified in dataSourceRef,
2170 dataSource isn't set to the same value and must be empty.
2171 There are three important differences between dataSource and dataSourceRef:
2172 * While dataSource only allows two specific types of objects, dataSourceRef
2173 allows any non-core object, as well as PersistentVolumeClaim objects.
2174 * While dataSource ignores disallowed values (dropping them), dataSourceRef
2175 preserves all values, and generates an error if a disallowed value is
2176 specified.
2177 * While dataSource only allows local objects, dataSourceRef allows objects
2178 in any namespaces.
2179 (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
2180 (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
2181 properties:
2182 apiGroup:
2183 description: |-
2184 APIGroup is the group for the resource being referenced.
2185 If APIGroup is not specified, the specified Kind must be in the core API group.
2186 For any other third-party types, APIGroup is required.
2187 type: string
2188 kind:
2189 description: Kind is the type of resource being referenced
2190 type: string
2191 name:
2192 description: Name is the name of resource being referenced
2193 type: string
2194 namespace:
2195 description: |-
2196 Namespace is the namespace of resource being referenced
2197 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.
2198 (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
2199 type: string
2200 required:
2201 - kind
2202 - name
2203 type: object
2204 resources:
2205 description: |-
2206 resources represents the minimum resources the volume should have.
2207 If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
2208 that are lower than previous value but must still be higher than capacity recorded in the
2209 status field of the claim.
2210 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
2211 properties:
2212 limits:
2213 additionalProperties:
2214 anyOf:
2215 - type: integer
2216 - type: string
2217 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2218 x-kubernetes-int-or-string: true
2219 description: |-
2220 Limits describes the maximum amount of compute resources allowed.
2221 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
2222 type: object
2223 requests:
2224 additionalProperties:
2225 anyOf:
2226 - type: integer
2227 - type: string
2228 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2229 x-kubernetes-int-or-string: true
2230 description: |-
2231 Requests describes the minimum amount of compute resources required.
2232 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
2233 otherwise to an implementation-defined value. Requests cannot exceed Limits.
2234 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
2235 type: object
2236 type: object
2237 selector:
2238 description: selector is a label query over volumes to consider for binding.
2239 properties:
2240 matchExpressions:
2241 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
2242 items:
2243 description: |-
2244 A label selector requirement is a selector that contains values, a key, and an operator that
2245 relates the key and values.
2246 properties:
2247 key:
2248 description: key is the label key that the selector applies to.
2249 type: string
2250 operator:
2251 description: |-
2252 operator represents a key's relationship to a set of values.
2253 Valid operators are In, NotIn, Exists and DoesNotExist.
2254 type: string
2255 values:
2256 description: |-
2257 values is an array of string values. If the operator is In or NotIn,
2258 the values array must be non-empty. If the operator is Exists or DoesNotExist,
2259 the values array must be empty. This array is replaced during a strategic
2260 merge patch.
2261 items:
2262 type: string
2263 type: array
2264 required:
2265 - key
2266 - operator
2267 type: object
2268 type: array
2269 matchLabels:
2270 additionalProperties:
2271 type: string
2272 description: |-
2273 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
2274 map is equivalent to an element of matchExpressions, whose key field is "key", the
2275 operator is "In", and the values array contains only "value". The requirements are ANDed.
2276 type: object
2277 type: object
2278 x-kubernetes-map-type: atomic
2279 storageClassName:
2280 description: |-
2281 storageClassName is the name of the StorageClass required by the claim.
2282 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
2283 type: string
2284 volumeAttributesClassName:
2285 description: |-
2286 volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
2287 If specified, the CSI driver will create or update the volume with the attributes defined
2288 in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
2289 it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
2290 will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
2291 If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
2292 will be set by the persistentvolume controller if it exists.
2293 If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
2294 set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
2295 exists.
2296 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
2297 (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
2298 type: string
2299 volumeMode:
2300 description: |-
2301 volumeMode defines what type of volume is required by the claim.
2302 Value of Filesystem is implied when not included in claim spec.
2303 type: string
2304 volumeName:
2305 description: volumeName is the binding reference to the PersistentVolume backing this claim.
2306 type: string
2307 type: object
2308 type: object
2309 x-kubernetes-preserve-unknown-fields: true
2310 type: object
2311 type: array
okozachenko120323147262023-01-28 04:16:42 +11002312 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002313 x-kubernetes-validations:
2314 - message: zones must be less than or equal to count
2315 rule: '!has(self.zones) || (has(self.zones) && (size(self.zones) <= self.count))'
2316 - message: stretchCluster zones must be equal to 3
2317 rule: '!has(self.stretchCluster) || (has(self.stretchCluster) && (size(self.stretchCluster.zones) > 0) && (size(self.stretchCluster.zones) == 3))'
okozachenko120323147262023-01-28 04:16:42 +11002318 monitoring:
2319 description: Prometheus based Monitoring settings
2320 nullable: true
2321 properties:
2322 enabled:
Mohammed Naser65cda132024-05-02 14:34:08 -04002323 description: |-
2324 Enabled determines whether to create the prometheus rules for the ceph cluster. If true, the prometheus
2325 types must exist or the creation will fail. Default is false.
okozachenko120323147262023-01-28 04:16:42 +11002326 type: boolean
2327 externalMgrEndpoints:
2328 description: ExternalMgrEndpoints points to an existing Ceph prometheus exporter endpoint
2329 items:
2330 description: EndpointAddress is a tuple that describes single IP address.
2331 properties:
2332 hostname:
2333 description: The Hostname of this endpoint
2334 type: string
2335 ip:
Mohammed Naser65cda132024-05-02 14:34:08 -04002336 description: |-
2337 The IP of this endpoint.
2338 May not be loopback (127.0.0.0/8 or ::1), link-local (169.254.0.0/16 or fe80::/10),
2339 or link-local multicast (224.0.0.0/24 or ff02::/16).
okozachenko120323147262023-01-28 04:16:42 +11002340 type: string
2341 nodeName:
2342 description: 'Optional: Node hosting this endpoint. This can be used to determine endpoints local to a node.'
2343 type: string
2344 targetRef:
2345 description: Reference to object providing the endpoint.
2346 properties:
2347 apiVersion:
2348 description: API version of the referent.
2349 type: string
2350 fieldPath:
Mohammed Naser65cda132024-05-02 14:34:08 -04002351 description: |-
2352 If referring to a piece of an object instead of an entire object, this string
2353 should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
2354 For example, if the object reference is to a container within a pod, this would take on a value like:
2355 "spec.containers{name}" (where "name" refers to the name of the container that triggered
2356 the event) or if no container name is specified "spec.containers[2]" (container with
2357 index 2 in this pod). This syntax is chosen only to have some well-defined way of
2358 referencing a part of an object.
2359 TODO: this design is not final and this field is subject to change in the future.
okozachenko120323147262023-01-28 04:16:42 +11002360 type: string
2361 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -04002362 description: |-
2363 Kind of the referent.
2364 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +11002365 type: string
2366 name:
Mohammed Naser65cda132024-05-02 14:34:08 -04002367 description: |-
2368 Name of the referent.
2369 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
okozachenko120323147262023-01-28 04:16:42 +11002370 type: string
2371 namespace:
Mohammed Naser65cda132024-05-02 14:34:08 -04002372 description: |-
2373 Namespace of the referent.
2374 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
okozachenko120323147262023-01-28 04:16:42 +11002375 type: string
2376 resourceVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -04002377 description: |-
2378 Specific resourceVersion to which this reference is made, if any.
2379 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
okozachenko120323147262023-01-28 04:16:42 +11002380 type: string
2381 uid:
Mohammed Naser65cda132024-05-02 14:34:08 -04002382 description: |-
2383 UID of the referent.
2384 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
okozachenko120323147262023-01-28 04:16:42 +11002385 type: string
2386 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002387 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002388 required:
2389 - ip
2390 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002391 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002392 nullable: true
2393 type: array
2394 externalMgrPrometheusPort:
2395 description: ExternalMgrPrometheusPort Prometheus exporter port
2396 maximum: 65535
2397 minimum: 0
2398 type: integer
Mohammed Naser65cda132024-05-02 14:34:08 -04002399 interval:
2400 description: Interval determines prometheus scrape interval
2401 type: string
2402 metricsDisabled:
2403 description: |-
2404 Whether to disable the metrics reported by Ceph. If false, the prometheus mgr module and Ceph exporter are enabled.
2405 If true, the prometheus mgr module and Ceph exporter are both disabled. Default is false.
2406 type: boolean
2407 port:
2408 description: Port is the prometheus server port
2409 maximum: 65535
2410 minimum: 0
2411 type: integer
okozachenko120323147262023-01-28 04:16:42 +11002412 type: object
2413 network:
2414 description: Network related configuration
2415 nullable: true
2416 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04002417 addressRanges:
2418 description: |-
2419 AddressRanges specify a list of CIDRs that Rook will apply to Ceph's 'public_network' and/or
2420 'cluster_network' configurations. This config section may be used for the "host" or "multus"
2421 network providers.
2422 nullable: true
2423 properties:
2424 cluster:
2425 description: Cluster defines a list of CIDRs to use for Ceph cluster 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 public:
2437 description: Public defines a list of CIDRs to use for Ceph public network communication.
2438 items:
2439 description: |-
2440 An IPv4 or IPv6 network CIDR.
2441
2442
2443 This naive kubebuilder regex provides immediate feedback for some typos and for a common problem
2444 case where the range spec is forgotten (e.g., /24). Rook does in-depth validation in code.
2445 pattern: ^[0-9a-fA-F:.]{2,}\/[0-9]{1,3}$
2446 type: string
2447 type: array
2448 type: object
okozachenko120323147262023-01-28 04:16:42 +11002449 connections:
Mohammed Naser65cda132024-05-02 14:34:08 -04002450 description: |-
2451 Settings for network connections such as compression and encryption across the
2452 wire.
okozachenko120323147262023-01-28 04:16:42 +11002453 nullable: true
2454 properties:
2455 compression:
2456 description: Compression settings for the network connections.
2457 nullable: true
2458 properties:
2459 enabled:
Mohammed Naser65cda132024-05-02 14:34:08 -04002460 description: |-
2461 Whether to compress the data in transit across the wire.
2462 The default is not set.
okozachenko120323147262023-01-28 04:16:42 +11002463 type: boolean
2464 type: object
2465 encryption:
2466 description: Encryption settings for the network connections.
2467 nullable: true
2468 properties:
2469 enabled:
Mohammed Naser65cda132024-05-02 14:34:08 -04002470 description: |-
2471 Whether to encrypt the data in transit across the wire to prevent eavesdropping
2472 the data on the network. The default is not set. Even if encryption is not enabled,
2473 clients still establish a strong initial authentication for the connection
2474 and data integrity is still validated with a crc check. When encryption is enabled,
2475 all communication between clients and Ceph daemons, or between Ceph daemons will
2476 be encrypted.
okozachenko120323147262023-01-28 04:16:42 +11002477 type: boolean
2478 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002479 requireMsgr2:
2480 description: |-
2481 Whether to require msgr2 (port 3300) even if compression or encryption are not enabled.
2482 If true, the msgr1 port (6789) will be disabled.
2483 Requires a kernel that supports msgr2 (kernel 5.11 or CentOS 8.4 or newer).
2484 type: boolean
okozachenko120323147262023-01-28 04:16:42 +11002485 type: object
2486 dualStack:
2487 description: DualStack determines whether Ceph daemons should listen on both IPv4 and IPv6
2488 type: boolean
2489 hostNetwork:
Mohammed Naser65cda132024-05-02 14:34:08 -04002490 description: |-
2491 HostNetwork to enable host network.
2492 If host networking is enabled or disabled on a running cluster, then the operator will automatically fail over all the mons to
2493 apply the new network settings.
okozachenko120323147262023-01-28 04:16:42 +11002494 type: boolean
2495 ipFamily:
2496 description: IPFamily is the single stack IPv6 or IPv4 protocol
2497 enum:
2498 - IPv4
2499 - IPv6
2500 nullable: true
2501 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04002502 multiClusterService:
2503 description: Enable multiClusterService to export the Services between peer clusters
2504 properties:
2505 clusterID:
2506 description: |-
2507 ClusterID uniquely identifies a cluster. It is used as a prefix to nslookup exported
2508 services. For example: <clusterid>.<svc>.<ns>.svc.clusterset.local
2509 type: string
2510 enabled:
2511 description: |-
2512 Enable multiClusterService to export the mon and OSD services to peer cluster.
2513 Ensure that peer clusters are connected using an MCS API compatible application,
2514 like Globalnet Submariner.
2515 type: boolean
2516 type: object
okozachenko120323147262023-01-28 04:16:42 +11002517 provider:
Mohammed Naser65cda132024-05-02 14:34:08 -04002518 description: |-
2519 Provider is what provides network connectivity to the cluster e.g. "host" or "multus".
2520 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.
2521 enum:
2522 - ""
2523 - host
2524 - multus
okozachenko120323147262023-01-28 04:16:42 +11002525 nullable: true
2526 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04002527 x-kubernetes-validations:
2528 - message: network provider must be disabled (reverted to empty string) before a new provider is enabled
2529 rule: self == '' || self == oldSelf
okozachenko120323147262023-01-28 04:16:42 +11002530 selectors:
2531 additionalProperties:
2532 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04002533 description: |-
2534 Selectors define NetworkAttachmentDefinitions to be used for Ceph public and/or cluster
2535 networks when the "multus" network provider is used. This config section is not used for
2536 other network providers.
2537
2538
2539 Valid keys are "public" and "cluster". Refer to Ceph networking documentation for more:
2540 https://docs.ceph.com/en/reef/rados/configuration/network-config-ref/
2541
2542
2543 Refer to Multus network annotation documentation for help selecting values:
2544 https://github.com/k8snetworkplumbingwg/multus-cni/blob/master/docs/how-to-use.md#run-pod-with-network-annotation
2545
2546
2547 Rook will make a best-effort attempt to automatically detect CIDR address ranges for given
2548 network attachment definitions. Rook's methods are robust but may be imprecise for
2549 sufficiently complicated networks. Rook's auto-detection process obtains a new IP address
2550 lease for each CephCluster reconcile. If Rook fails to detect, incorrectly detects, only
2551 partially detects, or if underlying networks do not support reusing old IP addresses, it is
2552 best to use the 'addressRanges' config section to specify CIDR ranges for the Ceph cluster.
2553
2554
2555 As a contrived example, one can use a theoretical Kubernetes-wide network for Ceph client
2556 traffic and a theoretical Rook-only network for Ceph replication traffic as shown:
2557 selectors:
2558 public: "default/cluster-fast-net"
2559 cluster: "rook-ceph/ceph-backend-net"
okozachenko120323147262023-01-28 04:16:42 +11002560 nullable: true
2561 type: object
2562 type: object
2563 x-kubernetes-preserve-unknown-fields: true
Mohammed Naser65cda132024-05-02 14:34:08 -04002564 x-kubernetes-validations:
2565 - message: at least one network selector must be specified when using multus
2566 rule: '!has(self.provider) || (self.provider != ''multus'' || (self.provider == ''multus'' && size(self.selectors) > 0))'
2567 - message: the legacy hostNetwork setting can only be set if the network.provider is set to the empty string
2568 rule: '!has(self.hostNetwork) || self.hostNetwork == false || !has(self.provider) || self.provider == ""'
okozachenko120323147262023-01-28 04:16:42 +11002569 placement:
2570 additionalProperties:
okozachenko120323147262023-01-28 04:16:42 +11002571 properties:
2572 nodeAffinity:
okozachenko120323147262023-01-28 04:16:42 +11002573 properties:
2574 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11002575 items:
okozachenko120323147262023-01-28 04:16:42 +11002576 properties:
2577 preference:
okozachenko120323147262023-01-28 04:16:42 +11002578 properties:
2579 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002580 items:
okozachenko120323147262023-01-28 04:16:42 +11002581 properties:
2582 key:
okozachenko120323147262023-01-28 04:16:42 +11002583 type: string
2584 operator:
okozachenko120323147262023-01-28 04:16:42 +11002585 type: string
2586 values:
okozachenko120323147262023-01-28 04:16:42 +11002587 items:
2588 type: string
2589 type: array
2590 required:
2591 - key
2592 - operator
2593 type: object
2594 type: array
2595 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11002596 items:
okozachenko120323147262023-01-28 04:16:42 +11002597 properties:
2598 key:
okozachenko120323147262023-01-28 04:16:42 +11002599 type: string
2600 operator:
okozachenko120323147262023-01-28 04:16:42 +11002601 type: string
2602 values:
okozachenko120323147262023-01-28 04:16:42 +11002603 items:
2604 type: string
2605 type: array
2606 required:
2607 - key
2608 - operator
2609 type: object
2610 type: array
2611 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002612 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002613 weight:
okozachenko120323147262023-01-28 04:16:42 +11002614 format: int32
2615 type: integer
2616 required:
2617 - preference
2618 - weight
2619 type: object
2620 type: array
2621 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11002622 properties:
2623 nodeSelectorTerms:
okozachenko120323147262023-01-28 04:16:42 +11002624 items:
okozachenko120323147262023-01-28 04:16:42 +11002625 properties:
2626 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002627 items:
okozachenko120323147262023-01-28 04:16:42 +11002628 properties:
2629 key:
okozachenko120323147262023-01-28 04:16:42 +11002630 type: string
2631 operator:
okozachenko120323147262023-01-28 04:16:42 +11002632 type: string
2633 values:
okozachenko120323147262023-01-28 04:16:42 +11002634 items:
2635 type: string
2636 type: array
2637 required:
2638 - key
2639 - operator
2640 type: object
2641 type: array
2642 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11002643 items:
okozachenko120323147262023-01-28 04:16:42 +11002644 properties:
2645 key:
okozachenko120323147262023-01-28 04:16:42 +11002646 type: string
2647 operator:
okozachenko120323147262023-01-28 04:16:42 +11002648 type: string
2649 values:
okozachenko120323147262023-01-28 04:16:42 +11002650 items:
2651 type: string
2652 type: array
2653 required:
2654 - key
2655 - operator
2656 type: object
2657 type: array
2658 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002659 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002660 type: array
2661 required:
2662 - nodeSelectorTerms
2663 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002664 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002665 type: object
2666 podAffinity:
okozachenko120323147262023-01-28 04:16:42 +11002667 properties:
2668 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11002669 items:
okozachenko120323147262023-01-28 04:16:42 +11002670 properties:
2671 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11002672 properties:
2673 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11002674 properties:
2675 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002676 items:
okozachenko120323147262023-01-28 04:16:42 +11002677 properties:
2678 key:
okozachenko120323147262023-01-28 04:16:42 +11002679 type: string
2680 operator:
okozachenko120323147262023-01-28 04:16:42 +11002681 type: string
2682 values:
okozachenko120323147262023-01-28 04:16:42 +11002683 items:
2684 type: string
2685 type: array
2686 required:
2687 - key
2688 - operator
2689 type: object
2690 type: array
2691 matchLabels:
2692 additionalProperties:
2693 type: string
okozachenko120323147262023-01-28 04:16:42 +11002694 type: object
2695 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002696 x-kubernetes-map-type: atomic
2697 matchLabelKeys:
2698 items:
2699 type: string
2700 type: array
2701 x-kubernetes-list-type: atomic
2702 mismatchLabelKeys:
2703 items:
2704 type: string
2705 type: array
2706 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002707 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11002708 properties:
2709 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002710 items:
okozachenko120323147262023-01-28 04:16:42 +11002711 properties:
2712 key:
okozachenko120323147262023-01-28 04:16:42 +11002713 type: string
2714 operator:
okozachenko120323147262023-01-28 04:16:42 +11002715 type: string
2716 values:
okozachenko120323147262023-01-28 04:16:42 +11002717 items:
2718 type: string
2719 type: array
2720 required:
2721 - key
2722 - operator
2723 type: object
2724 type: array
2725 matchLabels:
2726 additionalProperties:
2727 type: string
okozachenko120323147262023-01-28 04:16:42 +11002728 type: object
2729 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002730 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002731 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11002732 items:
2733 type: string
2734 type: array
2735 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11002736 type: string
2737 required:
2738 - topologyKey
2739 type: object
2740 weight:
okozachenko120323147262023-01-28 04:16:42 +11002741 format: int32
2742 type: integer
2743 required:
2744 - podAffinityTerm
2745 - weight
2746 type: object
2747 type: array
2748 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11002749 items:
okozachenko120323147262023-01-28 04:16:42 +11002750 properties:
2751 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11002752 properties:
2753 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002754 items:
okozachenko120323147262023-01-28 04:16:42 +11002755 properties:
2756 key:
okozachenko120323147262023-01-28 04:16:42 +11002757 type: string
2758 operator:
okozachenko120323147262023-01-28 04:16:42 +11002759 type: string
2760 values:
okozachenko120323147262023-01-28 04:16:42 +11002761 items:
2762 type: string
2763 type: array
2764 required:
2765 - key
2766 - operator
2767 type: object
2768 type: array
2769 matchLabels:
2770 additionalProperties:
2771 type: string
okozachenko120323147262023-01-28 04:16:42 +11002772 type: object
2773 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002774 x-kubernetes-map-type: atomic
2775 matchLabelKeys:
2776 items:
2777 type: string
2778 type: array
2779 x-kubernetes-list-type: atomic
2780 mismatchLabelKeys:
2781 items:
2782 type: string
2783 type: array
2784 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002785 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11002786 properties:
2787 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002788 items:
okozachenko120323147262023-01-28 04:16:42 +11002789 properties:
2790 key:
okozachenko120323147262023-01-28 04:16:42 +11002791 type: string
2792 operator:
okozachenko120323147262023-01-28 04:16:42 +11002793 type: string
2794 values:
okozachenko120323147262023-01-28 04:16:42 +11002795 items:
2796 type: string
2797 type: array
2798 required:
2799 - key
2800 - operator
2801 type: object
2802 type: array
2803 matchLabels:
2804 additionalProperties:
2805 type: string
okozachenko120323147262023-01-28 04:16:42 +11002806 type: object
2807 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002808 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002809 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11002810 items:
2811 type: string
2812 type: array
2813 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11002814 type: string
2815 required:
2816 - topologyKey
2817 type: object
2818 type: array
2819 type: object
2820 podAntiAffinity:
okozachenko120323147262023-01-28 04:16:42 +11002821 properties:
2822 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11002823 items:
okozachenko120323147262023-01-28 04:16:42 +11002824 properties:
2825 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11002826 properties:
2827 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11002828 properties:
2829 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002830 items:
okozachenko120323147262023-01-28 04:16:42 +11002831 properties:
2832 key:
okozachenko120323147262023-01-28 04:16:42 +11002833 type: string
2834 operator:
okozachenko120323147262023-01-28 04:16:42 +11002835 type: string
2836 values:
okozachenko120323147262023-01-28 04:16:42 +11002837 items:
2838 type: string
2839 type: array
2840 required:
2841 - key
2842 - operator
2843 type: object
2844 type: array
2845 matchLabels:
2846 additionalProperties:
2847 type: string
okozachenko120323147262023-01-28 04:16:42 +11002848 type: object
2849 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002850 x-kubernetes-map-type: atomic
2851 matchLabelKeys:
2852 items:
2853 type: string
2854 type: array
2855 x-kubernetes-list-type: atomic
2856 mismatchLabelKeys:
2857 items:
2858 type: string
2859 type: array
2860 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002861 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11002862 properties:
2863 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002864 items:
okozachenko120323147262023-01-28 04:16:42 +11002865 properties:
2866 key:
okozachenko120323147262023-01-28 04:16:42 +11002867 type: string
2868 operator:
okozachenko120323147262023-01-28 04:16:42 +11002869 type: string
2870 values:
okozachenko120323147262023-01-28 04:16:42 +11002871 items:
2872 type: string
2873 type: array
2874 required:
2875 - key
2876 - operator
2877 type: object
2878 type: array
2879 matchLabels:
2880 additionalProperties:
2881 type: string
okozachenko120323147262023-01-28 04:16:42 +11002882 type: object
2883 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002884 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002885 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11002886 items:
2887 type: string
2888 type: array
2889 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11002890 type: string
2891 required:
2892 - topologyKey
2893 type: object
2894 weight:
okozachenko120323147262023-01-28 04:16:42 +11002895 format: int32
2896 type: integer
2897 required:
2898 - podAffinityTerm
2899 - weight
2900 type: object
2901 type: array
2902 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11002903 items:
okozachenko120323147262023-01-28 04:16:42 +11002904 properties:
2905 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11002906 properties:
2907 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002908 items:
okozachenko120323147262023-01-28 04:16:42 +11002909 properties:
2910 key:
okozachenko120323147262023-01-28 04:16:42 +11002911 type: string
2912 operator:
okozachenko120323147262023-01-28 04:16:42 +11002913 type: string
2914 values:
okozachenko120323147262023-01-28 04:16:42 +11002915 items:
2916 type: string
2917 type: array
2918 required:
2919 - key
2920 - operator
2921 type: object
2922 type: array
2923 matchLabels:
2924 additionalProperties:
2925 type: string
okozachenko120323147262023-01-28 04:16:42 +11002926 type: object
2927 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002928 x-kubernetes-map-type: atomic
2929 matchLabelKeys:
2930 items:
2931 type: string
2932 type: array
2933 x-kubernetes-list-type: atomic
2934 mismatchLabelKeys:
2935 items:
2936 type: string
2937 type: array
2938 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002939 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11002940 properties:
2941 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002942 items:
okozachenko120323147262023-01-28 04:16:42 +11002943 properties:
2944 key:
okozachenko120323147262023-01-28 04:16:42 +11002945 type: string
2946 operator:
okozachenko120323147262023-01-28 04:16:42 +11002947 type: string
2948 values:
okozachenko120323147262023-01-28 04:16:42 +11002949 items:
2950 type: string
2951 type: array
2952 required:
2953 - key
2954 - operator
2955 type: object
2956 type: array
2957 matchLabels:
2958 additionalProperties:
2959 type: string
okozachenko120323147262023-01-28 04:16:42 +11002960 type: object
2961 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04002962 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11002963 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11002964 items:
2965 type: string
2966 type: array
2967 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11002968 type: string
2969 required:
2970 - topologyKey
2971 type: object
2972 type: array
2973 type: object
2974 tolerations:
okozachenko120323147262023-01-28 04:16:42 +11002975 items:
okozachenko120323147262023-01-28 04:16:42 +11002976 properties:
2977 effect:
okozachenko120323147262023-01-28 04:16:42 +11002978 type: string
2979 key:
okozachenko120323147262023-01-28 04:16:42 +11002980 type: string
2981 operator:
okozachenko120323147262023-01-28 04:16:42 +11002982 type: string
2983 tolerationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11002984 format: int64
2985 type: integer
2986 value:
okozachenko120323147262023-01-28 04:16:42 +11002987 type: string
2988 type: object
2989 type: array
2990 topologySpreadConstraints:
okozachenko120323147262023-01-28 04:16:42 +11002991 items:
okozachenko120323147262023-01-28 04:16:42 +11002992 properties:
2993 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11002994 properties:
2995 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11002996 items:
okozachenko120323147262023-01-28 04:16:42 +11002997 properties:
2998 key:
okozachenko120323147262023-01-28 04:16:42 +11002999 type: string
3000 operator:
okozachenko120323147262023-01-28 04:16:42 +11003001 type: string
3002 values:
okozachenko120323147262023-01-28 04:16:42 +11003003 items:
3004 type: string
3005 type: array
3006 required:
3007 - key
3008 - operator
3009 type: object
3010 type: array
3011 matchLabels:
3012 additionalProperties:
3013 type: string
okozachenko120323147262023-01-28 04:16:42 +11003014 type: object
3015 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003016 x-kubernetes-map-type: atomic
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00003017 matchLabelKeys:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00003018 items:
3019 type: string
3020 type: array
3021 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003022 maxSkew:
okozachenko120323147262023-01-28 04:16:42 +11003023 format: int32
3024 type: integer
3025 minDomains:
okozachenko120323147262023-01-28 04:16:42 +11003026 format: int32
3027 type: integer
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00003028 nodeAffinityPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00003029 type: string
3030 nodeTaintsPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00003031 type: string
okozachenko120323147262023-01-28 04:16:42 +11003032 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11003033 type: string
3034 whenUnsatisfiable:
okozachenko120323147262023-01-28 04:16:42 +11003035 type: string
3036 required:
3037 - maxSkew
3038 - topologyKey
3039 - whenUnsatisfiable
3040 type: object
3041 type: array
3042 type: object
okozachenko120323147262023-01-28 04:16:42 +11003043 nullable: true
3044 type: object
3045 x-kubernetes-preserve-unknown-fields: true
3046 priorityClassNames:
3047 additionalProperties:
3048 type: string
3049 description: PriorityClassNames sets priority classes on components
3050 nullable: true
3051 type: object
3052 x-kubernetes-preserve-unknown-fields: true
3053 removeOSDsIfOutAndSafeToRemove:
3054 description: Remove the OSD that is out and safe to remove only if this option is true
3055 type: boolean
3056 resources:
3057 additionalProperties:
3058 description: ResourceRequirements describes the compute resource requirements.
3059 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04003060 claims:
3061 description: |-
3062 Claims lists the names of resources, defined in spec.resourceClaims,
3063 that are used by this container.
3064
3065
3066 This is an alpha field and requires enabling the
3067 DynamicResourceAllocation feature gate.
3068
3069
3070 This field is immutable. It can only be set for containers.
3071 items:
3072 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
3073 properties:
3074 name:
3075 description: |-
3076 Name must match the name of one entry in pod.spec.resourceClaims of
3077 the Pod where this field is used. It makes that resource available
3078 inside a container.
3079 type: string
3080 required:
3081 - name
3082 type: object
3083 type: array
3084 x-kubernetes-list-map-keys:
3085 - name
3086 x-kubernetes-list-type: map
okozachenko120323147262023-01-28 04:16:42 +11003087 limits:
3088 additionalProperties:
3089 anyOf:
3090 - type: integer
3091 - type: string
3092 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3093 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04003094 description: |-
3095 Limits describes the maximum amount of compute resources allowed.
3096 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11003097 type: object
3098 requests:
3099 additionalProperties:
3100 anyOf:
3101 - type: integer
3102 - type: string
3103 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3104 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04003105 description: |-
3106 Requests describes the minimum amount of compute resources required.
3107 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
3108 otherwise to an implementation-defined value. Requests cannot exceed Limits.
3109 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11003110 type: object
3111 type: object
3112 description: Resources set resource requests and limits
3113 nullable: true
3114 type: object
3115 x-kubernetes-preserve-unknown-fields: true
3116 security:
3117 description: Security represents security settings
3118 nullable: true
3119 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04003120 keyRotation:
3121 description: KeyRotation defines options for Key Rotation.
3122 nullable: true
3123 properties:
3124 enabled:
3125 default: false
3126 description: Enabled represents whether the key rotation is enabled.
3127 type: boolean
3128 schedule:
3129 description: Schedule represents the cron schedule for key rotation.
3130 type: string
3131 type: object
okozachenko120323147262023-01-28 04:16:42 +11003132 kms:
3133 description: KeyManagementService is the main Key Management option
3134 nullable: true
3135 properties:
3136 connectionDetails:
3137 additionalProperties:
3138 type: string
3139 description: ConnectionDetails contains the KMS connection details (address, port etc)
3140 nullable: true
3141 type: object
3142 x-kubernetes-preserve-unknown-fields: true
3143 tokenSecretName:
3144 description: TokenSecretName is the kubernetes secret containing the KMS token
3145 type: string
3146 type: object
3147 type: object
3148 skipUpgradeChecks:
3149 description: SkipUpgradeChecks defines if an upgrade should be forced even if one of the check fails
3150 type: boolean
3151 storage:
3152 description: A spec for available storage in the cluster and how it should be used
3153 nullable: true
3154 properties:
Mohammed Naser7d1623e2024-06-17 09:12:39 -04003155 backfillFullRatio:
3156 description: BackfillFullRatio is the ratio at which the cluster is too full for backfill. Backfill will be disabled if above this threshold. Default is 0.90.
3157 maximum: 1
3158 minimum: 0
3159 nullable: true
3160 type: number
okozachenko120323147262023-01-28 04:16:42 +11003161 config:
3162 additionalProperties:
3163 type: string
3164 nullable: true
3165 type: object
3166 x-kubernetes-preserve-unknown-fields: true
3167 deviceFilter:
3168 description: A regular expression to allow more fine-grained selection of devices on nodes across the cluster
3169 type: string
3170 devicePathFilter:
3171 description: A regular expression to allow more fine-grained selection of devices with path names
3172 type: string
3173 devices:
3174 description: List of devices to use as storage devices
3175 items:
3176 description: Device represents a disk to use in the cluster
3177 properties:
3178 config:
3179 additionalProperties:
3180 type: string
3181 nullable: true
3182 type: object
3183 x-kubernetes-preserve-unknown-fields: true
3184 fullpath:
3185 type: string
3186 name:
3187 type: string
3188 type: object
3189 nullable: true
3190 type: array
3191 x-kubernetes-preserve-unknown-fields: true
Mohammed Naser65cda132024-05-02 14:34:08 -04003192 flappingRestartIntervalHours:
3193 description: |-
3194 FlappingRestartIntervalHours defines the time for which the OSD pods, that failed with zero exit code, will sleep before restarting.
3195 This is needed for OSD flapping where OSD daemons are marked down more than 5 times in 600 seconds by Ceph.
3196 Preventing the OSD pods to restart immediately in such scenarios will prevent Rook from marking OSD as `up` and thus
3197 peering of the PGs mapped to the OSD.
3198 User needs to manually restart the OSD pod if they manage to fix the underlying OSD flapping issue before the restart interval.
3199 The sleep will be disabled if this interval is set to 0.
3200 type: integer
Mohammed Naser7d1623e2024-06-17 09:12:39 -04003201 fullRatio:
3202 description: FullRatio is the ratio at which the cluster is considered full and ceph will stop accepting writes. Default is 0.95.
3203 maximum: 1
3204 minimum: 0
3205 nullable: true
3206 type: number
3207 nearFullRatio:
3208 description: NearFullRatio is the ratio at which the cluster is considered nearly full and will raise a ceph health warning. Default is 0.85.
3209 maximum: 1
3210 minimum: 0
3211 nullable: true
3212 type: number
okozachenko120323147262023-01-28 04:16:42 +11003213 nodes:
3214 items:
3215 description: Node is a storage nodes
3216 properties:
3217 config:
3218 additionalProperties:
3219 type: string
3220 nullable: true
3221 type: object
3222 x-kubernetes-preserve-unknown-fields: true
3223 deviceFilter:
3224 description: A regular expression to allow more fine-grained selection of devices on nodes across the cluster
3225 type: string
3226 devicePathFilter:
3227 description: A regular expression to allow more fine-grained selection of devices with path names
3228 type: string
3229 devices:
3230 description: List of devices to use as storage devices
3231 items:
3232 description: Device represents a disk to use in the cluster
3233 properties:
3234 config:
3235 additionalProperties:
3236 type: string
3237 nullable: true
3238 type: object
3239 x-kubernetes-preserve-unknown-fields: true
3240 fullpath:
3241 type: string
3242 name:
3243 type: string
3244 type: object
3245 nullable: true
3246 type: array
3247 x-kubernetes-preserve-unknown-fields: true
3248 name:
3249 type: string
3250 resources:
3251 description: ResourceRequirements describes the compute resource requirements.
3252 nullable: true
3253 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04003254 claims:
3255 description: |-
3256 Claims lists the names of resources, defined in spec.resourceClaims,
3257 that are used by this container.
3258
3259
3260 This is an alpha field and requires enabling the
3261 DynamicResourceAllocation feature gate.
3262
3263
3264 This field is immutable. It can only be set for containers.
3265 items:
3266 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
3267 properties:
3268 name:
3269 description: |-
3270 Name must match the name of one entry in pod.spec.resourceClaims of
3271 the Pod where this field is used. It makes that resource available
3272 inside a container.
3273 type: string
3274 required:
3275 - name
3276 type: object
3277 type: array
3278 x-kubernetes-list-map-keys:
3279 - name
3280 x-kubernetes-list-type: map
okozachenko120323147262023-01-28 04:16:42 +11003281 limits:
3282 additionalProperties:
3283 anyOf:
3284 - type: integer
3285 - type: string
3286 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3287 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04003288 description: |-
3289 Limits describes the maximum amount of compute resources allowed.
3290 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11003291 type: object
3292 requests:
3293 additionalProperties:
3294 anyOf:
3295 - type: integer
3296 - type: string
3297 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3298 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04003299 description: |-
3300 Requests describes the minimum amount of compute resources required.
3301 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
3302 otherwise to an implementation-defined value. Requests cannot exceed Limits.
3303 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11003304 type: object
3305 type: object
3306 x-kubernetes-preserve-unknown-fields: true
3307 useAllDevices:
3308 description: Whether to consume all the storage devices found on a machine
3309 type: boolean
3310 volumeClaimTemplates:
3311 description: PersistentVolumeClaims to use as storage
3312 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04003313 description: VolumeClaimTemplate is a simplified version of K8s corev1's PVC. It has no type meta or status.
okozachenko120323147262023-01-28 04:16:42 +11003314 properties:
okozachenko120323147262023-01-28 04:16:42 +11003315 metadata:
Mohammed Naser65cda132024-05-02 14:34:08 -04003316 description: |-
3317 Standard object's metadata.
3318 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
okozachenko120323147262023-01-28 04:16:42 +11003319 properties:
3320 annotations:
3321 additionalProperties:
3322 type: string
3323 type: object
3324 finalizers:
3325 items:
3326 type: string
3327 type: array
3328 labels:
3329 additionalProperties:
3330 type: string
3331 type: object
3332 name:
3333 type: string
3334 namespace:
3335 type: string
3336 type: object
3337 spec:
Mohammed Naser65cda132024-05-02 14:34:08 -04003338 description: |-
3339 spec defines the desired characteristics of a volume requested by a pod author.
3340 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
okozachenko120323147262023-01-28 04:16:42 +11003341 properties:
3342 accessModes:
Mohammed Naser65cda132024-05-02 14:34:08 -04003343 description: |-
3344 accessModes contains the desired access modes the volume should have.
3345 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
okozachenko120323147262023-01-28 04:16:42 +11003346 items:
3347 type: string
3348 type: array
3349 dataSource:
Mohammed Naser65cda132024-05-02 14:34:08 -04003350 description: |-
3351 dataSource field can be used to specify either:
3352 * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
3353 * An existing PVC (PersistentVolumeClaim)
3354 If the provisioner or an external controller can support the specified data source,
3355 it will create a new volume based on the contents of the specified data source.
3356 When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
3357 and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
3358 If the namespace is specified, then dataSourceRef will not be copied to dataSource.
okozachenko120323147262023-01-28 04:16:42 +11003359 properties:
3360 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04003361 description: |-
3362 APIGroup is the group for the resource being referenced.
3363 If APIGroup is not specified, the specified Kind must be in the core API group.
3364 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11003365 type: string
3366 kind:
3367 description: Kind is the type of resource being referenced
3368 type: string
3369 name:
3370 description: Name is the name of resource being referenced
3371 type: string
3372 required:
3373 - kind
3374 - name
3375 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003376 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003377 dataSourceRef:
Mohammed Naser65cda132024-05-02 14:34:08 -04003378 description: |-
3379 dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
3380 volume is desired. This may be any object from a non-empty API group (non
3381 core object) or a PersistentVolumeClaim object.
3382 When this field is specified, volume binding will only succeed if the type of
3383 the specified object matches some installed volume populator or dynamic
3384 provisioner.
3385 This field will replace the functionality of the dataSource field and as such
3386 if both fields are non-empty, they must have the same value. For backwards
3387 compatibility, when namespace isn't specified in dataSourceRef,
3388 both fields (dataSource and dataSourceRef) will be set to the same
3389 value automatically if one of them is empty and the other is non-empty.
3390 When namespace is specified in dataSourceRef,
3391 dataSource isn't set to the same value and must be empty.
3392 There are three important differences between dataSource and dataSourceRef:
3393 * While dataSource only allows two specific types of objects, dataSourceRef
3394 allows any non-core object, as well as PersistentVolumeClaim objects.
3395 * While dataSource ignores disallowed values (dropping them), dataSourceRef
3396 preserves all values, and generates an error if a disallowed value is
3397 specified.
3398 * While dataSource only allows local objects, dataSourceRef allows objects
3399 in any namespaces.
3400 (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
3401 (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11003402 properties:
3403 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04003404 description: |-
3405 APIGroup is the group for the resource being referenced.
3406 If APIGroup is not specified, the specified Kind must be in the core API group.
3407 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11003408 type: string
3409 kind:
3410 description: Kind is the type of resource being referenced
3411 type: string
3412 name:
3413 description: Name is the name of resource being referenced
3414 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04003415 namespace:
3416 description: |-
3417 Namespace is the namespace of resource being referenced
3418 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.
3419 (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
3420 type: string
okozachenko120323147262023-01-28 04:16:42 +11003421 required:
3422 - kind
3423 - name
3424 type: object
3425 resources:
Mohammed Naser65cda132024-05-02 14:34:08 -04003426 description: |-
3427 resources represents the minimum resources the volume should have.
3428 If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
3429 that are lower than previous value but must still be higher than capacity recorded in the
3430 status field of the claim.
3431 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
okozachenko120323147262023-01-28 04:16:42 +11003432 properties:
3433 limits:
3434 additionalProperties:
3435 anyOf:
3436 - type: integer
3437 - type: string
3438 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3439 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04003440 description: |-
3441 Limits describes the maximum amount of compute resources allowed.
3442 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11003443 type: object
3444 requests:
3445 additionalProperties:
3446 anyOf:
3447 - type: integer
3448 - type: string
3449 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
3450 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04003451 description: |-
3452 Requests describes the minimum amount of compute resources required.
3453 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
3454 otherwise to an implementation-defined value. Requests cannot exceed Limits.
3455 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11003456 type: object
3457 type: object
3458 selector:
3459 description: selector is a label query over volumes to consider for binding.
3460 properties:
3461 matchExpressions:
3462 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
3463 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04003464 description: |-
3465 A label selector requirement is a selector that contains values, a key, and an operator that
3466 relates the key and values.
okozachenko120323147262023-01-28 04:16:42 +11003467 properties:
3468 key:
3469 description: key is the label key that the selector applies to.
3470 type: string
3471 operator:
Mohammed Naser65cda132024-05-02 14:34:08 -04003472 description: |-
3473 operator represents a key's relationship to a set of values.
3474 Valid operators are In, NotIn, Exists and DoesNotExist.
okozachenko120323147262023-01-28 04:16:42 +11003475 type: string
3476 values:
Mohammed Naser65cda132024-05-02 14:34:08 -04003477 description: |-
3478 values is an array of string values. If the operator is In or NotIn,
3479 the values array must be non-empty. If the operator is Exists or DoesNotExist,
3480 the values array must be empty. This array is replaced during a strategic
3481 merge patch.
okozachenko120323147262023-01-28 04:16:42 +11003482 items:
3483 type: string
3484 type: array
3485 required:
3486 - key
3487 - operator
3488 type: object
3489 type: array
3490 matchLabels:
3491 additionalProperties:
3492 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04003493 description: |-
3494 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
3495 map is equivalent to an element of matchExpressions, whose key field is "key", the
3496 operator is "In", and the values array contains only "value". The requirements are ANDed.
okozachenko120323147262023-01-28 04:16:42 +11003497 type: object
3498 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003499 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003500 storageClassName:
Mohammed Naser65cda132024-05-02 14:34:08 -04003501 description: |-
3502 storageClassName is the name of the StorageClass required by the claim.
3503 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
3504 type: string
3505 volumeAttributesClassName:
3506 description: |-
3507 volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
3508 If specified, the CSI driver will create or update the volume with the attributes defined
3509 in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
3510 it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
3511 will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
3512 If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
3513 will be set by the persistentvolume controller if it exists.
3514 If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
3515 set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
3516 exists.
3517 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
3518 (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11003519 type: string
3520 volumeMode:
Mohammed Naser65cda132024-05-02 14:34:08 -04003521 description: |-
3522 volumeMode defines what type of volume is required by the claim.
3523 Value of Filesystem is implied when not included in claim spec.
okozachenko120323147262023-01-28 04:16:42 +11003524 type: string
3525 volumeName:
3526 description: volumeName is the binding reference to the PersistentVolume backing this claim.
3527 type: string
3528 type: object
okozachenko120323147262023-01-28 04:16:42 +11003529 type: object
3530 type: array
3531 type: object
3532 nullable: true
3533 type: array
3534 onlyApplyOSDPlacement:
3535 type: boolean
3536 storageClassDeviceSets:
3537 items:
3538 description: StorageClassDeviceSet is a storage class device set
3539 properties:
3540 config:
3541 additionalProperties:
3542 type: string
3543 description: Provider-specific device configuration
3544 nullable: true
3545 type: object
3546 x-kubernetes-preserve-unknown-fields: true
3547 count:
3548 description: Count is the number of devices in this set
3549 minimum: 1
3550 type: integer
3551 encrypted:
3552 description: Whether to encrypt the deviceSet
3553 type: boolean
3554 name:
3555 description: Name is a unique identifier for the set
Mohammed Naser7d1623e2024-06-17 09:12:39 -04003556 maxLength: 40
okozachenko120323147262023-01-28 04:16:42 +11003557 type: string
3558 placement:
okozachenko120323147262023-01-28 04:16:42 +11003559 nullable: true
3560 properties:
3561 nodeAffinity:
okozachenko120323147262023-01-28 04:16:42 +11003562 properties:
3563 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11003564 items:
okozachenko120323147262023-01-28 04:16:42 +11003565 properties:
3566 preference:
okozachenko120323147262023-01-28 04:16:42 +11003567 properties:
3568 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003569 items:
okozachenko120323147262023-01-28 04:16:42 +11003570 properties:
3571 key:
okozachenko120323147262023-01-28 04:16:42 +11003572 type: string
3573 operator:
okozachenko120323147262023-01-28 04:16:42 +11003574 type: string
3575 values:
okozachenko120323147262023-01-28 04:16:42 +11003576 items:
3577 type: string
3578 type: array
3579 required:
3580 - key
3581 - operator
3582 type: object
3583 type: array
3584 matchFields:
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 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003601 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003602 weight:
okozachenko120323147262023-01-28 04:16:42 +11003603 format: int32
3604 type: integer
3605 required:
3606 - preference
3607 - weight
3608 type: object
3609 type: array
3610 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11003611 properties:
3612 nodeSelectorTerms:
okozachenko120323147262023-01-28 04:16:42 +11003613 items:
okozachenko120323147262023-01-28 04:16:42 +11003614 properties:
3615 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003616 items:
okozachenko120323147262023-01-28 04:16:42 +11003617 properties:
3618 key:
okozachenko120323147262023-01-28 04:16:42 +11003619 type: string
3620 operator:
okozachenko120323147262023-01-28 04:16:42 +11003621 type: string
3622 values:
okozachenko120323147262023-01-28 04:16:42 +11003623 items:
3624 type: string
3625 type: array
3626 required:
3627 - key
3628 - operator
3629 type: object
3630 type: array
3631 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11003632 items:
okozachenko120323147262023-01-28 04:16:42 +11003633 properties:
3634 key:
okozachenko120323147262023-01-28 04:16:42 +11003635 type: string
3636 operator:
okozachenko120323147262023-01-28 04:16:42 +11003637 type: string
3638 values:
okozachenko120323147262023-01-28 04:16:42 +11003639 items:
3640 type: string
3641 type: array
3642 required:
3643 - key
3644 - operator
3645 type: object
3646 type: array
3647 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003648 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003649 type: array
3650 required:
3651 - nodeSelectorTerms
3652 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003653 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003654 type: object
3655 podAffinity:
okozachenko120323147262023-01-28 04:16:42 +11003656 properties:
3657 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11003658 items:
okozachenko120323147262023-01-28 04:16:42 +11003659 properties:
3660 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11003661 properties:
3662 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11003663 properties:
3664 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003665 items:
okozachenko120323147262023-01-28 04:16:42 +11003666 properties:
3667 key:
okozachenko120323147262023-01-28 04:16:42 +11003668 type: string
3669 operator:
okozachenko120323147262023-01-28 04:16:42 +11003670 type: string
3671 values:
okozachenko120323147262023-01-28 04:16:42 +11003672 items:
3673 type: string
3674 type: array
3675 required:
3676 - key
3677 - operator
3678 type: object
3679 type: array
3680 matchLabels:
3681 additionalProperties:
3682 type: string
okozachenko120323147262023-01-28 04:16:42 +11003683 type: object
3684 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003685 x-kubernetes-map-type: atomic
3686 matchLabelKeys:
3687 items:
3688 type: string
3689 type: array
3690 x-kubernetes-list-type: atomic
3691 mismatchLabelKeys:
3692 items:
3693 type: string
3694 type: array
3695 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003696 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11003697 properties:
3698 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003699 items:
okozachenko120323147262023-01-28 04:16:42 +11003700 properties:
3701 key:
okozachenko120323147262023-01-28 04:16:42 +11003702 type: string
3703 operator:
okozachenko120323147262023-01-28 04:16:42 +11003704 type: string
3705 values:
okozachenko120323147262023-01-28 04:16:42 +11003706 items:
3707 type: string
3708 type: array
3709 required:
3710 - key
3711 - operator
3712 type: object
3713 type: array
3714 matchLabels:
3715 additionalProperties:
3716 type: string
okozachenko120323147262023-01-28 04:16:42 +11003717 type: object
3718 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003719 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003720 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11003721 items:
3722 type: string
3723 type: array
3724 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11003725 type: string
3726 required:
3727 - topologyKey
3728 type: object
3729 weight:
okozachenko120323147262023-01-28 04:16:42 +11003730 format: int32
3731 type: integer
3732 required:
3733 - podAffinityTerm
3734 - weight
3735 type: object
3736 type: array
3737 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11003738 items:
okozachenko120323147262023-01-28 04:16:42 +11003739 properties:
3740 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11003741 properties:
3742 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003743 items:
okozachenko120323147262023-01-28 04:16:42 +11003744 properties:
3745 key:
okozachenko120323147262023-01-28 04:16:42 +11003746 type: string
3747 operator:
okozachenko120323147262023-01-28 04:16:42 +11003748 type: string
3749 values:
okozachenko120323147262023-01-28 04:16:42 +11003750 items:
3751 type: string
3752 type: array
3753 required:
3754 - key
3755 - operator
3756 type: object
3757 type: array
3758 matchLabels:
3759 additionalProperties:
3760 type: string
okozachenko120323147262023-01-28 04:16:42 +11003761 type: object
3762 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003763 x-kubernetes-map-type: atomic
3764 matchLabelKeys:
3765 items:
3766 type: string
3767 type: array
3768 x-kubernetes-list-type: atomic
3769 mismatchLabelKeys:
3770 items:
3771 type: string
3772 type: array
3773 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003774 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11003775 properties:
3776 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003777 items:
okozachenko120323147262023-01-28 04:16:42 +11003778 properties:
3779 key:
okozachenko120323147262023-01-28 04:16:42 +11003780 type: string
3781 operator:
okozachenko120323147262023-01-28 04:16:42 +11003782 type: string
3783 values:
okozachenko120323147262023-01-28 04:16:42 +11003784 items:
3785 type: string
3786 type: array
3787 required:
3788 - key
3789 - operator
3790 type: object
3791 type: array
3792 matchLabels:
3793 additionalProperties:
3794 type: string
okozachenko120323147262023-01-28 04:16:42 +11003795 type: object
3796 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003797 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003798 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11003799 items:
3800 type: string
3801 type: array
3802 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11003803 type: string
3804 required:
3805 - topologyKey
3806 type: object
3807 type: array
3808 type: object
3809 podAntiAffinity:
okozachenko120323147262023-01-28 04:16:42 +11003810 properties:
3811 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11003812 items:
okozachenko120323147262023-01-28 04:16:42 +11003813 properties:
3814 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11003815 properties:
3816 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11003817 properties:
3818 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003819 items:
okozachenko120323147262023-01-28 04:16:42 +11003820 properties:
3821 key:
okozachenko120323147262023-01-28 04:16:42 +11003822 type: string
3823 operator:
okozachenko120323147262023-01-28 04:16:42 +11003824 type: string
3825 values:
okozachenko120323147262023-01-28 04:16:42 +11003826 items:
3827 type: string
3828 type: array
3829 required:
3830 - key
3831 - operator
3832 type: object
3833 type: array
3834 matchLabels:
3835 additionalProperties:
3836 type: string
okozachenko120323147262023-01-28 04:16:42 +11003837 type: object
3838 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003839 x-kubernetes-map-type: atomic
3840 matchLabelKeys:
3841 items:
3842 type: string
3843 type: array
3844 x-kubernetes-list-type: atomic
3845 mismatchLabelKeys:
3846 items:
3847 type: string
3848 type: array
3849 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003850 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11003851 properties:
3852 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003853 items:
okozachenko120323147262023-01-28 04:16:42 +11003854 properties:
3855 key:
okozachenko120323147262023-01-28 04:16:42 +11003856 type: string
3857 operator:
okozachenko120323147262023-01-28 04:16:42 +11003858 type: string
3859 values:
okozachenko120323147262023-01-28 04:16:42 +11003860 items:
3861 type: string
3862 type: array
3863 required:
3864 - key
3865 - operator
3866 type: object
3867 type: array
3868 matchLabels:
3869 additionalProperties:
3870 type: string
okozachenko120323147262023-01-28 04:16:42 +11003871 type: object
3872 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003873 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003874 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11003875 items:
3876 type: string
3877 type: array
3878 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11003879 type: string
3880 required:
3881 - topologyKey
3882 type: object
3883 weight:
okozachenko120323147262023-01-28 04:16:42 +11003884 format: int32
3885 type: integer
3886 required:
3887 - podAffinityTerm
3888 - weight
3889 type: object
3890 type: array
3891 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11003892 items:
okozachenko120323147262023-01-28 04:16:42 +11003893 properties:
3894 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11003895 properties:
3896 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003897 items:
okozachenko120323147262023-01-28 04:16:42 +11003898 properties:
3899 key:
okozachenko120323147262023-01-28 04:16:42 +11003900 type: string
3901 operator:
okozachenko120323147262023-01-28 04:16:42 +11003902 type: string
3903 values:
okozachenko120323147262023-01-28 04:16:42 +11003904 items:
3905 type: string
3906 type: array
3907 required:
3908 - key
3909 - operator
3910 type: object
3911 type: array
3912 matchLabels:
3913 additionalProperties:
3914 type: string
okozachenko120323147262023-01-28 04:16:42 +11003915 type: object
3916 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003917 x-kubernetes-map-type: atomic
3918 matchLabelKeys:
3919 items:
3920 type: string
3921 type: array
3922 x-kubernetes-list-type: atomic
3923 mismatchLabelKeys:
3924 items:
3925 type: string
3926 type: array
3927 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003928 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11003929 properties:
3930 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003931 items:
okozachenko120323147262023-01-28 04:16:42 +11003932 properties:
3933 key:
okozachenko120323147262023-01-28 04:16:42 +11003934 type: string
3935 operator:
okozachenko120323147262023-01-28 04:16:42 +11003936 type: string
3937 values:
okozachenko120323147262023-01-28 04:16:42 +11003938 items:
3939 type: string
3940 type: array
3941 required:
3942 - key
3943 - operator
3944 type: object
3945 type: array
3946 matchLabels:
3947 additionalProperties:
3948 type: string
okozachenko120323147262023-01-28 04:16:42 +11003949 type: object
3950 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04003951 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11003952 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11003953 items:
3954 type: string
3955 type: array
3956 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11003957 type: string
3958 required:
3959 - topologyKey
3960 type: object
3961 type: array
3962 type: object
3963 tolerations:
okozachenko120323147262023-01-28 04:16:42 +11003964 items:
okozachenko120323147262023-01-28 04:16:42 +11003965 properties:
3966 effect:
okozachenko120323147262023-01-28 04:16:42 +11003967 type: string
3968 key:
okozachenko120323147262023-01-28 04:16:42 +11003969 type: string
3970 operator:
okozachenko120323147262023-01-28 04:16:42 +11003971 type: string
3972 tolerationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11003973 format: int64
3974 type: integer
3975 value:
okozachenko120323147262023-01-28 04:16:42 +11003976 type: string
3977 type: object
3978 type: array
3979 topologySpreadConstraints:
okozachenko120323147262023-01-28 04:16:42 +11003980 items:
okozachenko120323147262023-01-28 04:16:42 +11003981 properties:
3982 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11003983 properties:
3984 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11003985 items:
okozachenko120323147262023-01-28 04:16:42 +11003986 properties:
3987 key:
okozachenko120323147262023-01-28 04:16:42 +11003988 type: string
3989 operator:
okozachenko120323147262023-01-28 04:16:42 +11003990 type: string
3991 values:
okozachenko120323147262023-01-28 04:16:42 +11003992 items:
3993 type: string
3994 type: array
3995 required:
3996 - key
3997 - operator
3998 type: object
3999 type: array
4000 matchLabels:
4001 additionalProperties:
4002 type: string
okozachenko120323147262023-01-28 04:16:42 +11004003 type: object
4004 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004005 x-kubernetes-map-type: atomic
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00004006 matchLabelKeys:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00004007 items:
4008 type: string
4009 type: array
4010 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004011 maxSkew:
okozachenko120323147262023-01-28 04:16:42 +11004012 format: int32
4013 type: integer
4014 minDomains:
okozachenko120323147262023-01-28 04:16:42 +11004015 format: int32
4016 type: integer
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00004017 nodeAffinityPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00004018 type: string
4019 nodeTaintsPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00004020 type: string
okozachenko120323147262023-01-28 04:16:42 +11004021 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11004022 type: string
4023 whenUnsatisfiable:
okozachenko120323147262023-01-28 04:16:42 +11004024 type: string
4025 required:
4026 - maxSkew
4027 - topologyKey
4028 - whenUnsatisfiable
4029 type: object
4030 type: array
4031 type: object
4032 x-kubernetes-preserve-unknown-fields: true
4033 portable:
4034 description: Portable represents OSD portability across the hosts
4035 type: boolean
4036 preparePlacement:
okozachenko120323147262023-01-28 04:16:42 +11004037 nullable: true
4038 properties:
4039 nodeAffinity:
okozachenko120323147262023-01-28 04:16:42 +11004040 properties:
4041 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11004042 items:
okozachenko120323147262023-01-28 04:16:42 +11004043 properties:
4044 preference:
okozachenko120323147262023-01-28 04:16:42 +11004045 properties:
4046 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004047 items:
okozachenko120323147262023-01-28 04:16:42 +11004048 properties:
4049 key:
okozachenko120323147262023-01-28 04:16:42 +11004050 type: string
4051 operator:
okozachenko120323147262023-01-28 04:16:42 +11004052 type: string
4053 values:
okozachenko120323147262023-01-28 04:16:42 +11004054 items:
4055 type: string
4056 type: array
4057 required:
4058 - key
4059 - operator
4060 type: object
4061 type: array
4062 matchFields:
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 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004079 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004080 weight:
okozachenko120323147262023-01-28 04:16:42 +11004081 format: int32
4082 type: integer
4083 required:
4084 - preference
4085 - weight
4086 type: object
4087 type: array
4088 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11004089 properties:
4090 nodeSelectorTerms:
okozachenko120323147262023-01-28 04:16:42 +11004091 items:
okozachenko120323147262023-01-28 04:16:42 +11004092 properties:
4093 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004094 items:
okozachenko120323147262023-01-28 04:16:42 +11004095 properties:
4096 key:
okozachenko120323147262023-01-28 04:16:42 +11004097 type: string
4098 operator:
okozachenko120323147262023-01-28 04:16:42 +11004099 type: string
4100 values:
okozachenko120323147262023-01-28 04:16:42 +11004101 items:
4102 type: string
4103 type: array
4104 required:
4105 - key
4106 - operator
4107 type: object
4108 type: array
4109 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11004110 items:
okozachenko120323147262023-01-28 04:16:42 +11004111 properties:
4112 key:
okozachenko120323147262023-01-28 04:16:42 +11004113 type: string
4114 operator:
okozachenko120323147262023-01-28 04:16:42 +11004115 type: string
4116 values:
okozachenko120323147262023-01-28 04:16:42 +11004117 items:
4118 type: string
4119 type: array
4120 required:
4121 - key
4122 - operator
4123 type: object
4124 type: array
4125 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004126 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004127 type: array
4128 required:
4129 - nodeSelectorTerms
4130 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004131 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004132 type: object
4133 podAffinity:
okozachenko120323147262023-01-28 04:16:42 +11004134 properties:
4135 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11004136 items:
okozachenko120323147262023-01-28 04:16:42 +11004137 properties:
4138 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11004139 properties:
4140 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11004141 properties:
4142 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004143 items:
okozachenko120323147262023-01-28 04:16:42 +11004144 properties:
4145 key:
okozachenko120323147262023-01-28 04:16:42 +11004146 type: string
4147 operator:
okozachenko120323147262023-01-28 04:16:42 +11004148 type: string
4149 values:
okozachenko120323147262023-01-28 04:16:42 +11004150 items:
4151 type: string
4152 type: array
4153 required:
4154 - key
4155 - operator
4156 type: object
4157 type: array
4158 matchLabels:
4159 additionalProperties:
4160 type: string
okozachenko120323147262023-01-28 04:16:42 +11004161 type: object
4162 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004163 x-kubernetes-map-type: atomic
4164 matchLabelKeys:
4165 items:
4166 type: string
4167 type: array
4168 x-kubernetes-list-type: atomic
4169 mismatchLabelKeys:
4170 items:
4171 type: string
4172 type: array
4173 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004174 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11004175 properties:
4176 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004177 items:
okozachenko120323147262023-01-28 04:16:42 +11004178 properties:
4179 key:
okozachenko120323147262023-01-28 04:16:42 +11004180 type: string
4181 operator:
okozachenko120323147262023-01-28 04:16:42 +11004182 type: string
4183 values:
okozachenko120323147262023-01-28 04:16:42 +11004184 items:
4185 type: string
4186 type: array
4187 required:
4188 - key
4189 - operator
4190 type: object
4191 type: array
4192 matchLabels:
4193 additionalProperties:
4194 type: string
okozachenko120323147262023-01-28 04:16:42 +11004195 type: object
4196 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004197 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004198 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11004199 items:
4200 type: string
4201 type: array
4202 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11004203 type: string
4204 required:
4205 - topologyKey
4206 type: object
4207 weight:
okozachenko120323147262023-01-28 04:16:42 +11004208 format: int32
4209 type: integer
4210 required:
4211 - podAffinityTerm
4212 - weight
4213 type: object
4214 type: array
4215 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11004216 items:
okozachenko120323147262023-01-28 04:16:42 +11004217 properties:
4218 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11004219 properties:
4220 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004221 items:
okozachenko120323147262023-01-28 04:16:42 +11004222 properties:
4223 key:
okozachenko120323147262023-01-28 04:16:42 +11004224 type: string
4225 operator:
okozachenko120323147262023-01-28 04:16:42 +11004226 type: string
4227 values:
okozachenko120323147262023-01-28 04:16:42 +11004228 items:
4229 type: string
4230 type: array
4231 required:
4232 - key
4233 - operator
4234 type: object
4235 type: array
4236 matchLabels:
4237 additionalProperties:
4238 type: string
okozachenko120323147262023-01-28 04:16:42 +11004239 type: object
4240 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004241 x-kubernetes-map-type: atomic
4242 matchLabelKeys:
4243 items:
4244 type: string
4245 type: array
4246 x-kubernetes-list-type: atomic
4247 mismatchLabelKeys:
4248 items:
4249 type: string
4250 type: array
4251 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004252 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11004253 properties:
4254 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004255 items:
okozachenko120323147262023-01-28 04:16:42 +11004256 properties:
4257 key:
okozachenko120323147262023-01-28 04:16:42 +11004258 type: string
4259 operator:
okozachenko120323147262023-01-28 04:16:42 +11004260 type: string
4261 values:
okozachenko120323147262023-01-28 04:16:42 +11004262 items:
4263 type: string
4264 type: array
4265 required:
4266 - key
4267 - operator
4268 type: object
4269 type: array
4270 matchLabels:
4271 additionalProperties:
4272 type: string
okozachenko120323147262023-01-28 04:16:42 +11004273 type: object
4274 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004275 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004276 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11004277 items:
4278 type: string
4279 type: array
4280 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11004281 type: string
4282 required:
4283 - topologyKey
4284 type: object
4285 type: array
4286 type: object
4287 podAntiAffinity:
okozachenko120323147262023-01-28 04:16:42 +11004288 properties:
4289 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11004290 items:
okozachenko120323147262023-01-28 04:16:42 +11004291 properties:
4292 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11004293 properties:
4294 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11004295 properties:
4296 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004297 items:
okozachenko120323147262023-01-28 04:16:42 +11004298 properties:
4299 key:
okozachenko120323147262023-01-28 04:16:42 +11004300 type: string
4301 operator:
okozachenko120323147262023-01-28 04:16:42 +11004302 type: string
4303 values:
okozachenko120323147262023-01-28 04:16:42 +11004304 items:
4305 type: string
4306 type: array
4307 required:
4308 - key
4309 - operator
4310 type: object
4311 type: array
4312 matchLabels:
4313 additionalProperties:
4314 type: string
okozachenko120323147262023-01-28 04:16:42 +11004315 type: object
4316 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004317 x-kubernetes-map-type: atomic
4318 matchLabelKeys:
4319 items:
4320 type: string
4321 type: array
4322 x-kubernetes-list-type: atomic
4323 mismatchLabelKeys:
4324 items:
4325 type: string
4326 type: array
4327 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004328 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11004329 properties:
4330 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004331 items:
okozachenko120323147262023-01-28 04:16:42 +11004332 properties:
4333 key:
okozachenko120323147262023-01-28 04:16:42 +11004334 type: string
4335 operator:
okozachenko120323147262023-01-28 04:16:42 +11004336 type: string
4337 values:
okozachenko120323147262023-01-28 04:16:42 +11004338 items:
4339 type: string
4340 type: array
4341 required:
4342 - key
4343 - operator
4344 type: object
4345 type: array
4346 matchLabels:
4347 additionalProperties:
4348 type: string
okozachenko120323147262023-01-28 04:16:42 +11004349 type: object
4350 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004351 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004352 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11004353 items:
4354 type: string
4355 type: array
4356 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11004357 type: string
4358 required:
4359 - topologyKey
4360 type: object
4361 weight:
okozachenko120323147262023-01-28 04:16:42 +11004362 format: int32
4363 type: integer
4364 required:
4365 - podAffinityTerm
4366 - weight
4367 type: object
4368 type: array
4369 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11004370 items:
okozachenko120323147262023-01-28 04:16:42 +11004371 properties:
4372 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11004373 properties:
4374 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004375 items:
okozachenko120323147262023-01-28 04:16:42 +11004376 properties:
4377 key:
okozachenko120323147262023-01-28 04:16:42 +11004378 type: string
4379 operator:
okozachenko120323147262023-01-28 04:16:42 +11004380 type: string
4381 values:
okozachenko120323147262023-01-28 04:16:42 +11004382 items:
4383 type: string
4384 type: array
4385 required:
4386 - key
4387 - operator
4388 type: object
4389 type: array
4390 matchLabels:
4391 additionalProperties:
4392 type: string
okozachenko120323147262023-01-28 04:16:42 +11004393 type: object
4394 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004395 x-kubernetes-map-type: atomic
4396 matchLabelKeys:
4397 items:
4398 type: string
4399 type: array
4400 x-kubernetes-list-type: atomic
4401 mismatchLabelKeys:
4402 items:
4403 type: string
4404 type: array
4405 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004406 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11004407 properties:
4408 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004409 items:
okozachenko120323147262023-01-28 04:16:42 +11004410 properties:
4411 key:
okozachenko120323147262023-01-28 04:16:42 +11004412 type: string
4413 operator:
okozachenko120323147262023-01-28 04:16:42 +11004414 type: string
4415 values:
okozachenko120323147262023-01-28 04:16:42 +11004416 items:
4417 type: string
4418 type: array
4419 required:
4420 - key
4421 - operator
4422 type: object
4423 type: array
4424 matchLabels:
4425 additionalProperties:
4426 type: string
okozachenko120323147262023-01-28 04:16:42 +11004427 type: object
4428 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004429 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004430 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11004431 items:
4432 type: string
4433 type: array
4434 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11004435 type: string
4436 required:
4437 - topologyKey
4438 type: object
4439 type: array
4440 type: object
4441 tolerations:
okozachenko120323147262023-01-28 04:16:42 +11004442 items:
okozachenko120323147262023-01-28 04:16:42 +11004443 properties:
4444 effect:
okozachenko120323147262023-01-28 04:16:42 +11004445 type: string
4446 key:
okozachenko120323147262023-01-28 04:16:42 +11004447 type: string
4448 operator:
okozachenko120323147262023-01-28 04:16:42 +11004449 type: string
4450 tolerationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11004451 format: int64
4452 type: integer
4453 value:
okozachenko120323147262023-01-28 04:16:42 +11004454 type: string
4455 type: object
4456 type: array
4457 topologySpreadConstraints:
okozachenko120323147262023-01-28 04:16:42 +11004458 items:
okozachenko120323147262023-01-28 04:16:42 +11004459 properties:
4460 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11004461 properties:
4462 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11004463 items:
okozachenko120323147262023-01-28 04:16:42 +11004464 properties:
4465 key:
okozachenko120323147262023-01-28 04:16:42 +11004466 type: string
4467 operator:
okozachenko120323147262023-01-28 04:16:42 +11004468 type: string
4469 values:
okozachenko120323147262023-01-28 04:16:42 +11004470 items:
4471 type: string
4472 type: array
4473 required:
4474 - key
4475 - operator
4476 type: object
4477 type: array
4478 matchLabels:
4479 additionalProperties:
4480 type: string
okozachenko120323147262023-01-28 04:16:42 +11004481 type: object
4482 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004483 x-kubernetes-map-type: atomic
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00004484 matchLabelKeys:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00004485 items:
4486 type: string
4487 type: array
4488 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004489 maxSkew:
okozachenko120323147262023-01-28 04:16:42 +11004490 format: int32
4491 type: integer
4492 minDomains:
okozachenko120323147262023-01-28 04:16:42 +11004493 format: int32
4494 type: integer
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00004495 nodeAffinityPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00004496 type: string
4497 nodeTaintsPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00004498 type: string
okozachenko120323147262023-01-28 04:16:42 +11004499 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11004500 type: string
4501 whenUnsatisfiable:
okozachenko120323147262023-01-28 04:16:42 +11004502 type: string
4503 required:
4504 - maxSkew
4505 - topologyKey
4506 - whenUnsatisfiable
4507 type: object
4508 type: array
4509 type: object
4510 x-kubernetes-preserve-unknown-fields: true
4511 resources:
4512 description: ResourceRequirements describes the compute resource requirements.
4513 nullable: true
4514 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04004515 claims:
4516 description: |-
4517 Claims lists the names of resources, defined in spec.resourceClaims,
4518 that are used by this container.
4519
4520
4521 This is an alpha field and requires enabling the
4522 DynamicResourceAllocation feature gate.
4523
4524
4525 This field is immutable. It can only be set for containers.
4526 items:
4527 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
4528 properties:
4529 name:
4530 description: |-
4531 Name must match the name of one entry in pod.spec.resourceClaims of
4532 the Pod where this field is used. It makes that resource available
4533 inside a container.
4534 type: string
4535 required:
4536 - name
4537 type: object
4538 type: array
4539 x-kubernetes-list-map-keys:
4540 - name
4541 x-kubernetes-list-type: map
okozachenko120323147262023-01-28 04:16:42 +11004542 limits:
4543 additionalProperties:
4544 anyOf:
4545 - type: integer
4546 - type: string
4547 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
4548 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04004549 description: |-
4550 Limits describes the maximum amount of compute resources allowed.
4551 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11004552 type: object
4553 requests:
4554 additionalProperties:
4555 anyOf:
4556 - type: integer
4557 - type: string
4558 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
4559 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04004560 description: |-
4561 Requests describes the minimum amount of compute resources required.
4562 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
4563 otherwise to an implementation-defined value. Requests cannot exceed Limits.
4564 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11004565 type: object
4566 type: object
4567 x-kubernetes-preserve-unknown-fields: true
4568 schedulerName:
4569 description: Scheduler name for OSD pod placement
4570 type: string
4571 tuneDeviceClass:
4572 description: TuneSlowDeviceClass Tune the OSD when running on a slow Device Class
4573 type: boolean
4574 tuneFastDeviceClass:
4575 description: TuneFastDeviceClass Tune the OSD when running on a fast Device Class
4576 type: boolean
4577 volumeClaimTemplates:
4578 description: VolumeClaimTemplates is a list of PVC templates for the underlying storage devices
4579 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04004580 description: VolumeClaimTemplate is a simplified version of K8s corev1's PVC. It has no type meta or status.
okozachenko120323147262023-01-28 04:16:42 +11004581 properties:
okozachenko120323147262023-01-28 04:16:42 +11004582 metadata:
Mohammed Naser65cda132024-05-02 14:34:08 -04004583 description: |-
4584 Standard object's metadata.
4585 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
okozachenko120323147262023-01-28 04:16:42 +11004586 properties:
4587 annotations:
4588 additionalProperties:
4589 type: string
4590 type: object
4591 x-kubernetes-preserve-unknown-fields: true
4592 finalizers:
4593 items:
4594 type: string
4595 type: array
4596 labels:
4597 additionalProperties:
4598 type: string
4599 type: object
4600 name:
4601 type: string
4602 namespace:
4603 type: string
4604 type: object
4605 spec:
Mohammed Naser65cda132024-05-02 14:34:08 -04004606 description: |-
4607 spec defines the desired characteristics of a volume requested by a pod author.
4608 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
okozachenko120323147262023-01-28 04:16:42 +11004609 properties:
4610 accessModes:
Mohammed Naser65cda132024-05-02 14:34:08 -04004611 description: |-
4612 accessModes contains the desired access modes the volume should have.
4613 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
okozachenko120323147262023-01-28 04:16:42 +11004614 items:
4615 type: string
4616 type: array
4617 dataSource:
Mohammed Naser65cda132024-05-02 14:34:08 -04004618 description: |-
4619 dataSource field can be used to specify either:
4620 * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
4621 * An existing PVC (PersistentVolumeClaim)
4622 If the provisioner or an external controller can support the specified data source,
4623 it will create a new volume based on the contents of the specified data source.
4624 When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
4625 and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
4626 If the namespace is specified, then dataSourceRef will not be copied to dataSource.
okozachenko120323147262023-01-28 04:16:42 +11004627 properties:
4628 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04004629 description: |-
4630 APIGroup is the group for the resource being referenced.
4631 If APIGroup is not specified, the specified Kind must be in the core API group.
4632 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11004633 type: string
4634 kind:
4635 description: Kind is the type of resource being referenced
4636 type: string
4637 name:
4638 description: Name is the name of resource being referenced
4639 type: string
4640 required:
4641 - kind
4642 - name
4643 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004644 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004645 dataSourceRef:
Mohammed Naser65cda132024-05-02 14:34:08 -04004646 description: |-
4647 dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
4648 volume is desired. This may be any object from a non-empty API group (non
4649 core object) or a PersistentVolumeClaim object.
4650 When this field is specified, volume binding will only succeed if the type of
4651 the specified object matches some installed volume populator or dynamic
4652 provisioner.
4653 This field will replace the functionality of the dataSource field and as such
4654 if both fields are non-empty, they must have the same value. For backwards
4655 compatibility, when namespace isn't specified in dataSourceRef,
4656 both fields (dataSource and dataSourceRef) will be set to the same
4657 value automatically if one of them is empty and the other is non-empty.
4658 When namespace is specified in dataSourceRef,
4659 dataSource isn't set to the same value and must be empty.
4660 There are three important differences between dataSource and dataSourceRef:
4661 * While dataSource only allows two specific types of objects, dataSourceRef
4662 allows any non-core object, as well as PersistentVolumeClaim objects.
4663 * While dataSource ignores disallowed values (dropping them), dataSourceRef
4664 preserves all values, and generates an error if a disallowed value is
4665 specified.
4666 * While dataSource only allows local objects, dataSourceRef allows objects
4667 in any namespaces.
4668 (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
4669 (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11004670 properties:
4671 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04004672 description: |-
4673 APIGroup is the group for the resource being referenced.
4674 If APIGroup is not specified, the specified Kind must be in the core API group.
4675 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11004676 type: string
4677 kind:
4678 description: Kind is the type of resource being referenced
4679 type: string
4680 name:
4681 description: Name is the name of resource being referenced
4682 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04004683 namespace:
4684 description: |-
4685 Namespace is the namespace of resource being referenced
4686 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.
4687 (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
4688 type: string
okozachenko120323147262023-01-28 04:16:42 +11004689 required:
4690 - kind
4691 - name
4692 type: object
4693 resources:
Mohammed Naser65cda132024-05-02 14:34:08 -04004694 description: |-
4695 resources represents the minimum resources the volume should have.
4696 If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
4697 that are lower than previous value but must still be higher than capacity recorded in the
4698 status field of the claim.
4699 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
okozachenko120323147262023-01-28 04:16:42 +11004700 properties:
4701 limits:
4702 additionalProperties:
4703 anyOf:
4704 - type: integer
4705 - type: string
4706 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
4707 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04004708 description: |-
4709 Limits describes the maximum amount of compute resources allowed.
4710 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11004711 type: object
4712 requests:
4713 additionalProperties:
4714 anyOf:
4715 - type: integer
4716 - type: string
4717 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
4718 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04004719 description: |-
4720 Requests describes the minimum amount of compute resources required.
4721 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
4722 otherwise to an implementation-defined value. Requests cannot exceed Limits.
4723 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11004724 type: object
4725 type: object
4726 selector:
4727 description: selector is a label query over volumes to consider for binding.
4728 properties:
4729 matchExpressions:
4730 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4731 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04004732 description: |-
4733 A label selector requirement is a selector that contains values, a key, and an operator that
4734 relates the key and values.
okozachenko120323147262023-01-28 04:16:42 +11004735 properties:
4736 key:
4737 description: key is the label key that the selector applies to.
4738 type: string
4739 operator:
Mohammed Naser65cda132024-05-02 14:34:08 -04004740 description: |-
4741 operator represents a key's relationship to a set of values.
4742 Valid operators are In, NotIn, Exists and DoesNotExist.
okozachenko120323147262023-01-28 04:16:42 +11004743 type: string
4744 values:
Mohammed Naser65cda132024-05-02 14:34:08 -04004745 description: |-
4746 values is an array of string values. If the operator is In or NotIn,
4747 the values array must be non-empty. If the operator is Exists or DoesNotExist,
4748 the values array must be empty. This array is replaced during a strategic
4749 merge patch.
okozachenko120323147262023-01-28 04:16:42 +11004750 items:
4751 type: string
4752 type: array
4753 required:
4754 - key
4755 - operator
4756 type: object
4757 type: array
4758 matchLabels:
4759 additionalProperties:
4760 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04004761 description: |-
4762 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
4763 map is equivalent to an element of matchExpressions, whose key field is "key", the
4764 operator is "In", and the values array contains only "value". The requirements are ANDed.
okozachenko120323147262023-01-28 04:16:42 +11004765 type: object
4766 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004767 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004768 storageClassName:
Mohammed Naser65cda132024-05-02 14:34:08 -04004769 description: |-
4770 storageClassName is the name of the StorageClass required by the claim.
4771 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
4772 type: string
4773 volumeAttributesClassName:
4774 description: |-
4775 volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
4776 If specified, the CSI driver will create or update the volume with the attributes defined
4777 in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
4778 it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
4779 will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
4780 If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
4781 will be set by the persistentvolume controller if it exists.
4782 If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
4783 set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
4784 exists.
4785 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
4786 (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11004787 type: string
4788 volumeMode:
Mohammed Naser65cda132024-05-02 14:34:08 -04004789 description: |-
4790 volumeMode defines what type of volume is required by the claim.
4791 Value of Filesystem is implied when not included in claim spec.
okozachenko120323147262023-01-28 04:16:42 +11004792 type: string
4793 volumeName:
4794 description: volumeName is the binding reference to the PersistentVolume backing this claim.
4795 type: string
4796 type: object
okozachenko120323147262023-01-28 04:16:42 +11004797 type: object
4798 type: array
4799 required:
4800 - count
4801 - name
4802 - volumeClaimTemplates
4803 type: object
4804 nullable: true
4805 type: array
Mohammed Naser65cda132024-05-02 14:34:08 -04004806 store:
4807 description: OSDStore is the backend storage type used for creating the OSDs
4808 properties:
4809 type:
4810 description: Type of backend storage to be used while creating OSDs. If empty, then bluestore will be used
4811 enum:
4812 - bluestore
4813 - bluestore-rdr
4814 type: string
4815 updateStore:
4816 description: |-
4817 UpdateStore updates the backend store for existing OSDs. It destroys each OSD one at a time, cleans up the backing disk
4818 and prepares same OSD on that disk
4819 pattern: ^$|^yes-really-update-store$
4820 type: string
4821 type: object
okozachenko120323147262023-01-28 04:16:42 +11004822 useAllDevices:
4823 description: Whether to consume all the storage devices found on a machine
4824 type: boolean
4825 useAllNodes:
4826 type: boolean
4827 volumeClaimTemplates:
4828 description: PersistentVolumeClaims to use as storage
4829 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04004830 description: VolumeClaimTemplate is a simplified version of K8s corev1's PVC. It has no type meta or status.
okozachenko120323147262023-01-28 04:16:42 +11004831 properties:
okozachenko120323147262023-01-28 04:16:42 +11004832 metadata:
Mohammed Naser65cda132024-05-02 14:34:08 -04004833 description: |-
4834 Standard object's metadata.
4835 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
okozachenko120323147262023-01-28 04:16:42 +11004836 properties:
4837 annotations:
4838 additionalProperties:
4839 type: string
4840 type: object
4841 finalizers:
4842 items:
4843 type: string
4844 type: array
4845 labels:
4846 additionalProperties:
4847 type: string
4848 type: object
4849 name:
4850 type: string
4851 namespace:
4852 type: string
4853 type: object
4854 spec:
Mohammed Naser65cda132024-05-02 14:34:08 -04004855 description: |-
4856 spec defines the desired characteristics of a volume requested by a pod author.
4857 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
okozachenko120323147262023-01-28 04:16:42 +11004858 properties:
4859 accessModes:
Mohammed Naser65cda132024-05-02 14:34:08 -04004860 description: |-
4861 accessModes contains the desired access modes the volume should have.
4862 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
okozachenko120323147262023-01-28 04:16:42 +11004863 items:
4864 type: string
4865 type: array
4866 dataSource:
Mohammed Naser65cda132024-05-02 14:34:08 -04004867 description: |-
4868 dataSource field can be used to specify either:
4869 * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
4870 * An existing PVC (PersistentVolumeClaim)
4871 If the provisioner or an external controller can support the specified data source,
4872 it will create a new volume based on the contents of the specified data source.
4873 When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
4874 and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
4875 If the namespace is specified, then dataSourceRef will not be copied to dataSource.
okozachenko120323147262023-01-28 04:16:42 +11004876 properties:
4877 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04004878 description: |-
4879 APIGroup is the group for the resource being referenced.
4880 If APIGroup is not specified, the specified Kind must be in the core API group.
4881 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11004882 type: string
4883 kind:
4884 description: Kind is the type of resource being referenced
4885 type: string
4886 name:
4887 description: Name is the name of resource being referenced
4888 type: string
4889 required:
4890 - kind
4891 - name
4892 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04004893 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11004894 dataSourceRef:
Mohammed Naser65cda132024-05-02 14:34:08 -04004895 description: |-
4896 dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
4897 volume is desired. This may be any object from a non-empty API group (non
4898 core object) or a PersistentVolumeClaim object.
4899 When this field is specified, volume binding will only succeed if the type of
4900 the specified object matches some installed volume populator or dynamic
4901 provisioner.
4902 This field will replace the functionality of the dataSource field and as such
4903 if both fields are non-empty, they must have the same value. For backwards
4904 compatibility, when namespace isn't specified in dataSourceRef,
4905 both fields (dataSource and dataSourceRef) will be set to the same
4906 value automatically if one of them is empty and the other is non-empty.
4907 When namespace is specified in dataSourceRef,
4908 dataSource isn't set to the same value and must be empty.
4909 There are three important differences between dataSource and dataSourceRef:
4910 * While dataSource only allows two specific types of objects, dataSourceRef
4911 allows any non-core object, as well as PersistentVolumeClaim objects.
4912 * While dataSource ignores disallowed values (dropping them), dataSourceRef
4913 preserves all values, and generates an error if a disallowed value is
4914 specified.
4915 * While dataSource only allows local objects, dataSourceRef allows objects
4916 in any namespaces.
4917 (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
4918 (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11004919 properties:
4920 apiGroup:
Mohammed Naser65cda132024-05-02 14:34:08 -04004921 description: |-
4922 APIGroup is the group for the resource being referenced.
4923 If APIGroup is not specified, the specified Kind must be in the core API group.
4924 For any other third-party types, APIGroup is required.
okozachenko120323147262023-01-28 04:16:42 +11004925 type: string
4926 kind:
4927 description: Kind is the type of resource being referenced
4928 type: string
4929 name:
4930 description: Name is the name of resource being referenced
4931 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04004932 namespace:
4933 description: |-
4934 Namespace is the namespace of resource being referenced
4935 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.
4936 (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
4937 type: string
okozachenko120323147262023-01-28 04:16:42 +11004938 required:
4939 - kind
4940 - name
4941 type: object
4942 resources:
Mohammed Naser65cda132024-05-02 14:34:08 -04004943 description: |-
4944 resources represents the minimum resources the volume should have.
4945 If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
4946 that are lower than previous value but must still be higher than capacity recorded in the
4947 status field of the claim.
4948 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
okozachenko120323147262023-01-28 04:16:42 +11004949 properties:
4950 limits:
4951 additionalProperties:
4952 anyOf:
4953 - type: integer
4954 - type: string
4955 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
4956 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04004957 description: |-
4958 Limits describes the maximum amount of compute resources allowed.
4959 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11004960 type: object
4961 requests:
4962 additionalProperties:
4963 anyOf:
4964 - type: integer
4965 - type: string
4966 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
4967 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04004968 description: |-
4969 Requests describes the minimum amount of compute resources required.
4970 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
4971 otherwise to an implementation-defined value. Requests cannot exceed Limits.
4972 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11004973 type: object
4974 type: object
4975 selector:
4976 description: selector is a label query over volumes to consider for binding.
4977 properties:
4978 matchExpressions:
4979 description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
4980 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04004981 description: |-
4982 A label selector requirement is a selector that contains values, a key, and an operator that
4983 relates the key and values.
okozachenko120323147262023-01-28 04:16:42 +11004984 properties:
4985 key:
4986 description: key is the label key that the selector applies to.
4987 type: string
4988 operator:
Mohammed Naser65cda132024-05-02 14:34:08 -04004989 description: |-
4990 operator represents a key's relationship to a set of values.
4991 Valid operators are In, NotIn, Exists and DoesNotExist.
okozachenko120323147262023-01-28 04:16:42 +11004992 type: string
4993 values:
Mohammed Naser65cda132024-05-02 14:34:08 -04004994 description: |-
4995 values is an array of string values. If the operator is In or NotIn,
4996 the values array must be non-empty. If the operator is Exists or DoesNotExist,
4997 the values array must be empty. This array is replaced during a strategic
4998 merge patch.
okozachenko120323147262023-01-28 04:16:42 +11004999 items:
5000 type: string
5001 type: array
5002 required:
5003 - key
5004 - operator
5005 type: object
5006 type: array
5007 matchLabels:
5008 additionalProperties:
5009 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04005010 description: |-
5011 matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
5012 map is equivalent to an element of matchExpressions, whose key field is "key", the
5013 operator is "In", and the values array contains only "value". The requirements are ANDed.
okozachenko120323147262023-01-28 04:16:42 +11005014 type: object
5015 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04005016 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11005017 storageClassName:
Mohammed Naser65cda132024-05-02 14:34:08 -04005018 description: |-
5019 storageClassName is the name of the StorageClass required by the claim.
5020 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
5021 type: string
5022 volumeAttributesClassName:
5023 description: |-
5024 volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
5025 If specified, the CSI driver will create or update the volume with the attributes defined
5026 in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
5027 it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
5028 will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
5029 If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
5030 will be set by the persistentvolume controller if it exists.
5031 If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
5032 set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
5033 exists.
5034 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass
5035 (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
okozachenko120323147262023-01-28 04:16:42 +11005036 type: string
5037 volumeMode:
Mohammed Naser65cda132024-05-02 14:34:08 -04005038 description: |-
5039 volumeMode defines what type of volume is required by the claim.
5040 Value of Filesystem is implied when not included in claim spec.
okozachenko120323147262023-01-28 04:16:42 +11005041 type: string
5042 volumeName:
5043 description: volumeName is the binding reference to the PersistentVolume backing this claim.
5044 type: string
5045 type: object
okozachenko120323147262023-01-28 04:16:42 +11005046 type: object
5047 type: array
5048 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04005049 upgradeOSDRequiresHealthyPGs:
5050 description: |-
5051 UpgradeOSDRequiresHealthyPGs defines if OSD upgrade requires PGs are clean. If set to `true` OSD upgrade process won't start until PGs are healthy.
5052 This configuration will be ignored if `skipUpgradeChecks` is `true`.
5053 Default is false.
5054 type: boolean
okozachenko120323147262023-01-28 04:16:42 +11005055 waitTimeoutForHealthyOSDInMinutes:
Mohammed Naser65cda132024-05-02 14:34:08 -04005056 description: |-
5057 WaitTimeoutForHealthyOSDInMinutes defines the time the operator would wait before an OSD can be stopped for upgrade or restart.
5058 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
5059 if `continueUpgradeAfterChecksEvenIfNotHealthy` is `false`. If `continueUpgradeAfterChecksEvenIfNotHealthy` is `true`, then operator would
5060 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`.
5061 The default wait timeout is 10 minutes.
okozachenko120323147262023-01-28 04:16:42 +11005062 format: int64
5063 type: integer
5064 type: object
5065 status:
5066 description: ClusterStatus represents the status of a Ceph cluster
5067 nullable: true
5068 properties:
5069 ceph:
5070 description: CephStatus is the details health of a Ceph Cluster
5071 properties:
5072 capacity:
5073 description: Capacity is the capacity information of a Ceph Cluster
5074 properties:
5075 bytesAvailable:
5076 format: int64
5077 type: integer
5078 bytesTotal:
5079 format: int64
5080 type: integer
5081 bytesUsed:
5082 format: int64
5083 type: integer
5084 lastUpdated:
5085 type: string
5086 type: object
5087 details:
5088 additionalProperties:
5089 description: CephHealthMessage represents the health message of a Ceph Cluster
5090 properties:
5091 message:
5092 type: string
5093 severity:
5094 type: string
5095 required:
5096 - message
5097 - severity
5098 type: object
5099 type: object
5100 fsid:
5101 type: string
5102 health:
5103 type: string
5104 lastChanged:
5105 type: string
5106 lastChecked:
5107 type: string
5108 previousHealth:
5109 type: string
5110 versions:
5111 description: CephDaemonsVersions show the current ceph version for different ceph daemons
5112 properties:
5113 cephfs-mirror:
5114 additionalProperties:
5115 type: integer
5116 description: CephFSMirror shows CephFSMirror Ceph version
5117 type: object
5118 mds:
5119 additionalProperties:
5120 type: integer
5121 description: Mds shows Mds Ceph version
5122 type: object
5123 mgr:
5124 additionalProperties:
5125 type: integer
5126 description: Mgr shows Mgr Ceph version
5127 type: object
5128 mon:
5129 additionalProperties:
5130 type: integer
5131 description: Mon shows Mon Ceph version
5132 type: object
5133 osd:
5134 additionalProperties:
5135 type: integer
5136 description: Osd shows Osd Ceph version
5137 type: object
5138 overall:
5139 additionalProperties:
5140 type: integer
5141 description: Overall shows overall Ceph version
5142 type: object
5143 rbd-mirror:
5144 additionalProperties:
5145 type: integer
5146 description: RbdMirror shows RbdMirror Ceph version
5147 type: object
5148 rgw:
5149 additionalProperties:
5150 type: integer
5151 description: Rgw shows Rgw Ceph version
5152 type: object
5153 type: object
5154 type: object
5155 conditions:
5156 items:
5157 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
5158 properties:
5159 lastHeartbeatTime:
5160 format: date-time
5161 type: string
5162 lastTransitionTime:
5163 format: date-time
5164 type: string
5165 message:
5166 type: string
5167 reason:
5168 description: ConditionReason is a reason for a condition
5169 type: string
5170 status:
5171 type: string
5172 type:
5173 description: ConditionType represent a resource's status
5174 type: string
5175 type: object
5176 type: array
5177 message:
5178 type: string
5179 observedGeneration:
5180 description: ObservedGeneration is the latest generation observed by the controller.
5181 format: int64
5182 type: integer
5183 phase:
5184 description: ConditionType represent a resource's status
5185 type: string
5186 state:
5187 description: ClusterState represents the state of a Ceph Cluster
5188 type: string
5189 storage:
5190 description: CephStorage represents flavors of Ceph Cluster Storage
5191 properties:
Mohammed Naser7d1623e2024-06-17 09:12:39 -04005192 deprecatedOSDs:
5193 additionalProperties:
5194 items:
5195 type: integer
5196 type: array
5197 type: object
okozachenko120323147262023-01-28 04:16:42 +11005198 deviceClasses:
5199 items:
5200 description: DeviceClasses represents device classes of a Ceph Cluster
5201 properties:
5202 name:
5203 type: string
5204 type: object
5205 type: array
Mohammed Naser65cda132024-05-02 14:34:08 -04005206 osd:
5207 description: OSDStatus represents OSD status of the ceph Cluster
5208 properties:
5209 storeType:
5210 additionalProperties:
5211 type: integer
5212 description: StoreType is a mapping between the OSD backend stores and number of OSDs using these stores
5213 type: object
5214 type: object
okozachenko120323147262023-01-28 04:16:42 +11005215 type: object
5216 version:
5217 description: ClusterVersion represents the version of a Ceph Cluster
5218 properties:
5219 image:
5220 type: string
5221 version:
5222 type: string
5223 type: object
5224 type: object
5225 x-kubernetes-preserve-unknown-fields: true
5226 required:
5227 - metadata
5228 - spec
5229 type: object
5230 served: true
5231 storage: true
5232 subresources:
5233 status: {}
okozachenko120323147262023-01-28 04:16:42 +11005234---
5235apiVersion: apiextensions.k8s.io/v1
5236kind: CustomResourceDefinition
5237metadata:
5238 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -04005239 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +11005240 helm.sh/resource-policy: keep
Mohammed Naser65cda132024-05-02 14:34:08 -04005241 name: cephcosidrivers.ceph.rook.io
5242spec:
5243 group: ceph.rook.io
5244 names:
5245 kind: CephCOSIDriver
5246 listKind: CephCOSIDriverList
5247 plural: cephcosidrivers
5248 shortNames:
5249 - cephcosi
5250 singular: cephcosidriver
5251 scope: Namespaced
5252 versions:
5253 - name: v1
5254 schema:
5255 openAPIV3Schema:
5256 description: CephCOSIDriver represents the CRD for the Ceph COSI Driver Deployment
5257 properties:
5258 apiVersion:
5259 description: |-
5260 APIVersion defines the versioned schema of this representation of an object.
5261 Servers should convert recognized schemas to the latest internal value, and
5262 may reject unrecognized values.
5263 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
5264 type: string
5265 kind:
5266 description: |-
5267 Kind is a string value representing the REST resource this object represents.
5268 Servers may infer this from the endpoint the client submits requests to.
5269 Cannot be updated.
5270 In CamelCase.
5271 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
5272 type: string
5273 metadata:
5274 type: object
5275 spec:
5276 description: Spec represents the specification of a Ceph COSI Driver
5277 properties:
5278 deploymentStrategy:
5279 description: DeploymentStrategy is the strategy to use to deploy the COSI driver.
5280 enum:
5281 - Never
5282 - Auto
5283 - Always
5284 type: string
5285 image:
5286 description: Image is the container image to run the Ceph COSI driver
5287 type: string
5288 objectProvisionerImage:
5289 description: ObjectProvisionerImage is the container image to run the COSI driver sidecar
5290 type: string
5291 placement:
5292 properties:
5293 nodeAffinity:
5294 properties:
5295 preferredDuringSchedulingIgnoredDuringExecution:
5296 items:
5297 properties:
5298 preference:
5299 properties:
5300 matchExpressions:
5301 items:
5302 properties:
5303 key:
5304 type: string
5305 operator:
5306 type: string
5307 values:
5308 items:
5309 type: string
5310 type: array
5311 required:
5312 - key
5313 - operator
5314 type: object
5315 type: array
5316 matchFields:
5317 items:
5318 properties:
5319 key:
5320 type: string
5321 operator:
5322 type: string
5323 values:
5324 items:
5325 type: string
5326 type: array
5327 required:
5328 - key
5329 - operator
5330 type: object
5331 type: array
5332 type: object
5333 x-kubernetes-map-type: atomic
5334 weight:
5335 format: int32
5336 type: integer
5337 required:
5338 - preference
5339 - weight
5340 type: object
5341 type: array
5342 requiredDuringSchedulingIgnoredDuringExecution:
5343 properties:
5344 nodeSelectorTerms:
5345 items:
5346 properties:
5347 matchExpressions:
5348 items:
5349 properties:
5350 key:
5351 type: string
5352 operator:
5353 type: string
5354 values:
5355 items:
5356 type: string
5357 type: array
5358 required:
5359 - key
5360 - operator
5361 type: object
5362 type: array
5363 matchFields:
5364 items:
5365 properties:
5366 key:
5367 type: string
5368 operator:
5369 type: string
5370 values:
5371 items:
5372 type: string
5373 type: array
5374 required:
5375 - key
5376 - operator
5377 type: object
5378 type: array
5379 type: object
5380 x-kubernetes-map-type: atomic
5381 type: array
5382 required:
5383 - nodeSelectorTerms
5384 type: object
5385 x-kubernetes-map-type: atomic
5386 type: object
5387 podAffinity:
5388 properties:
5389 preferredDuringSchedulingIgnoredDuringExecution:
5390 items:
5391 properties:
5392 podAffinityTerm:
5393 properties:
5394 labelSelector:
5395 properties:
5396 matchExpressions:
5397 items:
5398 properties:
5399 key:
5400 type: string
5401 operator:
5402 type: string
5403 values:
5404 items:
5405 type: string
5406 type: array
5407 required:
5408 - key
5409 - operator
5410 type: object
5411 type: array
5412 matchLabels:
5413 additionalProperties:
5414 type: string
5415 type: object
5416 type: object
5417 x-kubernetes-map-type: atomic
5418 matchLabelKeys:
5419 items:
5420 type: string
5421 type: array
5422 x-kubernetes-list-type: atomic
5423 mismatchLabelKeys:
5424 items:
5425 type: string
5426 type: array
5427 x-kubernetes-list-type: atomic
5428 namespaceSelector:
5429 properties:
5430 matchExpressions:
5431 items:
5432 properties:
5433 key:
5434 type: string
5435 operator:
5436 type: string
5437 values:
5438 items:
5439 type: string
5440 type: array
5441 required:
5442 - key
5443 - operator
5444 type: object
5445 type: array
5446 matchLabels:
5447 additionalProperties:
5448 type: string
5449 type: object
5450 type: object
5451 x-kubernetes-map-type: atomic
5452 namespaces:
5453 items:
5454 type: string
5455 type: array
5456 topologyKey:
5457 type: string
5458 required:
5459 - topologyKey
5460 type: object
5461 weight:
5462 format: int32
5463 type: integer
5464 required:
5465 - podAffinityTerm
5466 - weight
5467 type: object
5468 type: array
5469 requiredDuringSchedulingIgnoredDuringExecution:
5470 items:
5471 properties:
5472 labelSelector:
5473 properties:
5474 matchExpressions:
5475 items:
5476 properties:
5477 key:
5478 type: string
5479 operator:
5480 type: string
5481 values:
5482 items:
5483 type: string
5484 type: array
5485 required:
5486 - key
5487 - operator
5488 type: object
5489 type: array
5490 matchLabels:
5491 additionalProperties:
5492 type: string
5493 type: object
5494 type: object
5495 x-kubernetes-map-type: atomic
5496 matchLabelKeys:
5497 items:
5498 type: string
5499 type: array
5500 x-kubernetes-list-type: atomic
5501 mismatchLabelKeys:
5502 items:
5503 type: string
5504 type: array
5505 x-kubernetes-list-type: atomic
5506 namespaceSelector:
5507 properties:
5508 matchExpressions:
5509 items:
5510 properties:
5511 key:
5512 type: string
5513 operator:
5514 type: string
5515 values:
5516 items:
5517 type: string
5518 type: array
5519 required:
5520 - key
5521 - operator
5522 type: object
5523 type: array
5524 matchLabels:
5525 additionalProperties:
5526 type: string
5527 type: object
5528 type: object
5529 x-kubernetes-map-type: atomic
5530 namespaces:
5531 items:
5532 type: string
5533 type: array
5534 topologyKey:
5535 type: string
5536 required:
5537 - topologyKey
5538 type: object
5539 type: array
5540 type: object
5541 podAntiAffinity:
5542 properties:
5543 preferredDuringSchedulingIgnoredDuringExecution:
5544 items:
5545 properties:
5546 podAffinityTerm:
5547 properties:
5548 labelSelector:
5549 properties:
5550 matchExpressions:
5551 items:
5552 properties:
5553 key:
5554 type: string
5555 operator:
5556 type: string
5557 values:
5558 items:
5559 type: string
5560 type: array
5561 required:
5562 - key
5563 - operator
5564 type: object
5565 type: array
5566 matchLabels:
5567 additionalProperties:
5568 type: string
5569 type: object
5570 type: object
5571 x-kubernetes-map-type: atomic
5572 matchLabelKeys:
5573 items:
5574 type: string
5575 type: array
5576 x-kubernetes-list-type: atomic
5577 mismatchLabelKeys:
5578 items:
5579 type: string
5580 type: array
5581 x-kubernetes-list-type: atomic
5582 namespaceSelector:
5583 properties:
5584 matchExpressions:
5585 items:
5586 properties:
5587 key:
5588 type: string
5589 operator:
5590 type: string
5591 values:
5592 items:
5593 type: string
5594 type: array
5595 required:
5596 - key
5597 - operator
5598 type: object
5599 type: array
5600 matchLabels:
5601 additionalProperties:
5602 type: string
5603 type: object
5604 type: object
5605 x-kubernetes-map-type: atomic
5606 namespaces:
5607 items:
5608 type: string
5609 type: array
5610 topologyKey:
5611 type: string
5612 required:
5613 - topologyKey
5614 type: object
5615 weight:
5616 format: int32
5617 type: integer
5618 required:
5619 - podAffinityTerm
5620 - weight
5621 type: object
5622 type: array
5623 requiredDuringSchedulingIgnoredDuringExecution:
5624 items:
5625 properties:
5626 labelSelector:
5627 properties:
5628 matchExpressions:
5629 items:
5630 properties:
5631 key:
5632 type: string
5633 operator:
5634 type: string
5635 values:
5636 items:
5637 type: string
5638 type: array
5639 required:
5640 - key
5641 - operator
5642 type: object
5643 type: array
5644 matchLabels:
5645 additionalProperties:
5646 type: string
5647 type: object
5648 type: object
5649 x-kubernetes-map-type: atomic
5650 matchLabelKeys:
5651 items:
5652 type: string
5653 type: array
5654 x-kubernetes-list-type: atomic
5655 mismatchLabelKeys:
5656 items:
5657 type: string
5658 type: array
5659 x-kubernetes-list-type: atomic
5660 namespaceSelector:
5661 properties:
5662 matchExpressions:
5663 items:
5664 properties:
5665 key:
5666 type: string
5667 operator:
5668 type: string
5669 values:
5670 items:
5671 type: string
5672 type: array
5673 required:
5674 - key
5675 - operator
5676 type: object
5677 type: array
5678 matchLabels:
5679 additionalProperties:
5680 type: string
5681 type: object
5682 type: object
5683 x-kubernetes-map-type: atomic
5684 namespaces:
5685 items:
5686 type: string
5687 type: array
5688 topologyKey:
5689 type: string
5690 required:
5691 - topologyKey
5692 type: object
5693 type: array
5694 type: object
5695 tolerations:
5696 items:
5697 properties:
5698 effect:
5699 type: string
5700 key:
5701 type: string
5702 operator:
5703 type: string
5704 tolerationSeconds:
5705 format: int64
5706 type: integer
5707 value:
5708 type: string
5709 type: object
5710 type: array
5711 topologySpreadConstraints:
5712 items:
5713 properties:
5714 labelSelector:
5715 properties:
5716 matchExpressions:
5717 items:
5718 properties:
5719 key:
5720 type: string
5721 operator:
5722 type: string
5723 values:
5724 items:
5725 type: string
5726 type: array
5727 required:
5728 - key
5729 - operator
5730 type: object
5731 type: array
5732 matchLabels:
5733 additionalProperties:
5734 type: string
5735 type: object
5736 type: object
5737 x-kubernetes-map-type: atomic
5738 matchLabelKeys:
5739 items:
5740 type: string
5741 type: array
5742 x-kubernetes-list-type: atomic
5743 maxSkew:
5744 format: int32
5745 type: integer
5746 minDomains:
5747 format: int32
5748 type: integer
5749 nodeAffinityPolicy:
5750 type: string
5751 nodeTaintsPolicy:
5752 type: string
5753 topologyKey:
5754 type: string
5755 whenUnsatisfiable:
5756 type: string
5757 required:
5758 - maxSkew
5759 - topologyKey
5760 - whenUnsatisfiable
5761 type: object
5762 type: array
5763 type: object
5764 resources:
5765 description: Resources is the resource requirements for the COSI driver
5766 properties:
5767 claims:
5768 description: |-
5769 Claims lists the names of resources, defined in spec.resourceClaims,
5770 that are used by this container.
5771
5772
5773 This is an alpha field and requires enabling the
5774 DynamicResourceAllocation feature gate.
5775
5776
5777 This field is immutable. It can only be set for containers.
5778 items:
5779 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
5780 properties:
5781 name:
5782 description: |-
5783 Name must match the name of one entry in pod.spec.resourceClaims of
5784 the Pod where this field is used. It makes that resource available
5785 inside a container.
5786 type: string
5787 required:
5788 - name
5789 type: object
5790 type: array
5791 x-kubernetes-list-map-keys:
5792 - name
5793 x-kubernetes-list-type: map
5794 limits:
5795 additionalProperties:
5796 anyOf:
5797 - type: integer
5798 - type: string
5799 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
5800 x-kubernetes-int-or-string: true
5801 description: |-
5802 Limits describes the maximum amount of compute resources allowed.
5803 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
5804 type: object
5805 requests:
5806 additionalProperties:
5807 anyOf:
5808 - type: integer
5809 - type: string
5810 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
5811 x-kubernetes-int-or-string: true
5812 description: |-
5813 Requests describes the minimum amount of compute resources required.
5814 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
5815 otherwise to an implementation-defined value. Requests cannot exceed Limits.
5816 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
5817 type: object
5818 type: object
5819 type: object
5820 required:
5821 - metadata
5822 - spec
5823 type: object
5824 served: true
5825 storage: true
5826---
5827apiVersion: apiextensions.k8s.io/v1
5828kind: CustomResourceDefinition
5829metadata:
5830 annotations:
5831 controller-gen.kubebuilder.io/version: v0.14.0
5832 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +11005833 name: cephfilesystemmirrors.ceph.rook.io
5834spec:
5835 group: ceph.rook.io
5836 names:
5837 kind: CephFilesystemMirror
5838 listKind: CephFilesystemMirrorList
5839 plural: cephfilesystemmirrors
5840 singular: cephfilesystemmirror
5841 scope: Namespaced
5842 versions:
5843 - additionalPrinterColumns:
5844 - jsonPath: .status.phase
5845 name: Phase
5846 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04005847 - jsonPath: .metadata.creationTimestamp
5848 name: Age
5849 type: date
okozachenko120323147262023-01-28 04:16:42 +11005850 name: v1
5851 schema:
5852 openAPIV3Schema:
5853 description: CephFilesystemMirror is the Ceph Filesystem Mirror object definition
5854 properties:
5855 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -04005856 description: |-
5857 APIVersion defines the versioned schema of this representation of an object.
5858 Servers should convert recognized schemas to the latest internal value, and
5859 may reject unrecognized values.
5860 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +11005861 type: string
5862 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -04005863 description: |-
5864 Kind is a string value representing the REST resource this object represents.
5865 Servers may infer this from the endpoint the client submits requests to.
5866 Cannot be updated.
5867 In CamelCase.
5868 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +11005869 type: string
5870 metadata:
5871 type: object
5872 spec:
5873 description: FilesystemMirroringSpec is the filesystem mirroring specification
5874 properties:
5875 annotations:
5876 additionalProperties:
5877 type: string
5878 description: The annotations-related configuration to add/set on each Pod related object.
5879 nullable: true
5880 type: object
5881 labels:
5882 additionalProperties:
5883 type: string
5884 description: The labels-related configuration to add/set on each Pod related object.
5885 nullable: true
5886 type: object
5887 placement:
okozachenko120323147262023-01-28 04:16:42 +11005888 nullable: true
5889 properties:
5890 nodeAffinity:
okozachenko120323147262023-01-28 04:16:42 +11005891 properties:
5892 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11005893 items:
okozachenko120323147262023-01-28 04:16:42 +11005894 properties:
5895 preference:
okozachenko120323147262023-01-28 04:16:42 +11005896 properties:
5897 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11005898 items:
okozachenko120323147262023-01-28 04:16:42 +11005899 properties:
5900 key:
okozachenko120323147262023-01-28 04:16:42 +11005901 type: string
5902 operator:
okozachenko120323147262023-01-28 04:16:42 +11005903 type: string
5904 values:
okozachenko120323147262023-01-28 04:16:42 +11005905 items:
5906 type: string
5907 type: array
5908 required:
5909 - key
5910 - operator
5911 type: object
5912 type: array
5913 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11005914 items:
okozachenko120323147262023-01-28 04:16:42 +11005915 properties:
5916 key:
okozachenko120323147262023-01-28 04:16:42 +11005917 type: string
5918 operator:
okozachenko120323147262023-01-28 04:16:42 +11005919 type: string
5920 values:
okozachenko120323147262023-01-28 04:16:42 +11005921 items:
5922 type: string
5923 type: array
5924 required:
5925 - key
5926 - operator
5927 type: object
5928 type: array
5929 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04005930 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11005931 weight:
okozachenko120323147262023-01-28 04:16:42 +11005932 format: int32
5933 type: integer
5934 required:
5935 - preference
5936 - weight
5937 type: object
5938 type: array
5939 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11005940 properties:
5941 nodeSelectorTerms:
okozachenko120323147262023-01-28 04:16:42 +11005942 items:
okozachenko120323147262023-01-28 04:16:42 +11005943 properties:
5944 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11005945 items:
okozachenko120323147262023-01-28 04:16:42 +11005946 properties:
5947 key:
okozachenko120323147262023-01-28 04:16:42 +11005948 type: string
5949 operator:
okozachenko120323147262023-01-28 04:16:42 +11005950 type: string
5951 values:
okozachenko120323147262023-01-28 04:16:42 +11005952 items:
5953 type: string
5954 type: array
5955 required:
5956 - key
5957 - operator
5958 type: object
5959 type: array
5960 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11005961 items:
okozachenko120323147262023-01-28 04:16:42 +11005962 properties:
5963 key:
okozachenko120323147262023-01-28 04:16:42 +11005964 type: string
5965 operator:
okozachenko120323147262023-01-28 04:16:42 +11005966 type: string
5967 values:
okozachenko120323147262023-01-28 04:16:42 +11005968 items:
5969 type: string
5970 type: array
5971 required:
5972 - key
5973 - operator
5974 type: object
5975 type: array
5976 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04005977 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11005978 type: array
5979 required:
5980 - nodeSelectorTerms
5981 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04005982 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11005983 type: object
5984 podAffinity:
okozachenko120323147262023-01-28 04:16:42 +11005985 properties:
5986 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11005987 items:
okozachenko120323147262023-01-28 04:16:42 +11005988 properties:
5989 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11005990 properties:
5991 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11005992 properties:
5993 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11005994 items:
okozachenko120323147262023-01-28 04:16:42 +11005995 properties:
5996 key:
okozachenko120323147262023-01-28 04:16:42 +11005997 type: string
5998 operator:
okozachenko120323147262023-01-28 04:16:42 +11005999 type: string
6000 values:
okozachenko120323147262023-01-28 04:16:42 +11006001 items:
6002 type: string
6003 type: array
6004 required:
6005 - key
6006 - operator
6007 type: object
6008 type: array
6009 matchLabels:
6010 additionalProperties:
6011 type: string
okozachenko120323147262023-01-28 04:16:42 +11006012 type: object
6013 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006014 x-kubernetes-map-type: atomic
6015 matchLabelKeys:
6016 items:
6017 type: string
6018 type: array
6019 x-kubernetes-list-type: atomic
6020 mismatchLabelKeys:
6021 items:
6022 type: string
6023 type: array
6024 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006025 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11006026 properties:
6027 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11006028 items:
okozachenko120323147262023-01-28 04:16:42 +11006029 properties:
6030 key:
okozachenko120323147262023-01-28 04:16:42 +11006031 type: string
6032 operator:
okozachenko120323147262023-01-28 04:16:42 +11006033 type: string
6034 values:
okozachenko120323147262023-01-28 04:16:42 +11006035 items:
6036 type: string
6037 type: array
6038 required:
6039 - key
6040 - operator
6041 type: object
6042 type: array
6043 matchLabels:
6044 additionalProperties:
6045 type: string
okozachenko120323147262023-01-28 04:16:42 +11006046 type: object
6047 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006048 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006049 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11006050 items:
6051 type: string
6052 type: array
6053 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11006054 type: string
6055 required:
6056 - topologyKey
6057 type: object
6058 weight:
okozachenko120323147262023-01-28 04:16:42 +11006059 format: int32
6060 type: integer
6061 required:
6062 - podAffinityTerm
6063 - weight
6064 type: object
6065 type: array
6066 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11006067 items:
okozachenko120323147262023-01-28 04:16:42 +11006068 properties:
6069 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11006070 properties:
6071 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11006072 items:
okozachenko120323147262023-01-28 04:16:42 +11006073 properties:
6074 key:
okozachenko120323147262023-01-28 04:16:42 +11006075 type: string
6076 operator:
okozachenko120323147262023-01-28 04:16:42 +11006077 type: string
6078 values:
okozachenko120323147262023-01-28 04:16:42 +11006079 items:
6080 type: string
6081 type: array
6082 required:
6083 - key
6084 - operator
6085 type: object
6086 type: array
6087 matchLabels:
6088 additionalProperties:
6089 type: string
okozachenko120323147262023-01-28 04:16:42 +11006090 type: object
6091 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006092 x-kubernetes-map-type: atomic
6093 matchLabelKeys:
6094 items:
6095 type: string
6096 type: array
6097 x-kubernetes-list-type: atomic
6098 mismatchLabelKeys:
6099 items:
6100 type: string
6101 type: array
6102 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006103 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11006104 properties:
6105 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11006106 items:
okozachenko120323147262023-01-28 04:16:42 +11006107 properties:
6108 key:
okozachenko120323147262023-01-28 04:16:42 +11006109 type: string
6110 operator:
okozachenko120323147262023-01-28 04:16:42 +11006111 type: string
6112 values:
okozachenko120323147262023-01-28 04:16:42 +11006113 items:
6114 type: string
6115 type: array
6116 required:
6117 - key
6118 - operator
6119 type: object
6120 type: array
6121 matchLabels:
6122 additionalProperties:
6123 type: string
okozachenko120323147262023-01-28 04:16:42 +11006124 type: object
6125 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006126 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006127 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11006128 items:
6129 type: string
6130 type: array
6131 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11006132 type: string
6133 required:
6134 - topologyKey
6135 type: object
6136 type: array
6137 type: object
6138 podAntiAffinity:
okozachenko120323147262023-01-28 04:16:42 +11006139 properties:
6140 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11006141 items:
okozachenko120323147262023-01-28 04:16:42 +11006142 properties:
6143 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11006144 properties:
6145 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11006146 properties:
6147 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11006148 items:
okozachenko120323147262023-01-28 04:16:42 +11006149 properties:
6150 key:
okozachenko120323147262023-01-28 04:16:42 +11006151 type: string
6152 operator:
okozachenko120323147262023-01-28 04:16:42 +11006153 type: string
6154 values:
okozachenko120323147262023-01-28 04:16:42 +11006155 items:
6156 type: string
6157 type: array
6158 required:
6159 - key
6160 - operator
6161 type: object
6162 type: array
6163 matchLabels:
6164 additionalProperties:
6165 type: string
okozachenko120323147262023-01-28 04:16:42 +11006166 type: object
6167 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006168 x-kubernetes-map-type: atomic
6169 matchLabelKeys:
6170 items:
6171 type: string
6172 type: array
6173 x-kubernetes-list-type: atomic
6174 mismatchLabelKeys:
6175 items:
6176 type: string
6177 type: array
6178 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006179 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11006180 properties:
6181 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11006182 items:
okozachenko120323147262023-01-28 04:16:42 +11006183 properties:
6184 key:
okozachenko120323147262023-01-28 04:16:42 +11006185 type: string
6186 operator:
okozachenko120323147262023-01-28 04:16:42 +11006187 type: string
6188 values:
okozachenko120323147262023-01-28 04:16:42 +11006189 items:
6190 type: string
6191 type: array
6192 required:
6193 - key
6194 - operator
6195 type: object
6196 type: array
6197 matchLabels:
6198 additionalProperties:
6199 type: string
okozachenko120323147262023-01-28 04:16:42 +11006200 type: object
6201 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006202 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006203 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11006204 items:
6205 type: string
6206 type: array
6207 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11006208 type: string
6209 required:
6210 - topologyKey
6211 type: object
6212 weight:
okozachenko120323147262023-01-28 04:16:42 +11006213 format: int32
6214 type: integer
6215 required:
6216 - podAffinityTerm
6217 - weight
6218 type: object
6219 type: array
6220 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11006221 items:
okozachenko120323147262023-01-28 04:16:42 +11006222 properties:
6223 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11006224 properties:
6225 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11006226 items:
okozachenko120323147262023-01-28 04:16:42 +11006227 properties:
6228 key:
okozachenko120323147262023-01-28 04:16:42 +11006229 type: string
6230 operator:
okozachenko120323147262023-01-28 04:16:42 +11006231 type: string
6232 values:
okozachenko120323147262023-01-28 04:16:42 +11006233 items:
6234 type: string
6235 type: array
6236 required:
6237 - key
6238 - operator
6239 type: object
6240 type: array
6241 matchLabels:
6242 additionalProperties:
6243 type: string
okozachenko120323147262023-01-28 04:16:42 +11006244 type: object
6245 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006246 x-kubernetes-map-type: atomic
6247 matchLabelKeys:
6248 items:
6249 type: string
6250 type: array
6251 x-kubernetes-list-type: atomic
6252 mismatchLabelKeys:
6253 items:
6254 type: string
6255 type: array
6256 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006257 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11006258 properties:
6259 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11006260 items:
okozachenko120323147262023-01-28 04:16:42 +11006261 properties:
6262 key:
okozachenko120323147262023-01-28 04:16:42 +11006263 type: string
6264 operator:
okozachenko120323147262023-01-28 04:16:42 +11006265 type: string
6266 values:
okozachenko120323147262023-01-28 04:16:42 +11006267 items:
6268 type: string
6269 type: array
6270 required:
6271 - key
6272 - operator
6273 type: object
6274 type: array
6275 matchLabels:
6276 additionalProperties:
6277 type: string
okozachenko120323147262023-01-28 04:16:42 +11006278 type: object
6279 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006280 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006281 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11006282 items:
6283 type: string
6284 type: array
6285 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11006286 type: string
6287 required:
6288 - topologyKey
6289 type: object
6290 type: array
6291 type: object
6292 tolerations:
okozachenko120323147262023-01-28 04:16:42 +11006293 items:
okozachenko120323147262023-01-28 04:16:42 +11006294 properties:
6295 effect:
okozachenko120323147262023-01-28 04:16:42 +11006296 type: string
6297 key:
okozachenko120323147262023-01-28 04:16:42 +11006298 type: string
6299 operator:
okozachenko120323147262023-01-28 04:16:42 +11006300 type: string
6301 tolerationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11006302 format: int64
6303 type: integer
6304 value:
okozachenko120323147262023-01-28 04:16:42 +11006305 type: string
6306 type: object
6307 type: array
6308 topologySpreadConstraints:
okozachenko120323147262023-01-28 04:16:42 +11006309 items:
okozachenko120323147262023-01-28 04:16:42 +11006310 properties:
6311 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11006312 properties:
6313 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11006314 items:
okozachenko120323147262023-01-28 04:16:42 +11006315 properties:
6316 key:
okozachenko120323147262023-01-28 04:16:42 +11006317 type: string
6318 operator:
okozachenko120323147262023-01-28 04:16:42 +11006319 type: string
6320 values:
okozachenko120323147262023-01-28 04:16:42 +11006321 items:
6322 type: string
6323 type: array
6324 required:
6325 - key
6326 - operator
6327 type: object
6328 type: array
6329 matchLabels:
6330 additionalProperties:
6331 type: string
okozachenko120323147262023-01-28 04:16:42 +11006332 type: object
6333 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04006334 x-kubernetes-map-type: atomic
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00006335 matchLabelKeys:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00006336 items:
6337 type: string
6338 type: array
6339 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11006340 maxSkew:
okozachenko120323147262023-01-28 04:16:42 +11006341 format: int32
6342 type: integer
6343 minDomains:
okozachenko120323147262023-01-28 04:16:42 +11006344 format: int32
6345 type: integer
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00006346 nodeAffinityPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00006347 type: string
6348 nodeTaintsPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00006349 type: string
okozachenko120323147262023-01-28 04:16:42 +11006350 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11006351 type: string
6352 whenUnsatisfiable:
okozachenko120323147262023-01-28 04:16:42 +11006353 type: string
6354 required:
6355 - maxSkew
6356 - topologyKey
6357 - whenUnsatisfiable
6358 type: object
6359 type: array
6360 type: object
6361 priorityClassName:
6362 description: PriorityClassName sets priority class on the cephfs-mirror pods
6363 type: string
6364 resources:
6365 description: The resource requirements for the cephfs-mirror pods
6366 nullable: true
6367 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04006368 claims:
6369 description: |-
6370 Claims lists the names of resources, defined in spec.resourceClaims,
6371 that are used by this container.
6372
6373
6374 This is an alpha field and requires enabling the
6375 DynamicResourceAllocation feature gate.
6376
6377
6378 This field is immutable. It can only be set for containers.
6379 items:
6380 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
6381 properties:
6382 name:
6383 description: |-
6384 Name must match the name of one entry in pod.spec.resourceClaims of
6385 the Pod where this field is used. It makes that resource available
6386 inside a container.
6387 type: string
6388 required:
6389 - name
6390 type: object
6391 type: array
6392 x-kubernetes-list-map-keys:
6393 - name
6394 x-kubernetes-list-type: map
okozachenko120323147262023-01-28 04:16:42 +11006395 limits:
6396 additionalProperties:
6397 anyOf:
6398 - type: integer
6399 - type: string
6400 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
6401 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04006402 description: |-
6403 Limits describes the maximum amount of compute resources allowed.
6404 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11006405 type: object
6406 requests:
6407 additionalProperties:
6408 anyOf:
6409 - type: integer
6410 - type: string
6411 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
6412 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04006413 description: |-
6414 Requests describes the minimum amount of compute resources required.
6415 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
6416 otherwise to an implementation-defined value. Requests cannot exceed Limits.
6417 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11006418 type: object
6419 type: object
6420 type: object
6421 status:
6422 description: Status represents the status of an object
6423 properties:
6424 conditions:
6425 items:
6426 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
6427 properties:
6428 lastHeartbeatTime:
6429 format: date-time
6430 type: string
6431 lastTransitionTime:
6432 format: date-time
6433 type: string
6434 message:
6435 type: string
6436 reason:
6437 description: ConditionReason is a reason for a condition
6438 type: string
6439 status:
6440 type: string
6441 type:
6442 description: ConditionType represent a resource's status
6443 type: string
6444 type: object
6445 type: array
6446 observedGeneration:
6447 description: ObservedGeneration is the latest generation observed by the controller.
6448 format: int64
6449 type: integer
6450 phase:
6451 type: string
6452 type: object
6453 required:
6454 - metadata
6455 - spec
6456 type: object
6457 served: true
6458 storage: true
6459 subresources:
6460 status: {}
okozachenko120323147262023-01-28 04:16:42 +11006461---
6462apiVersion: apiextensions.k8s.io/v1
6463kind: CustomResourceDefinition
6464metadata:
6465 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -04006466 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +11006467 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +11006468 name: cephfilesystems.ceph.rook.io
6469spec:
6470 group: ceph.rook.io
6471 names:
6472 kind: CephFilesystem
6473 listKind: CephFilesystemList
6474 plural: cephfilesystems
6475 singular: cephfilesystem
6476 scope: Namespaced
6477 versions:
6478 - additionalPrinterColumns:
6479 - description: Number of desired active MDS daemons
6480 jsonPath: .spec.metadataServer.activeCount
6481 name: ActiveMDS
6482 type: string
6483 - jsonPath: .metadata.creationTimestamp
6484 name: Age
6485 type: date
6486 - jsonPath: .status.phase
6487 name: Phase
6488 type: string
6489 name: v1
6490 schema:
6491 openAPIV3Schema:
6492 description: CephFilesystem represents a Ceph Filesystem
6493 properties:
6494 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -04006495 description: |-
6496 APIVersion defines the versioned schema of this representation of an object.
6497 Servers should convert recognized schemas to the latest internal value, and
6498 may reject unrecognized values.
6499 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +11006500 type: string
6501 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -04006502 description: |-
6503 Kind is a string value representing the REST resource this object represents.
6504 Servers may infer this from the endpoint the client submits requests to.
6505 Cannot be updated.
6506 In CamelCase.
6507 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +11006508 type: string
6509 metadata:
6510 type: object
6511 spec:
6512 description: FilesystemSpec represents the spec of a file system
6513 properties:
6514 dataPools:
6515 description: The data pool settings, with optional predefined pool name.
6516 items:
6517 description: NamedPoolSpec represents the named ceph pool spec
6518 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04006519 application:
6520 description: The application name to set on the pool. Only expected to be set for rgw pools.
6521 type: string
okozachenko120323147262023-01-28 04:16:42 +11006522 compressionMode:
Mohammed Naser65cda132024-05-02 14:34:08 -04006523 description: |-
6524 DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force"
6525 The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
6526 Do NOT set a default value for kubebuilder as this will override the Parameters
okozachenko120323147262023-01-28 04:16:42 +11006527 enum:
6528 - none
6529 - passive
6530 - aggressive
6531 - force
6532 - ""
6533 nullable: true
6534 type: string
6535 crushRoot:
6536 description: The root of the crush hierarchy utilized by the pool
6537 nullable: true
6538 type: string
6539 deviceClass:
6540 description: The device class the OSD should set to for use in the pool
6541 nullable: true
6542 type: string
6543 enableRBDStats:
6544 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
6545 type: boolean
6546 erasureCoded:
6547 description: The erasure code settings
6548 properties:
6549 algorithm:
6550 description: The algorithm for erasure coding
6551 type: string
6552 codingChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -04006553 description: |-
6554 Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
6555 This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
okozachenko120323147262023-01-28 04:16:42 +11006556 minimum: 0
6557 type: integer
6558 dataChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -04006559 description: |-
6560 Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
6561 The number of chunks required to recover an object when any single OSD is lost is the same
6562 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 +11006563 minimum: 0
6564 type: integer
6565 required:
6566 - codingChunks
6567 - dataChunks
6568 type: object
6569 failureDomain:
6570 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
6571 type: string
6572 mirroring:
6573 description: The mirroring settings
6574 properties:
6575 enabled:
6576 description: Enabled whether this pool is mirrored or not
6577 type: boolean
6578 mode:
6579 description: 'Mode is the mirroring mode: either pool or image'
6580 type: string
6581 peers:
6582 description: Peers represents the peers spec
6583 nullable: true
6584 properties:
6585 secretNames:
6586 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
6587 items:
6588 type: string
6589 type: array
6590 type: object
6591 snapshotSchedules:
6592 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
6593 items:
6594 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
6595 properties:
6596 interval:
6597 description: Interval represent the periodicity of the snapshot.
6598 type: string
6599 path:
6600 description: Path is the path to snapshot, only valid for CephFS
6601 type: string
6602 startTime:
6603 description: StartTime indicates when to start the snapshot
6604 type: string
6605 type: object
6606 type: array
6607 type: object
6608 name:
6609 description: Name of the pool
6610 type: string
6611 parameters:
6612 additionalProperties:
6613 type: string
6614 description: Parameters is a list of properties to enable on a given pool
6615 nullable: true
6616 type: object
6617 x-kubernetes-preserve-unknown-fields: true
6618 quotas:
6619 description: The quota settings
6620 nullable: true
6621 properties:
6622 maxBytes:
Mohammed Naser65cda132024-05-02 14:34:08 -04006623 description: |-
6624 MaxBytes represents the quota in bytes
6625 Deprecated in favor of MaxSize
okozachenko120323147262023-01-28 04:16:42 +11006626 format: int64
6627 type: integer
6628 maxObjects:
6629 description: MaxObjects represents the quota in objects
6630 format: int64
6631 type: integer
6632 maxSize:
6633 description: MaxSize represents the quota in bytes as a string
6634 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
6635 type: string
6636 type: object
6637 replicated:
6638 description: The replication settings
6639 properties:
6640 hybridStorage:
6641 description: HybridStorage represents hybrid storage tier settings
6642 nullable: true
6643 properties:
6644 primaryDeviceClass:
6645 description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
6646 minLength: 1
6647 type: string
6648 secondaryDeviceClass:
6649 description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
6650 minLength: 1
6651 type: string
6652 required:
6653 - primaryDeviceClass
6654 - secondaryDeviceClass
6655 type: object
6656 replicasPerFailureDomain:
6657 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
6658 minimum: 1
6659 type: integer
6660 requireSafeReplicaSize:
6661 description: RequireSafeReplicaSize if false allows you to set replica 1
6662 type: boolean
6663 size:
6664 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
6665 minimum: 0
6666 type: integer
6667 subFailureDomain:
6668 description: SubFailureDomain the name of the sub-failure domain
6669 type: string
6670 targetSizeRatio:
6671 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
6672 type: number
6673 required:
6674 - size
6675 type: object
6676 statusCheck:
6677 description: The mirroring statusCheck
6678 properties:
6679 mirror:
6680 description: HealthCheckSpec represents the health check of an object store bucket
6681 nullable: true
6682 properties:
6683 disabled:
6684 type: boolean
6685 interval:
6686 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
6687 type: string
6688 timeout:
6689 type: string
6690 type: object
6691 type: object
6692 x-kubernetes-preserve-unknown-fields: true
6693 type: object
6694 nullable: true
6695 type: array
6696 metadataPool:
6697 description: The metadata pool settings
6698 nullable: true
6699 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04006700 application:
6701 description: The application name to set on the pool. Only expected to be set for rgw pools.
6702 type: string
okozachenko120323147262023-01-28 04:16:42 +11006703 compressionMode:
Mohammed Naser65cda132024-05-02 14:34:08 -04006704 description: |-
6705 DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force"
6706 The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
6707 Do NOT set a default value for kubebuilder as this will override the Parameters
okozachenko120323147262023-01-28 04:16:42 +11006708 enum:
6709 - none
6710 - passive
6711 - aggressive
6712 - force
6713 - ""
6714 nullable: true
6715 type: string
6716 crushRoot:
6717 description: The root of the crush hierarchy utilized by the pool
6718 nullable: true
6719 type: string
6720 deviceClass:
6721 description: The device class the OSD should set to for use in the pool
6722 nullable: true
6723 type: string
6724 enableRBDStats:
6725 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
6726 type: boolean
6727 erasureCoded:
6728 description: The erasure code settings
6729 properties:
6730 algorithm:
6731 description: The algorithm for erasure coding
6732 type: string
6733 codingChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -04006734 description: |-
6735 Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
6736 This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
okozachenko120323147262023-01-28 04:16:42 +11006737 minimum: 0
6738 type: integer
6739 dataChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -04006740 description: |-
6741 Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
6742 The number of chunks required to recover an object when any single OSD is lost is the same
6743 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 +11006744 minimum: 0
6745 type: integer
6746 required:
6747 - codingChunks
6748 - dataChunks
6749 type: object
6750 failureDomain:
6751 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
6752 type: string
6753 mirroring:
6754 description: The mirroring settings
6755 properties:
6756 enabled:
6757 description: Enabled whether this pool is mirrored or not
6758 type: boolean
6759 mode:
6760 description: 'Mode is the mirroring mode: either pool or image'
6761 type: string
6762 peers:
6763 description: Peers represents the peers spec
6764 nullable: true
6765 properties:
6766 secretNames:
6767 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
6768 items:
6769 type: string
6770 type: array
6771 type: object
6772 snapshotSchedules:
6773 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
6774 items:
6775 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
6776 properties:
6777 interval:
6778 description: Interval represent the periodicity of the snapshot.
6779 type: string
6780 path:
6781 description: Path is the path to snapshot, only valid for CephFS
6782 type: string
6783 startTime:
6784 description: StartTime indicates when to start the snapshot
6785 type: string
6786 type: object
6787 type: array
6788 type: object
6789 parameters:
6790 additionalProperties:
6791 type: string
6792 description: Parameters is a list of properties to enable on a given pool
6793 nullable: true
6794 type: object
6795 x-kubernetes-preserve-unknown-fields: true
6796 quotas:
6797 description: The quota settings
6798 nullable: true
6799 properties:
6800 maxBytes:
Mohammed Naser65cda132024-05-02 14:34:08 -04006801 description: |-
6802 MaxBytes represents the quota in bytes
6803 Deprecated in favor of MaxSize
okozachenko120323147262023-01-28 04:16:42 +11006804 format: int64
6805 type: integer
6806 maxObjects:
6807 description: MaxObjects represents the quota in objects
6808 format: int64
6809 type: integer
6810 maxSize:
6811 description: MaxSize represents the quota in bytes as a string
6812 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
6813 type: string
6814 type: object
6815 replicated:
6816 description: The replication settings
6817 properties:
6818 hybridStorage:
6819 description: HybridStorage represents hybrid storage tier settings
6820 nullable: true
6821 properties:
6822 primaryDeviceClass:
6823 description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
6824 minLength: 1
6825 type: string
6826 secondaryDeviceClass:
6827 description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
6828 minLength: 1
6829 type: string
6830 required:
6831 - primaryDeviceClass
6832 - secondaryDeviceClass
6833 type: object
6834 replicasPerFailureDomain:
6835 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
6836 minimum: 1
6837 type: integer
6838 requireSafeReplicaSize:
6839 description: RequireSafeReplicaSize if false allows you to set replica 1
6840 type: boolean
6841 size:
6842 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
6843 minimum: 0
6844 type: integer
6845 subFailureDomain:
6846 description: SubFailureDomain the name of the sub-failure domain
6847 type: string
6848 targetSizeRatio:
6849 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
6850 type: number
6851 required:
6852 - size
6853 type: object
6854 statusCheck:
6855 description: The mirroring statusCheck
6856 properties:
6857 mirror:
6858 description: HealthCheckSpec represents the health check of an object store bucket
6859 nullable: true
6860 properties:
6861 disabled:
6862 type: boolean
6863 interval:
6864 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
6865 type: string
6866 timeout:
6867 type: string
6868 type: object
6869 type: object
6870 x-kubernetes-preserve-unknown-fields: true
6871 type: object
6872 metadataServer:
6873 description: The mds pod info
6874 properties:
6875 activeCount:
6876 description: The number of metadata servers that are active. The remaining servers in the cluster will be in standby mode.
6877 format: int32
Mohammed Naser65cda132024-05-02 14:34:08 -04006878 maximum: 50
okozachenko120323147262023-01-28 04:16:42 +11006879 minimum: 1
6880 type: integer
6881 activeStandby:
Mohammed Naser65cda132024-05-02 14:34:08 -04006882 description: |-
6883 Whether each active MDS instance will have an active standby with a warm metadata cache for faster failover.
6884 If false, standbys will still be available, but will not have a warm metadata cache.
okozachenko120323147262023-01-28 04:16:42 +11006885 type: boolean
6886 annotations:
6887 additionalProperties:
6888 type: string
6889 description: The annotations-related configuration to add/set on each Pod related object.
6890 nullable: true
6891 type: object
6892 x-kubernetes-preserve-unknown-fields: true
6893 labels:
6894 additionalProperties:
6895 type: string
6896 description: The labels-related configuration to add/set on each Pod related object.
6897 nullable: true
6898 type: object
6899 x-kubernetes-preserve-unknown-fields: true
6900 livenessProbe:
6901 description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
6902 properties:
6903 disabled:
6904 description: Disabled determines whether probe is disable or not
6905 type: boolean
6906 probe:
Mohammed Naser65cda132024-05-02 14:34:08 -04006907 description: |-
6908 Probe describes a health check to be performed against a container to determine whether it is
6909 alive or ready to receive traffic.
okozachenko120323147262023-01-28 04:16:42 +11006910 properties:
6911 exec:
6912 description: Exec specifies the action to take.
6913 properties:
6914 command:
Mohammed Naser65cda132024-05-02 14:34:08 -04006915 description: |-
6916 Command is the command line to execute inside the container, the working directory for the
6917 command is root ('/') in the container's filesystem. The command is simply exec'd, it is
6918 not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
6919 a shell, you need to explicitly call out to that shell.
6920 Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
okozachenko120323147262023-01-28 04:16:42 +11006921 items:
6922 type: string
6923 type: array
6924 type: object
6925 failureThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -04006926 description: |-
6927 Minimum consecutive failures for the probe to be considered failed after having succeeded.
6928 Defaults to 3. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11006929 format: int32
6930 type: integer
6931 grpc:
Mohammed Naser65cda132024-05-02 14:34:08 -04006932 description: GRPC specifies an action involving a GRPC port.
okozachenko120323147262023-01-28 04:16:42 +11006933 properties:
6934 port:
6935 description: Port number of the gRPC service. Number must be in the range 1 to 65535.
6936 format: int32
6937 type: integer
6938 service:
Mohammed Naser65cda132024-05-02 14:34:08 -04006939 description: |-
6940 Service is the name of the service to place in the gRPC HealthCheckRequest
6941 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
6942
6943
6944 If this is not specified, the default behavior is defined by gRPC.
okozachenko120323147262023-01-28 04:16:42 +11006945 type: string
6946 required:
6947 - port
6948 type: object
6949 httpGet:
6950 description: HTTPGet specifies the http request to perform.
6951 properties:
6952 host:
Mohammed Naser65cda132024-05-02 14:34:08 -04006953 description: |-
6954 Host name to connect to, defaults to the pod IP. You probably want to set
6955 "Host" in httpHeaders instead.
okozachenko120323147262023-01-28 04:16:42 +11006956 type: string
6957 httpHeaders:
6958 description: Custom headers to set in the request. HTTP allows repeated headers.
6959 items:
6960 description: HTTPHeader describes a custom header to be used in HTTP probes
6961 properties:
6962 name:
Mohammed Naser65cda132024-05-02 14:34:08 -04006963 description: |-
6964 The header field name.
6965 This will be canonicalized upon output, so case-variant names will be understood as the same header.
okozachenko120323147262023-01-28 04:16:42 +11006966 type: string
6967 value:
6968 description: The header field value
6969 type: string
6970 required:
6971 - name
6972 - value
6973 type: object
6974 type: array
6975 path:
6976 description: Path to access on the HTTP server.
6977 type: string
6978 port:
6979 anyOf:
6980 - type: integer
6981 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04006982 description: |-
6983 Name or number of the port to access on the container.
6984 Number must be in the range 1 to 65535.
6985 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +11006986 x-kubernetes-int-or-string: true
6987 scheme:
Mohammed Naser65cda132024-05-02 14:34:08 -04006988 description: |-
6989 Scheme to use for connecting to the host.
6990 Defaults to HTTP.
okozachenko120323147262023-01-28 04:16:42 +11006991 type: string
6992 required:
6993 - port
6994 type: object
6995 initialDelaySeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04006996 description: |-
6997 Number of seconds after the container has started before liveness probes are initiated.
6998 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +11006999 format: int32
7000 type: integer
7001 periodSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04007002 description: |-
7003 How often (in seconds) to perform the probe.
7004 Default to 10 seconds. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11007005 format: int32
7006 type: integer
7007 successThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -04007008 description: |-
7009 Minimum consecutive successes for the probe to be considered successful after having failed.
7010 Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11007011 format: int32
7012 type: integer
7013 tcpSocket:
7014 description: TCPSocket specifies an action involving a TCP port.
7015 properties:
7016 host:
7017 description: 'Optional: Host name to connect to, defaults to the pod IP.'
7018 type: string
7019 port:
7020 anyOf:
7021 - type: integer
7022 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04007023 description: |-
7024 Number or name of the port to access on the container.
7025 Number must be in the range 1 to 65535.
7026 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +11007027 x-kubernetes-int-or-string: true
7028 required:
7029 - port
7030 type: object
7031 terminationGracePeriodSeconds:
okozachenko120323147262023-01-28 04:16:42 +11007032 format: int64
7033 type: integer
7034 timeoutSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04007035 description: |-
7036 Number of seconds after which the probe times out.
7037 Defaults to 1 second. Minimum value is 1.
7038 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +11007039 format: int32
7040 type: integer
7041 type: object
7042 type: object
7043 placement:
okozachenko120323147262023-01-28 04:16:42 +11007044 nullable: true
7045 properties:
7046 nodeAffinity:
okozachenko120323147262023-01-28 04:16:42 +11007047 properties:
7048 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11007049 items:
okozachenko120323147262023-01-28 04:16:42 +11007050 properties:
7051 preference:
okozachenko120323147262023-01-28 04:16:42 +11007052 properties:
7053 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007054 items:
okozachenko120323147262023-01-28 04:16:42 +11007055 properties:
7056 key:
okozachenko120323147262023-01-28 04:16:42 +11007057 type: string
7058 operator:
okozachenko120323147262023-01-28 04:16:42 +11007059 type: string
7060 values:
okozachenko120323147262023-01-28 04:16:42 +11007061 items:
7062 type: string
7063 type: array
7064 required:
7065 - key
7066 - operator
7067 type: object
7068 type: array
7069 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11007070 items:
okozachenko120323147262023-01-28 04:16:42 +11007071 properties:
7072 key:
okozachenko120323147262023-01-28 04:16:42 +11007073 type: string
7074 operator:
okozachenko120323147262023-01-28 04:16:42 +11007075 type: string
7076 values:
okozachenko120323147262023-01-28 04:16:42 +11007077 items:
7078 type: string
7079 type: array
7080 required:
7081 - key
7082 - operator
7083 type: object
7084 type: array
7085 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007086 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007087 weight:
okozachenko120323147262023-01-28 04:16:42 +11007088 format: int32
7089 type: integer
7090 required:
7091 - preference
7092 - weight
7093 type: object
7094 type: array
7095 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11007096 properties:
7097 nodeSelectorTerms:
okozachenko120323147262023-01-28 04:16:42 +11007098 items:
okozachenko120323147262023-01-28 04:16:42 +11007099 properties:
7100 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007101 items:
okozachenko120323147262023-01-28 04:16:42 +11007102 properties:
7103 key:
okozachenko120323147262023-01-28 04:16:42 +11007104 type: string
7105 operator:
okozachenko120323147262023-01-28 04:16:42 +11007106 type: string
7107 values:
okozachenko120323147262023-01-28 04:16:42 +11007108 items:
7109 type: string
7110 type: array
7111 required:
7112 - key
7113 - operator
7114 type: object
7115 type: array
7116 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11007117 items:
okozachenko120323147262023-01-28 04:16:42 +11007118 properties:
7119 key:
okozachenko120323147262023-01-28 04:16:42 +11007120 type: string
7121 operator:
okozachenko120323147262023-01-28 04:16:42 +11007122 type: string
7123 values:
okozachenko120323147262023-01-28 04:16:42 +11007124 items:
7125 type: string
7126 type: array
7127 required:
7128 - key
7129 - operator
7130 type: object
7131 type: array
7132 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007133 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007134 type: array
7135 required:
7136 - nodeSelectorTerms
7137 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007138 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007139 type: object
7140 podAffinity:
okozachenko120323147262023-01-28 04:16:42 +11007141 properties:
7142 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11007143 items:
okozachenko120323147262023-01-28 04:16:42 +11007144 properties:
7145 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11007146 properties:
7147 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11007148 properties:
7149 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007150 items:
okozachenko120323147262023-01-28 04:16:42 +11007151 properties:
7152 key:
okozachenko120323147262023-01-28 04:16:42 +11007153 type: string
7154 operator:
okozachenko120323147262023-01-28 04:16:42 +11007155 type: string
7156 values:
okozachenko120323147262023-01-28 04:16:42 +11007157 items:
7158 type: string
7159 type: array
7160 required:
7161 - key
7162 - operator
7163 type: object
7164 type: array
7165 matchLabels:
7166 additionalProperties:
7167 type: string
okozachenko120323147262023-01-28 04:16:42 +11007168 type: object
7169 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007170 x-kubernetes-map-type: atomic
7171 matchLabelKeys:
7172 items:
7173 type: string
7174 type: array
7175 x-kubernetes-list-type: atomic
7176 mismatchLabelKeys:
7177 items:
7178 type: string
7179 type: array
7180 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007181 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11007182 properties:
7183 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007184 items:
okozachenko120323147262023-01-28 04:16:42 +11007185 properties:
7186 key:
okozachenko120323147262023-01-28 04:16:42 +11007187 type: string
7188 operator:
okozachenko120323147262023-01-28 04:16:42 +11007189 type: string
7190 values:
okozachenko120323147262023-01-28 04:16:42 +11007191 items:
7192 type: string
7193 type: array
7194 required:
7195 - key
7196 - operator
7197 type: object
7198 type: array
7199 matchLabels:
7200 additionalProperties:
7201 type: string
okozachenko120323147262023-01-28 04:16:42 +11007202 type: object
7203 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007204 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007205 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11007206 items:
7207 type: string
7208 type: array
7209 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11007210 type: string
7211 required:
7212 - topologyKey
7213 type: object
7214 weight:
okozachenko120323147262023-01-28 04:16:42 +11007215 format: int32
7216 type: integer
7217 required:
7218 - podAffinityTerm
7219 - weight
7220 type: object
7221 type: array
7222 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11007223 items:
okozachenko120323147262023-01-28 04:16:42 +11007224 properties:
7225 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11007226 properties:
7227 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007228 items:
okozachenko120323147262023-01-28 04:16:42 +11007229 properties:
7230 key:
okozachenko120323147262023-01-28 04:16:42 +11007231 type: string
7232 operator:
okozachenko120323147262023-01-28 04:16:42 +11007233 type: string
7234 values:
okozachenko120323147262023-01-28 04:16:42 +11007235 items:
7236 type: string
7237 type: array
7238 required:
7239 - key
7240 - operator
7241 type: object
7242 type: array
7243 matchLabels:
7244 additionalProperties:
7245 type: string
okozachenko120323147262023-01-28 04:16:42 +11007246 type: object
7247 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007248 x-kubernetes-map-type: atomic
7249 matchLabelKeys:
7250 items:
7251 type: string
7252 type: array
7253 x-kubernetes-list-type: atomic
7254 mismatchLabelKeys:
7255 items:
7256 type: string
7257 type: array
7258 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007259 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11007260 properties:
7261 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007262 items:
okozachenko120323147262023-01-28 04:16:42 +11007263 properties:
7264 key:
okozachenko120323147262023-01-28 04:16:42 +11007265 type: string
7266 operator:
okozachenko120323147262023-01-28 04:16:42 +11007267 type: string
7268 values:
okozachenko120323147262023-01-28 04:16:42 +11007269 items:
7270 type: string
7271 type: array
7272 required:
7273 - key
7274 - operator
7275 type: object
7276 type: array
7277 matchLabels:
7278 additionalProperties:
7279 type: string
okozachenko120323147262023-01-28 04:16:42 +11007280 type: object
7281 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007282 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007283 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11007284 items:
7285 type: string
7286 type: array
7287 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11007288 type: string
7289 required:
7290 - topologyKey
7291 type: object
7292 type: array
7293 type: object
7294 podAntiAffinity:
okozachenko120323147262023-01-28 04:16:42 +11007295 properties:
7296 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11007297 items:
okozachenko120323147262023-01-28 04:16:42 +11007298 properties:
7299 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11007300 properties:
7301 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11007302 properties:
7303 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007304 items:
okozachenko120323147262023-01-28 04:16:42 +11007305 properties:
7306 key:
okozachenko120323147262023-01-28 04:16:42 +11007307 type: string
7308 operator:
okozachenko120323147262023-01-28 04:16:42 +11007309 type: string
7310 values:
okozachenko120323147262023-01-28 04:16:42 +11007311 items:
7312 type: string
7313 type: array
7314 required:
7315 - key
7316 - operator
7317 type: object
7318 type: array
7319 matchLabels:
7320 additionalProperties:
7321 type: string
okozachenko120323147262023-01-28 04:16:42 +11007322 type: object
7323 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007324 x-kubernetes-map-type: atomic
7325 matchLabelKeys:
7326 items:
7327 type: string
7328 type: array
7329 x-kubernetes-list-type: atomic
7330 mismatchLabelKeys:
7331 items:
7332 type: string
7333 type: array
7334 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007335 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11007336 properties:
7337 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007338 items:
okozachenko120323147262023-01-28 04:16:42 +11007339 properties:
7340 key:
okozachenko120323147262023-01-28 04:16:42 +11007341 type: string
7342 operator:
okozachenko120323147262023-01-28 04:16:42 +11007343 type: string
7344 values:
okozachenko120323147262023-01-28 04:16:42 +11007345 items:
7346 type: string
7347 type: array
7348 required:
7349 - key
7350 - operator
7351 type: object
7352 type: array
7353 matchLabels:
7354 additionalProperties:
7355 type: string
okozachenko120323147262023-01-28 04:16:42 +11007356 type: object
7357 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007358 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007359 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11007360 items:
7361 type: string
7362 type: array
7363 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11007364 type: string
7365 required:
7366 - topologyKey
7367 type: object
7368 weight:
okozachenko120323147262023-01-28 04:16:42 +11007369 format: int32
7370 type: integer
7371 required:
7372 - podAffinityTerm
7373 - weight
7374 type: object
7375 type: array
7376 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11007377 items:
okozachenko120323147262023-01-28 04:16:42 +11007378 properties:
7379 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11007380 properties:
7381 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007382 items:
okozachenko120323147262023-01-28 04:16:42 +11007383 properties:
7384 key:
okozachenko120323147262023-01-28 04:16:42 +11007385 type: string
7386 operator:
okozachenko120323147262023-01-28 04:16:42 +11007387 type: string
7388 values:
okozachenko120323147262023-01-28 04:16:42 +11007389 items:
7390 type: string
7391 type: array
7392 required:
7393 - key
7394 - operator
7395 type: object
7396 type: array
7397 matchLabels:
7398 additionalProperties:
7399 type: string
okozachenko120323147262023-01-28 04:16:42 +11007400 type: object
7401 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007402 x-kubernetes-map-type: atomic
7403 matchLabelKeys:
7404 items:
7405 type: string
7406 type: array
7407 x-kubernetes-list-type: atomic
7408 mismatchLabelKeys:
7409 items:
7410 type: string
7411 type: array
7412 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007413 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11007414 properties:
7415 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007416 items:
okozachenko120323147262023-01-28 04:16:42 +11007417 properties:
7418 key:
okozachenko120323147262023-01-28 04:16:42 +11007419 type: string
7420 operator:
okozachenko120323147262023-01-28 04:16:42 +11007421 type: string
7422 values:
okozachenko120323147262023-01-28 04:16:42 +11007423 items:
7424 type: string
7425 type: array
7426 required:
7427 - key
7428 - operator
7429 type: object
7430 type: array
7431 matchLabels:
7432 additionalProperties:
7433 type: string
okozachenko120323147262023-01-28 04:16:42 +11007434 type: object
7435 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007436 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007437 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11007438 items:
7439 type: string
7440 type: array
7441 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11007442 type: string
7443 required:
7444 - topologyKey
7445 type: object
7446 type: array
7447 type: object
7448 tolerations:
okozachenko120323147262023-01-28 04:16:42 +11007449 items:
okozachenko120323147262023-01-28 04:16:42 +11007450 properties:
7451 effect:
okozachenko120323147262023-01-28 04:16:42 +11007452 type: string
7453 key:
okozachenko120323147262023-01-28 04:16:42 +11007454 type: string
7455 operator:
okozachenko120323147262023-01-28 04:16:42 +11007456 type: string
7457 tolerationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11007458 format: int64
7459 type: integer
7460 value:
okozachenko120323147262023-01-28 04:16:42 +11007461 type: string
7462 type: object
7463 type: array
7464 topologySpreadConstraints:
okozachenko120323147262023-01-28 04:16:42 +11007465 items:
okozachenko120323147262023-01-28 04:16:42 +11007466 properties:
7467 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11007468 properties:
7469 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11007470 items:
okozachenko120323147262023-01-28 04:16:42 +11007471 properties:
7472 key:
okozachenko120323147262023-01-28 04:16:42 +11007473 type: string
7474 operator:
okozachenko120323147262023-01-28 04:16:42 +11007475 type: string
7476 values:
okozachenko120323147262023-01-28 04:16:42 +11007477 items:
7478 type: string
7479 type: array
7480 required:
7481 - key
7482 - operator
7483 type: object
7484 type: array
7485 matchLabels:
7486 additionalProperties:
7487 type: string
okozachenko120323147262023-01-28 04:16:42 +11007488 type: object
7489 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04007490 x-kubernetes-map-type: atomic
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00007491 matchLabelKeys:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00007492 items:
7493 type: string
7494 type: array
7495 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11007496 maxSkew:
okozachenko120323147262023-01-28 04:16:42 +11007497 format: int32
7498 type: integer
7499 minDomains:
okozachenko120323147262023-01-28 04:16:42 +11007500 format: int32
7501 type: integer
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00007502 nodeAffinityPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00007503 type: string
7504 nodeTaintsPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00007505 type: string
okozachenko120323147262023-01-28 04:16:42 +11007506 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11007507 type: string
7508 whenUnsatisfiable:
okozachenko120323147262023-01-28 04:16:42 +11007509 type: string
7510 required:
7511 - maxSkew
7512 - topologyKey
7513 - whenUnsatisfiable
7514 type: object
7515 type: array
7516 type: object
7517 x-kubernetes-preserve-unknown-fields: true
7518 priorityClassName:
7519 description: PriorityClassName sets priority classes on components
7520 type: string
7521 resources:
Mohammed Naser65cda132024-05-02 14:34:08 -04007522 description: The resource requirements for the mds pods
okozachenko120323147262023-01-28 04:16:42 +11007523 nullable: true
7524 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04007525 claims:
7526 description: |-
7527 Claims lists the names of resources, defined in spec.resourceClaims,
7528 that are used by this container.
7529
7530
7531 This is an alpha field and requires enabling the
7532 DynamicResourceAllocation feature gate.
7533
7534
7535 This field is immutable. It can only be set for containers.
7536 items:
7537 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
7538 properties:
7539 name:
7540 description: |-
7541 Name must match the name of one entry in pod.spec.resourceClaims of
7542 the Pod where this field is used. It makes that resource available
7543 inside a container.
7544 type: string
7545 required:
7546 - name
7547 type: object
7548 type: array
7549 x-kubernetes-list-map-keys:
7550 - name
7551 x-kubernetes-list-type: map
okozachenko120323147262023-01-28 04:16:42 +11007552 limits:
7553 additionalProperties:
7554 anyOf:
7555 - type: integer
7556 - type: string
7557 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
7558 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04007559 description: |-
7560 Limits describes the maximum amount of compute resources allowed.
7561 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11007562 type: object
7563 requests:
7564 additionalProperties:
7565 anyOf:
7566 - type: integer
7567 - type: string
7568 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
7569 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04007570 description: |-
7571 Requests describes the minimum amount of compute resources required.
7572 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
7573 otherwise to an implementation-defined value. Requests cannot exceed Limits.
7574 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11007575 type: object
7576 type: object
7577 x-kubernetes-preserve-unknown-fields: true
7578 startupProbe:
7579 description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
7580 properties:
7581 disabled:
7582 description: Disabled determines whether probe is disable or not
7583 type: boolean
7584 probe:
Mohammed Naser65cda132024-05-02 14:34:08 -04007585 description: |-
7586 Probe describes a health check to be performed against a container to determine whether it is
7587 alive or ready to receive traffic.
okozachenko120323147262023-01-28 04:16:42 +11007588 properties:
7589 exec:
7590 description: Exec specifies the action to take.
7591 properties:
7592 command:
Mohammed Naser65cda132024-05-02 14:34:08 -04007593 description: |-
7594 Command is the command line to execute inside the container, the working directory for the
7595 command is root ('/') in the container's filesystem. The command is simply exec'd, it is
7596 not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
7597 a shell, you need to explicitly call out to that shell.
7598 Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
okozachenko120323147262023-01-28 04:16:42 +11007599 items:
7600 type: string
7601 type: array
7602 type: object
7603 failureThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -04007604 description: |-
7605 Minimum consecutive failures for the probe to be considered failed after having succeeded.
7606 Defaults to 3. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11007607 format: int32
7608 type: integer
7609 grpc:
Mohammed Naser65cda132024-05-02 14:34:08 -04007610 description: GRPC specifies an action involving a GRPC port.
okozachenko120323147262023-01-28 04:16:42 +11007611 properties:
7612 port:
7613 description: Port number of the gRPC service. Number must be in the range 1 to 65535.
7614 format: int32
7615 type: integer
7616 service:
Mohammed Naser65cda132024-05-02 14:34:08 -04007617 description: |-
7618 Service is the name of the service to place in the gRPC HealthCheckRequest
7619 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
7620
7621
7622 If this is not specified, the default behavior is defined by gRPC.
okozachenko120323147262023-01-28 04:16:42 +11007623 type: string
7624 required:
7625 - port
7626 type: object
7627 httpGet:
7628 description: HTTPGet specifies the http request to perform.
7629 properties:
7630 host:
Mohammed Naser65cda132024-05-02 14:34:08 -04007631 description: |-
7632 Host name to connect to, defaults to the pod IP. You probably want to set
7633 "Host" in httpHeaders instead.
okozachenko120323147262023-01-28 04:16:42 +11007634 type: string
7635 httpHeaders:
7636 description: Custom headers to set in the request. HTTP allows repeated headers.
7637 items:
7638 description: HTTPHeader describes a custom header to be used in HTTP probes
7639 properties:
7640 name:
Mohammed Naser65cda132024-05-02 14:34:08 -04007641 description: |-
7642 The header field name.
7643 This will be canonicalized upon output, so case-variant names will be understood as the same header.
okozachenko120323147262023-01-28 04:16:42 +11007644 type: string
7645 value:
7646 description: The header field value
7647 type: string
7648 required:
7649 - name
7650 - value
7651 type: object
7652 type: array
7653 path:
7654 description: Path to access on the HTTP server.
7655 type: string
7656 port:
7657 anyOf:
7658 - type: integer
7659 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04007660 description: |-
7661 Name or number of the port to access on the container.
7662 Number must be in the range 1 to 65535.
7663 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +11007664 x-kubernetes-int-or-string: true
7665 scheme:
Mohammed Naser65cda132024-05-02 14:34:08 -04007666 description: |-
7667 Scheme to use for connecting to the host.
7668 Defaults to HTTP.
okozachenko120323147262023-01-28 04:16:42 +11007669 type: string
7670 required:
7671 - port
7672 type: object
7673 initialDelaySeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04007674 description: |-
7675 Number of seconds after the container has started before liveness probes are initiated.
7676 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +11007677 format: int32
7678 type: integer
7679 periodSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04007680 description: |-
7681 How often (in seconds) to perform the probe.
7682 Default to 10 seconds. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11007683 format: int32
7684 type: integer
7685 successThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -04007686 description: |-
7687 Minimum consecutive successes for the probe to be considered successful after having failed.
7688 Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +11007689 format: int32
7690 type: integer
7691 tcpSocket:
7692 description: TCPSocket specifies an action involving a TCP port.
7693 properties:
7694 host:
7695 description: 'Optional: Host name to connect to, defaults to the pod IP.'
7696 type: string
7697 port:
7698 anyOf:
7699 - type: integer
7700 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04007701 description: |-
7702 Number or name of the port to access on the container.
7703 Number must be in the range 1 to 65535.
7704 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +11007705 x-kubernetes-int-or-string: true
7706 required:
7707 - port
7708 type: object
7709 terminationGracePeriodSeconds:
okozachenko120323147262023-01-28 04:16:42 +11007710 format: int64
7711 type: integer
7712 timeoutSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -04007713 description: |-
7714 Number of seconds after which the probe times out.
7715 Defaults to 1 second. Minimum value is 1.
7716 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +11007717 format: int32
7718 type: integer
7719 type: object
7720 type: object
7721 required:
7722 - activeCount
7723 type: object
7724 mirroring:
7725 description: The mirroring settings
7726 nullable: true
7727 properties:
7728 enabled:
7729 description: Enabled whether this filesystem is mirrored or not
7730 type: boolean
7731 peers:
7732 description: Peers represents the peers spec
7733 nullable: true
7734 properties:
7735 secretNames:
7736 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
7737 items:
7738 type: string
7739 type: array
7740 type: object
7741 snapshotRetention:
Mohammed Naser65cda132024-05-02 14:34:08 -04007742 description: |-
7743 Retention is the retention policy for a snapshot schedule
7744 One path has exactly one retention policy.
7745 A policy can however contain multiple count-time period pairs in order to specify complex retention policies
okozachenko120323147262023-01-28 04:16:42 +11007746 items:
7747 description: SnapshotScheduleRetentionSpec is a retention policy
7748 properties:
7749 duration:
7750 description: Duration represents the retention duration for a snapshot
7751 type: string
7752 path:
7753 description: Path is the path to snapshot
7754 type: string
7755 type: object
7756 type: array
7757 snapshotSchedules:
7758 description: SnapshotSchedules is the scheduling of snapshot for mirrored filesystems
7759 items:
7760 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
7761 properties:
7762 interval:
7763 description: Interval represent the periodicity of the snapshot.
7764 type: string
7765 path:
7766 description: Path is the path to snapshot, only valid for CephFS
7767 type: string
7768 startTime:
7769 description: StartTime indicates when to start the snapshot
7770 type: string
7771 type: object
7772 type: array
7773 type: object
7774 preserveFilesystemOnDelete:
7775 description: Preserve the fs in the cluster on CephFilesystem CR deletion. Setting this to true automatically implies PreservePoolsOnDelete is true.
7776 type: boolean
7777 preservePoolsOnDelete:
7778 description: Preserve pools on filesystem deletion
7779 type: boolean
7780 statusCheck:
7781 description: The mirroring statusCheck
7782 properties:
7783 mirror:
7784 description: HealthCheckSpec represents the health check of an object store bucket
7785 nullable: true
7786 properties:
7787 disabled:
7788 type: boolean
7789 interval:
7790 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
7791 type: string
7792 timeout:
7793 type: string
7794 type: object
7795 type: object
7796 x-kubernetes-preserve-unknown-fields: true
7797 required:
7798 - dataPools
7799 - metadataPool
7800 - metadataServer
7801 type: object
7802 status:
7803 description: CephFilesystemStatus represents the status of a Ceph Filesystem
7804 properties:
7805 conditions:
7806 items:
7807 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
7808 properties:
7809 lastHeartbeatTime:
7810 format: date-time
7811 type: string
7812 lastTransitionTime:
7813 format: date-time
7814 type: string
7815 message:
7816 type: string
7817 reason:
7818 description: ConditionReason is a reason for a condition
7819 type: string
7820 status:
7821 type: string
7822 type:
7823 description: ConditionType represent a resource's status
7824 type: string
7825 type: object
7826 type: array
7827 info:
7828 additionalProperties:
7829 type: string
7830 description: Use only info and put mirroringStatus in it?
7831 nullable: true
7832 type: object
7833 mirroringStatus:
7834 description: MirroringStatus is the filesystem mirroring status
7835 properties:
7836 daemonsStatus:
7837 description: PoolMirroringStatus is the mirroring status of a filesystem
7838 items:
7839 description: FilesystemMirrorInfoSpec is the filesystem mirror status of a given filesystem
7840 properties:
7841 daemon_id:
7842 description: DaemonID is the cephfs-mirror name
7843 type: integer
7844 filesystems:
7845 description: Filesystems is the list of filesystems managed by a given cephfs-mirror daemon
7846 items:
7847 description: FilesystemsSpec is spec for the mirrored filesystem
7848 properties:
7849 directory_count:
7850 description: DirectoryCount is the number of directories in the filesystem
7851 type: integer
7852 filesystem_id:
7853 description: FilesystemID is the filesystem identifier
7854 type: integer
7855 name:
7856 description: Name is name of the filesystem
7857 type: string
7858 peers:
7859 description: Peers represents the mirroring peers
7860 items:
7861 description: FilesystemMirrorInfoPeerSpec is the specification of a filesystem peer mirror
7862 properties:
7863 remote:
7864 description: Remote are the remote cluster information
7865 properties:
7866 client_name:
7867 description: ClientName is cephx name
7868 type: string
7869 cluster_name:
7870 description: ClusterName is the name of the cluster
7871 type: string
7872 fs_name:
7873 description: FsName is the filesystem name
7874 type: string
7875 type: object
7876 stats:
7877 description: Stats are the stat a peer mirror
7878 properties:
7879 failure_count:
7880 description: FailureCount is the number of mirroring failure
7881 type: integer
7882 recovery_count:
7883 description: RecoveryCount is the number of recovery attempted after failures
7884 type: integer
7885 type: object
7886 uuid:
7887 description: UUID is the peer unique identifier
7888 type: string
7889 type: object
7890 type: array
7891 type: object
7892 type: array
7893 type: object
7894 nullable: true
7895 type: array
7896 details:
7897 description: Details contains potential status errors
7898 type: string
7899 lastChanged:
7900 description: LastChanged is the last time time the status last changed
7901 type: string
7902 lastChecked:
7903 description: LastChecked is the last time time the status was checked
7904 type: string
7905 type: object
7906 observedGeneration:
7907 description: ObservedGeneration is the latest generation observed by the controller.
7908 format: int64
7909 type: integer
7910 phase:
7911 description: ConditionType represent a resource's status
7912 type: string
7913 snapshotScheduleStatus:
7914 description: FilesystemSnapshotScheduleStatusSpec is the status of the snapshot schedule
7915 properties:
7916 details:
7917 description: Details contains potential status errors
7918 type: string
7919 lastChanged:
7920 description: LastChanged is the last time time the status last changed
7921 type: string
7922 lastChecked:
7923 description: LastChecked is the last time time the status was checked
7924 type: string
7925 snapshotSchedules:
7926 description: SnapshotSchedules is the list of snapshots scheduled
7927 items:
7928 description: FilesystemSnapshotSchedulesSpec is the list of snapshot scheduled for images in a pool
7929 properties:
7930 fs:
7931 description: Fs is the name of the Ceph Filesystem
7932 type: string
7933 path:
7934 description: Path is the path on the filesystem
7935 type: string
7936 rel_path:
7937 type: string
7938 retention:
7939 description: FilesystemSnapshotScheduleStatusRetention is the retention specification for a filesystem snapshot schedule
7940 properties:
7941 active:
7942 description: Active is whether the scheduled is active or not
7943 type: boolean
7944 created:
7945 description: Created is when the snapshot schedule was created
7946 type: string
7947 created_count:
7948 description: CreatedCount is total amount of snapshots
7949 type: integer
7950 first:
7951 description: First is when the first snapshot schedule was taken
7952 type: string
7953 last:
7954 description: Last is when the last snapshot schedule was taken
7955 type: string
7956 last_pruned:
7957 description: LastPruned is when the last snapshot schedule was pruned
7958 type: string
7959 pruned_count:
7960 description: PrunedCount is total amount of pruned snapshots
7961 type: integer
7962 start:
7963 description: Start is when the snapshot schedule starts
7964 type: string
7965 type: object
7966 schedule:
7967 type: string
7968 subvol:
7969 description: Subvol is the name of the sub volume
7970 type: string
7971 type: object
7972 nullable: true
7973 type: array
7974 type: object
7975 type: object
7976 x-kubernetes-preserve-unknown-fields: true
7977 required:
7978 - metadata
7979 - spec
7980 type: object
7981 served: true
7982 storage: true
7983 subresources:
7984 status: {}
okozachenko120323147262023-01-28 04:16:42 +11007985---
7986apiVersion: apiextensions.k8s.io/v1
7987kind: CustomResourceDefinition
7988metadata:
7989 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -04007990 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +11007991 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +11007992 name: cephfilesystemsubvolumegroups.ceph.rook.io
7993spec:
7994 group: ceph.rook.io
7995 names:
7996 kind: CephFilesystemSubVolumeGroup
7997 listKind: CephFilesystemSubVolumeGroupList
7998 plural: cephfilesystemsubvolumegroups
7999 singular: cephfilesystemsubvolumegroup
8000 scope: Namespaced
8001 versions:
8002 - additionalPrinterColumns:
8003 - jsonPath: .status.phase
8004 name: Phase
8005 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04008006 - description: Name of the CephFileSystem
8007 jsonPath: .spec.filesystemName
8008 name: Filesystem
8009 type: string
8010 - jsonPath: .spec.quota
8011 name: Quota
8012 type: string
8013 - jsonPath: .status.info.pinning
8014 name: Pinning
8015 priority: 1
8016 type: string
8017 - jsonPath: .metadata.creationTimestamp
8018 name: Age
8019 type: date
okozachenko120323147262023-01-28 04:16:42 +11008020 name: v1
8021 schema:
8022 openAPIV3Schema:
8023 description: CephFilesystemSubVolumeGroup represents a Ceph Filesystem SubVolumeGroup
8024 properties:
8025 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -04008026 description: |-
8027 APIVersion defines the versioned schema of this representation of an object.
8028 Servers should convert recognized schemas to the latest internal value, and
8029 may reject unrecognized values.
8030 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +11008031 type: string
8032 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -04008033 description: |-
8034 Kind is a string value representing the REST resource this object represents.
8035 Servers may infer this from the endpoint the client submits requests to.
8036 Cannot be updated.
8037 In CamelCase.
8038 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +11008039 type: string
8040 metadata:
8041 type: object
8042 spec:
8043 description: Spec represents the specification of a Ceph Filesystem SubVolumeGroup
8044 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04008045 dataPoolName:
8046 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 +11008047 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04008048 filesystemName:
8049 description: |-
8050 FilesystemName is the name of Ceph Filesystem SubVolumeGroup volume name. Typically it's the name of
8051 the CephFilesystem CR. If not coming from the CephFilesystem CR, it can be retrieved from the
8052 list of Ceph Filesystem volumes with `ceph fs volume ls`. To learn more about Ceph Filesystem
8053 abstractions see https://docs.ceph.com/en/latest/cephfs/fs-volumes/#fs-volumes-and-subvolumes
8054 type: string
8055 x-kubernetes-validations:
8056 - message: filesystemName is immutable
8057 rule: self == oldSelf
8058 name:
8059 description: The name of the subvolume group. If not set, the default is the name of the subvolumeGroup CR.
8060 type: string
8061 x-kubernetes-validations:
8062 - message: name is immutable
8063 rule: self == oldSelf
8064 pinning:
8065 description: |-
8066 Pinning configuration of CephFilesystemSubVolumeGroup,
8067 reference https://docs.ceph.com/en/latest/cephfs/fs-volumes/#pinning-subvolumes-and-subvolume-groups
8068 only one out of (export, distributed, random) can be set at a time
8069 properties:
8070 distributed:
8071 maximum: 1
8072 minimum: 0
8073 nullable: true
8074 type: integer
8075 export:
8076 maximum: 256
8077 minimum: -1
8078 nullable: true
8079 type: integer
8080 random:
8081 maximum: 1
8082 minimum: 0
8083 nullable: true
8084 type: number
8085 type: object
8086 x-kubernetes-validations:
8087 - message: only one pinning type should be set
8088 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))
8089 quota:
8090 anyOf:
8091 - type: integer
8092 - type: string
8093 description: Quota size of the Ceph Filesystem subvolume group.
8094 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8095 x-kubernetes-int-or-string: true
okozachenko120323147262023-01-28 04:16:42 +11008096 required:
8097 - filesystemName
8098 type: object
8099 status:
8100 description: Status represents the status of a CephFilesystem SubvolumeGroup
8101 properties:
8102 info:
8103 additionalProperties:
8104 type: string
8105 nullable: true
8106 type: object
8107 observedGeneration:
8108 description: ObservedGeneration is the latest generation observed by the controller.
8109 format: int64
8110 type: integer
8111 phase:
8112 description: ConditionType represent a resource's status
8113 type: string
8114 type: object
8115 x-kubernetes-preserve-unknown-fields: true
8116 required:
8117 - metadata
8118 - spec
8119 type: object
8120 served: true
8121 storage: true
8122 subresources:
8123 status: {}
okozachenko120323147262023-01-28 04:16:42 +11008124---
8125apiVersion: apiextensions.k8s.io/v1
8126kind: CustomResourceDefinition
8127metadata:
8128 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -04008129 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +11008130 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +11008131 name: cephnfses.ceph.rook.io
8132spec:
8133 group: ceph.rook.io
8134 names:
8135 kind: CephNFS
8136 listKind: CephNFSList
8137 plural: cephnfses
8138 shortNames:
8139 - nfs
8140 singular: cephnfs
8141 scope: Namespaced
8142 versions:
8143 - name: v1
8144 schema:
8145 openAPIV3Schema:
8146 description: CephNFS represents a Ceph NFS
8147 properties:
8148 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -04008149 description: |-
8150 APIVersion defines the versioned schema of this representation of an object.
8151 Servers should convert recognized schemas to the latest internal value, and
8152 may reject unrecognized values.
8153 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +11008154 type: string
8155 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -04008156 description: |-
8157 Kind is a string value representing the REST resource this object represents.
8158 Servers may infer this from the endpoint the client submits requests to.
8159 Cannot be updated.
8160 In CamelCase.
8161 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +11008162 type: string
8163 metadata:
8164 type: object
8165 spec:
8166 description: NFSGaneshaSpec represents the spec of an nfs ganesha server
8167 properties:
8168 rados:
8169 description: RADOS is the Ganesha RADOS specification
8170 nullable: true
8171 properties:
8172 namespace:
Mohammed Naser65cda132024-05-02 14:34:08 -04008173 description: |-
8174 The namespace inside the Ceph pool (set by 'pool') where shared NFS-Ganesha config is stored.
8175 This setting is deprecated as it is internally set to the name of the CephNFS.
okozachenko120323147262023-01-28 04:16:42 +11008176 type: string
8177 pool:
Mohammed Naser65cda132024-05-02 14:34:08 -04008178 description: |-
8179 The Ceph pool used store the shared configuration for NFS-Ganesha daemons.
8180 This setting is deprecated, as it is internally required to be ".nfs".
okozachenko120323147262023-01-28 04:16:42 +11008181 type: string
8182 type: object
8183 security:
8184 description: Security allows specifying security configurations for the NFS cluster
8185 nullable: true
8186 properties:
8187 kerberos:
8188 description: Kerberos configures NFS-Ganesha to secure NFS client connections with Kerberos.
8189 nullable: true
8190 properties:
8191 configFiles:
Mohammed Naser65cda132024-05-02 14:34:08 -04008192 description: |-
8193 ConfigFiles defines where the Kerberos configuration should be sourced from. Config files
8194 will be placed into the `/etc/krb5.conf.rook/` directory.
8195
8196
8197 If this is left empty, Rook will not add any files. This allows you to manage the files
8198 yourself however you wish. For example, you may build them into your custom Ceph container
8199 image or use the Vault agent injector to securely add the files via annotations on the
8200 CephNFS spec (passed to the NFS server pods).
8201
8202
8203 Rook configures Kerberos to log to stderr. We suggest removing logging sections from config
8204 files to avoid consuming unnecessary disk space from logging to files.
okozachenko120323147262023-01-28 04:16:42 +11008205 properties:
8206 volumeSource:
okozachenko120323147262023-01-28 04:16:42 +11008207 properties:
okozachenko120323147262023-01-28 04:16:42 +11008208 configMap:
okozachenko120323147262023-01-28 04:16:42 +11008209 properties:
8210 defaultMode:
okozachenko120323147262023-01-28 04:16:42 +11008211 format: int32
8212 type: integer
8213 items:
okozachenko120323147262023-01-28 04:16:42 +11008214 items:
okozachenko120323147262023-01-28 04:16:42 +11008215 properties:
8216 key:
okozachenko120323147262023-01-28 04:16:42 +11008217 type: string
8218 mode:
okozachenko120323147262023-01-28 04:16:42 +11008219 format: int32
8220 type: integer
8221 path:
okozachenko120323147262023-01-28 04:16:42 +11008222 type: string
8223 required:
8224 - key
8225 - path
8226 type: object
8227 type: array
8228 name:
okozachenko120323147262023-01-28 04:16:42 +11008229 type: string
8230 optional:
okozachenko120323147262023-01-28 04:16:42 +11008231 type: boolean
8232 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008233 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008234 emptyDir:
okozachenko120323147262023-01-28 04:16:42 +11008235 properties:
8236 medium:
okozachenko120323147262023-01-28 04:16:42 +11008237 type: string
8238 sizeLimit:
8239 anyOf:
8240 - type: integer
8241 - type: string
okozachenko120323147262023-01-28 04:16:42 +11008242 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8243 x-kubernetes-int-or-string: true
8244 type: object
okozachenko120323147262023-01-28 04:16:42 +11008245 hostPath:
okozachenko120323147262023-01-28 04:16:42 +11008246 properties:
8247 path:
okozachenko120323147262023-01-28 04:16:42 +11008248 type: string
8249 type:
okozachenko120323147262023-01-28 04:16:42 +11008250 type: string
8251 required:
8252 - path
8253 type: object
okozachenko120323147262023-01-28 04:16:42 +11008254 persistentVolumeClaim:
okozachenko120323147262023-01-28 04:16:42 +11008255 properties:
8256 claimName:
okozachenko120323147262023-01-28 04:16:42 +11008257 type: string
8258 readOnly:
okozachenko120323147262023-01-28 04:16:42 +11008259 type: boolean
8260 required:
8261 - claimName
8262 type: object
okozachenko120323147262023-01-28 04:16:42 +11008263 projected:
okozachenko120323147262023-01-28 04:16:42 +11008264 properties:
8265 defaultMode:
okozachenko120323147262023-01-28 04:16:42 +11008266 format: int32
8267 type: integer
8268 sources:
okozachenko120323147262023-01-28 04:16:42 +11008269 items:
okozachenko120323147262023-01-28 04:16:42 +11008270 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04008271 clusterTrustBundle:
8272 properties:
8273 labelSelector:
8274 properties:
8275 matchExpressions:
8276 items:
8277 properties:
8278 key:
8279 type: string
8280 operator:
8281 type: string
8282 values:
8283 items:
8284 type: string
8285 type: array
8286 required:
8287 - key
8288 - operator
8289 type: object
8290 type: array
8291 matchLabels:
8292 additionalProperties:
8293 type: string
8294 type: object
8295 type: object
8296 x-kubernetes-map-type: atomic
8297 name:
8298 type: string
8299 optional:
8300 type: boolean
8301 path:
8302 type: string
8303 signerName:
8304 type: string
8305 required:
8306 - path
8307 type: object
okozachenko120323147262023-01-28 04:16:42 +11008308 configMap:
okozachenko120323147262023-01-28 04:16:42 +11008309 properties:
8310 items:
okozachenko120323147262023-01-28 04:16:42 +11008311 items:
okozachenko120323147262023-01-28 04:16:42 +11008312 properties:
8313 key:
okozachenko120323147262023-01-28 04:16:42 +11008314 type: string
8315 mode:
okozachenko120323147262023-01-28 04:16:42 +11008316 format: int32
8317 type: integer
8318 path:
okozachenko120323147262023-01-28 04:16:42 +11008319 type: string
8320 required:
8321 - key
8322 - path
8323 type: object
8324 type: array
8325 name:
okozachenko120323147262023-01-28 04:16:42 +11008326 type: string
8327 optional:
okozachenko120323147262023-01-28 04:16:42 +11008328 type: boolean
8329 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008330 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008331 downwardAPI:
okozachenko120323147262023-01-28 04:16:42 +11008332 properties:
8333 items:
okozachenko120323147262023-01-28 04:16:42 +11008334 items:
okozachenko120323147262023-01-28 04:16:42 +11008335 properties:
8336 fieldRef:
okozachenko120323147262023-01-28 04:16:42 +11008337 properties:
8338 apiVersion:
okozachenko120323147262023-01-28 04:16:42 +11008339 type: string
8340 fieldPath:
okozachenko120323147262023-01-28 04:16:42 +11008341 type: string
8342 required:
8343 - fieldPath
8344 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008345 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008346 mode:
okozachenko120323147262023-01-28 04:16:42 +11008347 format: int32
8348 type: integer
8349 path:
okozachenko120323147262023-01-28 04:16:42 +11008350 type: string
8351 resourceFieldRef:
okozachenko120323147262023-01-28 04:16:42 +11008352 properties:
8353 containerName:
okozachenko120323147262023-01-28 04:16:42 +11008354 type: string
8355 divisor:
8356 anyOf:
8357 - type: integer
8358 - type: string
okozachenko120323147262023-01-28 04:16:42 +11008359 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8360 x-kubernetes-int-or-string: true
8361 resource:
okozachenko120323147262023-01-28 04:16:42 +11008362 type: string
8363 required:
8364 - resource
8365 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008366 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008367 required:
8368 - path
8369 type: object
8370 type: array
8371 type: object
8372 secret:
okozachenko120323147262023-01-28 04:16:42 +11008373 properties:
8374 items:
okozachenko120323147262023-01-28 04:16:42 +11008375 items:
okozachenko120323147262023-01-28 04:16:42 +11008376 properties:
8377 key:
okozachenko120323147262023-01-28 04:16:42 +11008378 type: string
8379 mode:
okozachenko120323147262023-01-28 04:16:42 +11008380 format: int32
8381 type: integer
8382 path:
okozachenko120323147262023-01-28 04:16:42 +11008383 type: string
8384 required:
8385 - key
8386 - path
8387 type: object
8388 type: array
8389 name:
okozachenko120323147262023-01-28 04:16:42 +11008390 type: string
8391 optional:
okozachenko120323147262023-01-28 04:16:42 +11008392 type: boolean
8393 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008394 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008395 serviceAccountToken:
okozachenko120323147262023-01-28 04:16:42 +11008396 properties:
8397 audience:
okozachenko120323147262023-01-28 04:16:42 +11008398 type: string
8399 expirationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11008400 format: int64
8401 type: integer
8402 path:
okozachenko120323147262023-01-28 04:16:42 +11008403 type: string
8404 required:
8405 - path
8406 type: object
8407 type: object
8408 type: array
8409 type: object
okozachenko120323147262023-01-28 04:16:42 +11008410 secret:
okozachenko120323147262023-01-28 04:16:42 +11008411 properties:
8412 defaultMode:
okozachenko120323147262023-01-28 04:16:42 +11008413 format: int32
8414 type: integer
8415 items:
okozachenko120323147262023-01-28 04:16:42 +11008416 items:
okozachenko120323147262023-01-28 04:16:42 +11008417 properties:
8418 key:
okozachenko120323147262023-01-28 04:16:42 +11008419 type: string
8420 mode:
okozachenko120323147262023-01-28 04:16:42 +11008421 format: int32
8422 type: integer
8423 path:
okozachenko120323147262023-01-28 04:16:42 +11008424 type: string
8425 required:
8426 - key
8427 - path
8428 type: object
8429 type: array
8430 optional:
okozachenko120323147262023-01-28 04:16:42 +11008431 type: boolean
8432 secretName:
okozachenko120323147262023-01-28 04:16:42 +11008433 type: string
8434 type: object
okozachenko120323147262023-01-28 04:16:42 +11008435 type: object
8436 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008437 domainName:
8438 description: DomainName should be set to the Kerberos Realm.
8439 type: string
okozachenko120323147262023-01-28 04:16:42 +11008440 keytabFile:
Mohammed Naser65cda132024-05-02 14:34:08 -04008441 description: |-
8442 KeytabFile defines where the Kerberos keytab should be sourced from. The keytab file will be
8443 placed into `/etc/krb5.keytab`. If this is left empty, Rook will not add the file.
8444 This allows you to manage the `krb5.keytab` file yourself however you wish. For example, you
8445 may build it into your custom Ceph container image or use the Vault agent injector to
8446 securely add the file via annotations on the CephNFS spec (passed to the NFS server pods).
okozachenko120323147262023-01-28 04:16:42 +11008447 properties:
8448 volumeSource:
okozachenko120323147262023-01-28 04:16:42 +11008449 properties:
okozachenko120323147262023-01-28 04:16:42 +11008450 configMap:
okozachenko120323147262023-01-28 04:16:42 +11008451 properties:
8452 defaultMode:
okozachenko120323147262023-01-28 04:16:42 +11008453 format: int32
8454 type: integer
8455 items:
okozachenko120323147262023-01-28 04:16:42 +11008456 items:
okozachenko120323147262023-01-28 04:16:42 +11008457 properties:
8458 key:
okozachenko120323147262023-01-28 04:16:42 +11008459 type: string
8460 mode:
okozachenko120323147262023-01-28 04:16:42 +11008461 format: int32
8462 type: integer
8463 path:
okozachenko120323147262023-01-28 04:16:42 +11008464 type: string
8465 required:
8466 - key
8467 - path
8468 type: object
8469 type: array
8470 name:
okozachenko120323147262023-01-28 04:16:42 +11008471 type: string
8472 optional:
okozachenko120323147262023-01-28 04:16:42 +11008473 type: boolean
8474 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008475 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008476 emptyDir:
okozachenko120323147262023-01-28 04:16:42 +11008477 properties:
8478 medium:
okozachenko120323147262023-01-28 04:16:42 +11008479 type: string
8480 sizeLimit:
8481 anyOf:
8482 - type: integer
8483 - type: string
okozachenko120323147262023-01-28 04:16:42 +11008484 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8485 x-kubernetes-int-or-string: true
8486 type: object
okozachenko120323147262023-01-28 04:16:42 +11008487 hostPath:
okozachenko120323147262023-01-28 04:16:42 +11008488 properties:
8489 path:
okozachenko120323147262023-01-28 04:16:42 +11008490 type: string
8491 type:
okozachenko120323147262023-01-28 04:16:42 +11008492 type: string
8493 required:
8494 - path
8495 type: object
okozachenko120323147262023-01-28 04:16:42 +11008496 persistentVolumeClaim:
okozachenko120323147262023-01-28 04:16:42 +11008497 properties:
8498 claimName:
okozachenko120323147262023-01-28 04:16:42 +11008499 type: string
8500 readOnly:
okozachenko120323147262023-01-28 04:16:42 +11008501 type: boolean
8502 required:
8503 - claimName
8504 type: object
okozachenko120323147262023-01-28 04:16:42 +11008505 projected:
okozachenko120323147262023-01-28 04:16:42 +11008506 properties:
8507 defaultMode:
okozachenko120323147262023-01-28 04:16:42 +11008508 format: int32
8509 type: integer
8510 sources:
okozachenko120323147262023-01-28 04:16:42 +11008511 items:
okozachenko120323147262023-01-28 04:16:42 +11008512 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04008513 clusterTrustBundle:
8514 properties:
8515 labelSelector:
8516 properties:
8517 matchExpressions:
8518 items:
8519 properties:
8520 key:
8521 type: string
8522 operator:
8523 type: string
8524 values:
8525 items:
8526 type: string
8527 type: array
8528 required:
8529 - key
8530 - operator
8531 type: object
8532 type: array
8533 matchLabels:
8534 additionalProperties:
8535 type: string
8536 type: object
8537 type: object
8538 x-kubernetes-map-type: atomic
8539 name:
8540 type: string
8541 optional:
8542 type: boolean
8543 path:
8544 type: string
8545 signerName:
8546 type: string
8547 required:
8548 - path
8549 type: object
okozachenko120323147262023-01-28 04:16:42 +11008550 configMap:
okozachenko120323147262023-01-28 04:16:42 +11008551 properties:
8552 items:
okozachenko120323147262023-01-28 04:16:42 +11008553 items:
okozachenko120323147262023-01-28 04:16:42 +11008554 properties:
8555 key:
okozachenko120323147262023-01-28 04:16:42 +11008556 type: string
8557 mode:
okozachenko120323147262023-01-28 04:16:42 +11008558 format: int32
8559 type: integer
8560 path:
okozachenko120323147262023-01-28 04:16:42 +11008561 type: string
8562 required:
8563 - key
8564 - path
8565 type: object
8566 type: array
8567 name:
okozachenko120323147262023-01-28 04:16:42 +11008568 type: string
8569 optional:
okozachenko120323147262023-01-28 04:16:42 +11008570 type: boolean
8571 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008572 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008573 downwardAPI:
okozachenko120323147262023-01-28 04:16:42 +11008574 properties:
8575 items:
okozachenko120323147262023-01-28 04:16:42 +11008576 items:
okozachenko120323147262023-01-28 04:16:42 +11008577 properties:
8578 fieldRef:
okozachenko120323147262023-01-28 04:16:42 +11008579 properties:
8580 apiVersion:
okozachenko120323147262023-01-28 04:16:42 +11008581 type: string
8582 fieldPath:
okozachenko120323147262023-01-28 04:16:42 +11008583 type: string
8584 required:
8585 - fieldPath
8586 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008587 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008588 mode:
okozachenko120323147262023-01-28 04:16:42 +11008589 format: int32
8590 type: integer
8591 path:
okozachenko120323147262023-01-28 04:16:42 +11008592 type: string
8593 resourceFieldRef:
okozachenko120323147262023-01-28 04:16:42 +11008594 properties:
8595 containerName:
okozachenko120323147262023-01-28 04:16:42 +11008596 type: string
8597 divisor:
8598 anyOf:
8599 - type: integer
8600 - type: string
okozachenko120323147262023-01-28 04:16:42 +11008601 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8602 x-kubernetes-int-or-string: true
8603 resource:
okozachenko120323147262023-01-28 04:16:42 +11008604 type: string
8605 required:
8606 - resource
8607 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008608 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008609 required:
8610 - path
8611 type: object
8612 type: array
8613 type: object
8614 secret:
okozachenko120323147262023-01-28 04:16:42 +11008615 properties:
8616 items:
okozachenko120323147262023-01-28 04:16:42 +11008617 items:
okozachenko120323147262023-01-28 04:16:42 +11008618 properties:
8619 key:
okozachenko120323147262023-01-28 04:16:42 +11008620 type: string
8621 mode:
okozachenko120323147262023-01-28 04:16:42 +11008622 format: int32
8623 type: integer
8624 path:
okozachenko120323147262023-01-28 04:16:42 +11008625 type: string
8626 required:
8627 - key
8628 - path
8629 type: object
8630 type: array
8631 name:
okozachenko120323147262023-01-28 04:16:42 +11008632 type: string
8633 optional:
okozachenko120323147262023-01-28 04:16:42 +11008634 type: boolean
8635 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008636 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008637 serviceAccountToken:
okozachenko120323147262023-01-28 04:16:42 +11008638 properties:
8639 audience:
okozachenko120323147262023-01-28 04:16:42 +11008640 type: string
8641 expirationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11008642 format: int64
8643 type: integer
8644 path:
okozachenko120323147262023-01-28 04:16:42 +11008645 type: string
8646 required:
8647 - path
8648 type: object
8649 type: object
8650 type: array
8651 type: object
okozachenko120323147262023-01-28 04:16:42 +11008652 secret:
okozachenko120323147262023-01-28 04:16:42 +11008653 properties:
8654 defaultMode:
okozachenko120323147262023-01-28 04:16:42 +11008655 format: int32
8656 type: integer
8657 items:
okozachenko120323147262023-01-28 04:16:42 +11008658 items:
okozachenko120323147262023-01-28 04:16:42 +11008659 properties:
8660 key:
okozachenko120323147262023-01-28 04:16:42 +11008661 type: string
8662 mode:
okozachenko120323147262023-01-28 04:16:42 +11008663 format: int32
8664 type: integer
8665 path:
okozachenko120323147262023-01-28 04:16:42 +11008666 type: string
8667 required:
8668 - key
8669 - path
8670 type: object
8671 type: array
8672 optional:
okozachenko120323147262023-01-28 04:16:42 +11008673 type: boolean
8674 secretName:
okozachenko120323147262023-01-28 04:16:42 +11008675 type: string
8676 type: object
okozachenko120323147262023-01-28 04:16:42 +11008677 type: object
8678 type: object
8679 principalName:
8680 default: nfs
Mohammed Naser65cda132024-05-02 14:34:08 -04008681 description: |-
8682 PrincipalName corresponds directly to NFS-Ganesha's NFS_KRB5:PrincipalName config. In
8683 practice, this is the service prefix of the principal name. The default is "nfs".
8684 This value is combined with (a) the namespace and name of the CephNFS (with a hyphen between)
8685 and (b) the Realm configured in the user-provided krb5.conf to determine the full principal
8686 name: <principalName>/<namespace>-<name>@<realm>. e.g., nfs/rook-ceph-my-nfs@example.net.
8687 See https://github.com/nfs-ganesha/nfs-ganesha/wiki/RPCSEC_GSS for more detail.
okozachenko120323147262023-01-28 04:16:42 +11008688 type: string
8689 type: object
8690 sssd:
Mohammed Naser65cda132024-05-02 14:34:08 -04008691 description: |-
8692 SSSD enables integration with System Security Services Daemon (SSSD). SSSD can be used to
8693 provide user ID mapping from a number of sources. See https://sssd.io for more information
8694 about the SSSD project.
okozachenko120323147262023-01-28 04:16:42 +11008695 nullable: true
8696 properties:
8697 sidecar:
8698 description: Sidecar tells Rook to run SSSD in a sidecar alongside the NFS-Ganesha server in each NFS pod.
8699 properties:
8700 additionalFiles:
Mohammed Naser65cda132024-05-02 14:34:08 -04008701 description: |-
8702 AdditionalFiles defines any number of additional files that should be mounted into the SSSD
8703 sidecar. These files may be referenced by the sssd.conf config file.
okozachenko120323147262023-01-28 04:16:42 +11008704 items:
Mohammed Naser65cda132024-05-02 14:34:08 -04008705 description: |-
8706 SSSDSidecarAdditionalFile represents the source from where additional files for the the SSSD
8707 configuration should come from and are made available.
okozachenko120323147262023-01-28 04:16:42 +11008708 properties:
8709 subPath:
Mohammed Naser65cda132024-05-02 14:34:08 -04008710 description: |-
8711 SubPath defines the sub-path in `/etc/sssd/rook-additional/` where the additional file(s)
8712 will be placed. Each subPath definition must be unique and must not contain ':'.
okozachenko120323147262023-01-28 04:16:42 +11008713 minLength: 1
8714 pattern: ^[^:]+$
8715 type: string
8716 volumeSource:
okozachenko120323147262023-01-28 04:16:42 +11008717 properties:
okozachenko120323147262023-01-28 04:16:42 +11008718 configMap:
okozachenko120323147262023-01-28 04:16:42 +11008719 properties:
8720 defaultMode:
okozachenko120323147262023-01-28 04:16:42 +11008721 format: int32
8722 type: integer
8723 items:
okozachenko120323147262023-01-28 04:16:42 +11008724 items:
okozachenko120323147262023-01-28 04:16:42 +11008725 properties:
8726 key:
okozachenko120323147262023-01-28 04:16:42 +11008727 type: string
8728 mode:
okozachenko120323147262023-01-28 04:16:42 +11008729 format: int32
8730 type: integer
8731 path:
okozachenko120323147262023-01-28 04:16:42 +11008732 type: string
8733 required:
8734 - key
8735 - path
8736 type: object
8737 type: array
8738 name:
okozachenko120323147262023-01-28 04:16:42 +11008739 type: string
8740 optional:
okozachenko120323147262023-01-28 04:16:42 +11008741 type: boolean
8742 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008743 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11008744 emptyDir:
okozachenko120323147262023-01-28 04:16:42 +11008745 properties:
8746 medium:
okozachenko120323147262023-01-28 04:16:42 +11008747 type: string
8748 sizeLimit:
8749 anyOf:
8750 - type: integer
8751 - type: string
okozachenko120323147262023-01-28 04:16:42 +11008752 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8753 x-kubernetes-int-or-string: true
8754 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04008755 hostPath:
okozachenko120323147262023-01-28 04:16:42 +11008756 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04008757 path:
8758 type: string
8759 type:
8760 type: string
8761 required:
8762 - path
8763 type: object
8764 persistentVolumeClaim:
8765 properties:
8766 claimName:
8767 type: string
8768 readOnly:
8769 type: boolean
8770 required:
8771 - claimName
8772 type: object
8773 projected:
8774 properties:
8775 defaultMode:
8776 format: int32
8777 type: integer
8778 sources:
8779 items:
8780 properties:
8781 clusterTrustBundle:
8782 properties:
8783 labelSelector:
8784 properties:
8785 matchExpressions:
8786 items:
8787 properties:
8788 key:
8789 type: string
8790 operator:
8791 type: string
8792 values:
8793 items:
8794 type: string
8795 type: array
8796 required:
8797 - key
8798 - operator
8799 type: object
8800 type: array
8801 matchLabels:
8802 additionalProperties:
8803 type: string
8804 type: object
8805 type: object
8806 x-kubernetes-map-type: atomic
8807 name:
8808 type: string
8809 optional:
8810 type: boolean
8811 path:
8812 type: string
8813 signerName:
8814 type: string
8815 required:
8816 - path
8817 type: object
8818 configMap:
8819 properties:
8820 items:
8821 items:
8822 properties:
8823 key:
8824 type: string
8825 mode:
8826 format: int32
8827 type: integer
8828 path:
8829 type: string
8830 required:
8831 - key
8832 - path
8833 type: object
8834 type: array
8835 name:
8836 type: string
8837 optional:
8838 type: boolean
8839 type: object
8840 x-kubernetes-map-type: atomic
8841 downwardAPI:
8842 properties:
8843 items:
8844 items:
8845 properties:
8846 fieldRef:
8847 properties:
8848 apiVersion:
8849 type: string
8850 fieldPath:
8851 type: string
8852 required:
8853 - fieldPath
8854 type: object
8855 x-kubernetes-map-type: atomic
8856 mode:
8857 format: int32
8858 type: integer
8859 path:
8860 type: string
8861 resourceFieldRef:
8862 properties:
8863 containerName:
8864 type: string
8865 divisor:
8866 anyOf:
8867 - type: integer
8868 - type: string
8869 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8870 x-kubernetes-int-or-string: true
8871 resource:
8872 type: string
8873 required:
8874 - resource
8875 type: object
8876 x-kubernetes-map-type: atomic
8877 required:
8878 - path
8879 type: object
8880 type: array
8881 type: object
8882 secret:
8883 properties:
8884 items:
8885 items:
8886 properties:
8887 key:
8888 type: string
8889 mode:
8890 format: int32
8891 type: integer
8892 path:
8893 type: string
8894 required:
8895 - key
8896 - path
8897 type: object
8898 type: array
8899 name:
8900 type: string
8901 optional:
8902 type: boolean
8903 type: object
8904 x-kubernetes-map-type: atomic
8905 serviceAccountToken:
8906 properties:
8907 audience:
8908 type: string
8909 expirationSeconds:
8910 format: int64
8911 type: integer
8912 path:
8913 type: string
8914 required:
8915 - path
8916 type: object
8917 type: object
8918 type: array
8919 type: object
8920 secret:
8921 properties:
8922 defaultMode:
8923 format: int32
8924 type: integer
8925 items:
8926 items:
8927 properties:
8928 key:
8929 type: string
8930 mode:
8931 format: int32
8932 type: integer
8933 path:
8934 type: string
8935 required:
8936 - key
8937 - path
8938 type: object
8939 type: array
8940 optional:
8941 type: boolean
8942 secretName:
8943 type: string
8944 type: object
8945 type: object
8946 required:
8947 - subPath
8948 - volumeSource
8949 type: object
8950 type: array
8951 debugLevel:
8952 description: |-
8953 DebugLevel sets the debug level for SSSD. If unset or set to 0, Rook does nothing. Otherwise,
8954 this may be a value between 1 and 10. See SSSD docs for more info:
8955 https://sssd.io/troubleshooting/basics.html#sssd-debug-logs
8956 maximum: 10
8957 minimum: 0
8958 type: integer
8959 image:
8960 description: Image defines the container image that should be used for the SSSD sidecar.
8961 minLength: 1
8962 type: string
8963 resources:
8964 description: Resources allow specifying resource requests/limits on the SSSD sidecar container.
8965 properties:
8966 claims:
8967 description: |-
8968 Claims lists the names of resources, defined in spec.resourceClaims,
8969 that are used by this container.
8970
8971
8972 This is an alpha field and requires enabling the
8973 DynamicResourceAllocation feature gate.
8974
8975
8976 This field is immutable. It can only be set for containers.
8977 items:
8978 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
8979 properties:
8980 name:
8981 description: |-
8982 Name must match the name of one entry in pod.spec.resourceClaims of
8983 the Pod where this field is used. It makes that resource available
8984 inside a container.
8985 type: string
8986 required:
8987 - name
8988 type: object
8989 type: array
8990 x-kubernetes-list-map-keys:
8991 - name
8992 x-kubernetes-list-type: map
8993 limits:
8994 additionalProperties:
8995 anyOf:
8996 - type: integer
8997 - type: string
8998 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
8999 x-kubernetes-int-or-string: true
9000 description: |-
9001 Limits describes the maximum amount of compute resources allowed.
9002 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
9003 type: object
9004 requests:
9005 additionalProperties:
9006 anyOf:
9007 - type: integer
9008 - type: string
9009 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
9010 x-kubernetes-int-or-string: true
9011 description: |-
9012 Requests describes the minimum amount of compute resources required.
9013 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
9014 otherwise to an implementation-defined value. Requests cannot exceed Limits.
9015 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
9016 type: object
9017 type: object
9018 sssdConfigFile:
9019 description: |-
9020 SSSDConfigFile defines where the SSSD configuration should be sourced from. The config file
9021 will be placed into `/etc/sssd/sssd.conf`. If this is left empty, Rook will not add the file.
9022 This allows you to manage the `sssd.conf` file yourself however you wish. For example, you
9023 may build it into your custom Ceph container image or use the Vault agent injector to
9024 securely add the file via annotations on the CephNFS spec (passed to the NFS server pods).
9025 properties:
9026 volumeSource:
9027 properties:
9028 configMap:
9029 properties:
9030 defaultMode:
9031 format: int32
9032 type: integer
9033 items:
9034 items:
okozachenko120323147262023-01-28 04:16:42 +11009035 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04009036 key:
9037 type: string
9038 mode:
9039 format: int32
9040 type: integer
9041 path:
9042 type: string
9043 required:
9044 - key
9045 - path
9046 type: object
9047 type: array
9048 name:
9049 type: string
9050 optional:
9051 type: boolean
9052 type: object
9053 x-kubernetes-map-type: atomic
9054 emptyDir:
9055 properties:
9056 medium:
9057 type: string
9058 sizeLimit:
9059 anyOf:
9060 - type: integer
9061 - type: string
9062 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
9063 x-kubernetes-int-or-string: true
9064 type: object
9065 hostPath:
9066 properties:
9067 path:
9068 type: string
9069 type:
9070 type: string
9071 required:
9072 - path
9073 type: object
9074 persistentVolumeClaim:
9075 properties:
9076 claimName:
9077 type: string
9078 readOnly:
9079 type: boolean
9080 required:
9081 - claimName
9082 type: object
9083 projected:
9084 properties:
9085 defaultMode:
9086 format: int32
9087 type: integer
9088 sources:
9089 items:
9090 properties:
9091 clusterTrustBundle:
okozachenko120323147262023-01-28 04:16:42 +11009092 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04009093 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11009094 properties:
9095 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009096 items:
okozachenko120323147262023-01-28 04:16:42 +11009097 properties:
9098 key:
okozachenko120323147262023-01-28 04:16:42 +11009099 type: string
9100 operator:
okozachenko120323147262023-01-28 04:16:42 +11009101 type: string
9102 values:
okozachenko120323147262023-01-28 04:16:42 +11009103 items:
9104 type: string
9105 type: array
9106 required:
9107 - key
9108 - operator
9109 type: object
9110 type: array
9111 matchLabels:
9112 additionalProperties:
9113 type: string
okozachenko120323147262023-01-28 04:16:42 +11009114 type: object
9115 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009116 x-kubernetes-map-type: atomic
9117 name:
okozachenko120323147262023-01-28 04:16:42 +11009118 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04009119 optional:
9120 type: boolean
9121 path:
okozachenko120323147262023-01-28 04:16:42 +11009122 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -04009123 signerName:
okozachenko120323147262023-01-28 04:16:42 +11009124 type: string
9125 required:
Mohammed Naser65cda132024-05-02 14:34:08 -04009126 - path
okozachenko120323147262023-01-28 04:16:42 +11009127 type: object
okozachenko120323147262023-01-28 04:16:42 +11009128 configMap:
okozachenko120323147262023-01-28 04:16:42 +11009129 properties:
9130 items:
okozachenko120323147262023-01-28 04:16:42 +11009131 items:
okozachenko120323147262023-01-28 04:16:42 +11009132 properties:
9133 key:
okozachenko120323147262023-01-28 04:16:42 +11009134 type: string
9135 mode:
okozachenko120323147262023-01-28 04:16:42 +11009136 format: int32
9137 type: integer
9138 path:
okozachenko120323147262023-01-28 04:16:42 +11009139 type: string
9140 required:
9141 - key
9142 - path
9143 type: object
9144 type: array
9145 name:
okozachenko120323147262023-01-28 04:16:42 +11009146 type: string
9147 optional:
okozachenko120323147262023-01-28 04:16:42 +11009148 type: boolean
9149 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009150 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009151 downwardAPI:
okozachenko120323147262023-01-28 04:16:42 +11009152 properties:
9153 items:
okozachenko120323147262023-01-28 04:16:42 +11009154 items:
okozachenko120323147262023-01-28 04:16:42 +11009155 properties:
9156 fieldRef:
okozachenko120323147262023-01-28 04:16:42 +11009157 properties:
9158 apiVersion:
okozachenko120323147262023-01-28 04:16:42 +11009159 type: string
9160 fieldPath:
okozachenko120323147262023-01-28 04:16:42 +11009161 type: string
9162 required:
9163 - fieldPath
9164 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009165 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009166 mode:
okozachenko120323147262023-01-28 04:16:42 +11009167 format: int32
9168 type: integer
9169 path:
okozachenko120323147262023-01-28 04:16:42 +11009170 type: string
9171 resourceFieldRef:
okozachenko120323147262023-01-28 04:16:42 +11009172 properties:
9173 containerName:
okozachenko120323147262023-01-28 04:16:42 +11009174 type: string
9175 divisor:
9176 anyOf:
9177 - type: integer
9178 - type: string
okozachenko120323147262023-01-28 04:16:42 +11009179 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
9180 x-kubernetes-int-or-string: true
9181 resource:
okozachenko120323147262023-01-28 04:16:42 +11009182 type: string
9183 required:
9184 - resource
9185 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009186 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009187 required:
9188 - path
9189 type: object
9190 type: array
9191 type: object
9192 secret:
okozachenko120323147262023-01-28 04:16:42 +11009193 properties:
9194 items:
okozachenko120323147262023-01-28 04:16:42 +11009195 items:
okozachenko120323147262023-01-28 04:16:42 +11009196 properties:
9197 key:
okozachenko120323147262023-01-28 04:16:42 +11009198 type: string
9199 mode:
okozachenko120323147262023-01-28 04:16:42 +11009200 format: int32
9201 type: integer
9202 path:
okozachenko120323147262023-01-28 04:16:42 +11009203 type: string
9204 required:
9205 - key
9206 - path
9207 type: object
9208 type: array
9209 name:
okozachenko120323147262023-01-28 04:16:42 +11009210 type: string
9211 optional:
okozachenko120323147262023-01-28 04:16:42 +11009212 type: boolean
9213 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009214 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009215 serviceAccountToken:
okozachenko120323147262023-01-28 04:16:42 +11009216 properties:
9217 audience:
okozachenko120323147262023-01-28 04:16:42 +11009218 type: string
9219 expirationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11009220 format: int64
9221 type: integer
9222 path:
okozachenko120323147262023-01-28 04:16:42 +11009223 type: string
9224 required:
9225 - path
9226 type: object
9227 type: object
9228 type: array
9229 type: object
okozachenko120323147262023-01-28 04:16:42 +11009230 secret:
okozachenko120323147262023-01-28 04:16:42 +11009231 properties:
9232 defaultMode:
okozachenko120323147262023-01-28 04:16:42 +11009233 format: int32
9234 type: integer
9235 items:
okozachenko120323147262023-01-28 04:16:42 +11009236 items:
okozachenko120323147262023-01-28 04:16:42 +11009237 properties:
9238 key:
okozachenko120323147262023-01-28 04:16:42 +11009239 type: string
9240 mode:
okozachenko120323147262023-01-28 04:16:42 +11009241 format: int32
9242 type: integer
9243 path:
okozachenko120323147262023-01-28 04:16:42 +11009244 type: string
9245 required:
9246 - key
9247 - path
9248 type: object
9249 type: array
9250 optional:
okozachenko120323147262023-01-28 04:16:42 +11009251 type: boolean
9252 secretName:
okozachenko120323147262023-01-28 04:16:42 +11009253 type: string
9254 type: object
okozachenko120323147262023-01-28 04:16:42 +11009255 type: object
9256 type: object
9257 required:
9258 - image
9259 type: object
9260 type: object
9261 type: object
9262 server:
9263 description: Server is the Ganesha Server specification
9264 properties:
9265 active:
9266 description: The number of active Ganesha servers
9267 type: integer
9268 annotations:
9269 additionalProperties:
9270 type: string
9271 description: The annotations-related configuration to add/set on each Pod related object.
9272 nullable: true
9273 type: object
9274 x-kubernetes-preserve-unknown-fields: true
Mohammed Naser65cda132024-05-02 14:34:08 -04009275 hostNetwork:
9276 description: Whether host networking is enabled for the Ganesha server. If not set, the network settings from the cluster CR will be applied.
9277 nullable: true
9278 type: boolean
okozachenko120323147262023-01-28 04:16:42 +11009279 labels:
9280 additionalProperties:
9281 type: string
9282 description: The labels-related configuration to add/set on each Pod related object.
9283 nullable: true
9284 type: object
9285 x-kubernetes-preserve-unknown-fields: true
Mohammed Naser65cda132024-05-02 14:34:08 -04009286 livenessProbe:
9287 description: |-
9288 A liveness-probe to verify that Ganesha server has valid run-time state.
9289 If LivenessProbe.Disabled is false and LivenessProbe.Probe is nil uses default probe.
9290 properties:
9291 disabled:
9292 description: Disabled determines whether probe is disable or not
9293 type: boolean
9294 probe:
9295 description: |-
9296 Probe describes a health check to be performed against a container to determine whether it is
9297 alive or ready to receive traffic.
9298 properties:
9299 exec:
9300 description: Exec specifies the action to take.
9301 properties:
9302 command:
9303 description: |-
9304 Command is the command line to execute inside the container, the working directory for the
9305 command is root ('/') in the container's filesystem. The command is simply exec'd, it is
9306 not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
9307 a shell, you need to explicitly call out to that shell.
9308 Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
9309 items:
9310 type: string
9311 type: array
9312 type: object
9313 failureThreshold:
9314 description: |-
9315 Minimum consecutive failures for the probe to be considered failed after having succeeded.
9316 Defaults to 3. Minimum value is 1.
9317 format: int32
9318 type: integer
9319 grpc:
9320 description: GRPC specifies an action involving a GRPC port.
9321 properties:
9322 port:
9323 description: Port number of the gRPC service. Number must be in the range 1 to 65535.
9324 format: int32
9325 type: integer
9326 service:
9327 description: |-
9328 Service is the name of the service to place in the gRPC HealthCheckRequest
9329 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
9330
9331
9332 If this is not specified, the default behavior is defined by gRPC.
9333 type: string
9334 required:
9335 - port
9336 type: object
9337 httpGet:
9338 description: HTTPGet specifies the http request to perform.
9339 properties:
9340 host:
9341 description: |-
9342 Host name to connect to, defaults to the pod IP. You probably want to set
9343 "Host" in httpHeaders instead.
9344 type: string
9345 httpHeaders:
9346 description: Custom headers to set in the request. HTTP allows repeated headers.
9347 items:
9348 description: HTTPHeader describes a custom header to be used in HTTP probes
9349 properties:
9350 name:
9351 description: |-
9352 The header field name.
9353 This will be canonicalized upon output, so case-variant names will be understood as the same header.
9354 type: string
9355 value:
9356 description: The header field value
9357 type: string
9358 required:
9359 - name
9360 - value
9361 type: object
9362 type: array
9363 path:
9364 description: Path to access on the HTTP server.
9365 type: string
9366 port:
9367 anyOf:
9368 - type: integer
9369 - type: string
9370 description: |-
9371 Name or number of the port to access on the container.
9372 Number must be in the range 1 to 65535.
9373 Name must be an IANA_SVC_NAME.
9374 x-kubernetes-int-or-string: true
9375 scheme:
9376 description: |-
9377 Scheme to use for connecting to the host.
9378 Defaults to HTTP.
9379 type: string
9380 required:
9381 - port
9382 type: object
9383 initialDelaySeconds:
9384 description: |-
9385 Number of seconds after the container has started before liveness probes are initiated.
9386 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
9387 format: int32
9388 type: integer
9389 periodSeconds:
9390 description: |-
9391 How often (in seconds) to perform the probe.
9392 Default to 10 seconds. Minimum value is 1.
9393 format: int32
9394 type: integer
9395 successThreshold:
9396 description: |-
9397 Minimum consecutive successes for the probe to be considered successful after having failed.
9398 Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
9399 format: int32
9400 type: integer
9401 tcpSocket:
9402 description: TCPSocket specifies an action involving a TCP port.
9403 properties:
9404 host:
9405 description: 'Optional: Host name to connect to, defaults to the pod IP.'
9406 type: string
9407 port:
9408 anyOf:
9409 - type: integer
9410 - type: string
9411 description: |-
9412 Number or name of the port to access on the container.
9413 Number must be in the range 1 to 65535.
9414 Name must be an IANA_SVC_NAME.
9415 x-kubernetes-int-or-string: true
9416 required:
9417 - port
9418 type: object
9419 terminationGracePeriodSeconds:
9420 format: int64
9421 type: integer
9422 timeoutSeconds:
9423 description: |-
9424 Number of seconds after which the probe times out.
9425 Defaults to 1 second. Minimum value is 1.
9426 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
9427 format: int32
9428 type: integer
9429 type: object
9430 type: object
okozachenko120323147262023-01-28 04:16:42 +11009431 logLevel:
9432 description: LogLevel set logging level
9433 type: string
9434 placement:
okozachenko120323147262023-01-28 04:16:42 +11009435 nullable: true
9436 properties:
9437 nodeAffinity:
okozachenko120323147262023-01-28 04:16:42 +11009438 properties:
9439 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11009440 items:
okozachenko120323147262023-01-28 04:16:42 +11009441 properties:
9442 preference:
okozachenko120323147262023-01-28 04:16:42 +11009443 properties:
9444 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009445 items:
okozachenko120323147262023-01-28 04:16:42 +11009446 properties:
9447 key:
okozachenko120323147262023-01-28 04:16:42 +11009448 type: string
9449 operator:
okozachenko120323147262023-01-28 04:16:42 +11009450 type: string
9451 values:
okozachenko120323147262023-01-28 04:16:42 +11009452 items:
9453 type: string
9454 type: array
9455 required:
9456 - key
9457 - operator
9458 type: object
9459 type: array
9460 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11009461 items:
okozachenko120323147262023-01-28 04:16:42 +11009462 properties:
9463 key:
okozachenko120323147262023-01-28 04:16:42 +11009464 type: string
9465 operator:
okozachenko120323147262023-01-28 04:16:42 +11009466 type: string
9467 values:
okozachenko120323147262023-01-28 04:16:42 +11009468 items:
9469 type: string
9470 type: array
9471 required:
9472 - key
9473 - operator
9474 type: object
9475 type: array
9476 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009477 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009478 weight:
okozachenko120323147262023-01-28 04:16:42 +11009479 format: int32
9480 type: integer
9481 required:
9482 - preference
9483 - weight
9484 type: object
9485 type: array
9486 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11009487 properties:
9488 nodeSelectorTerms:
okozachenko120323147262023-01-28 04:16:42 +11009489 items:
okozachenko120323147262023-01-28 04:16:42 +11009490 properties:
9491 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009492 items:
okozachenko120323147262023-01-28 04:16:42 +11009493 properties:
9494 key:
okozachenko120323147262023-01-28 04:16:42 +11009495 type: string
9496 operator:
okozachenko120323147262023-01-28 04:16:42 +11009497 type: string
9498 values:
okozachenko120323147262023-01-28 04:16:42 +11009499 items:
9500 type: string
9501 type: array
9502 required:
9503 - key
9504 - operator
9505 type: object
9506 type: array
9507 matchFields:
okozachenko120323147262023-01-28 04:16:42 +11009508 items:
okozachenko120323147262023-01-28 04:16:42 +11009509 properties:
9510 key:
okozachenko120323147262023-01-28 04:16:42 +11009511 type: string
9512 operator:
okozachenko120323147262023-01-28 04:16:42 +11009513 type: string
9514 values:
okozachenko120323147262023-01-28 04:16:42 +11009515 items:
9516 type: string
9517 type: array
9518 required:
9519 - key
9520 - operator
9521 type: object
9522 type: array
9523 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009524 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009525 type: array
9526 required:
9527 - nodeSelectorTerms
9528 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009529 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009530 type: object
9531 podAffinity:
okozachenko120323147262023-01-28 04:16:42 +11009532 properties:
9533 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11009534 items:
okozachenko120323147262023-01-28 04:16:42 +11009535 properties:
9536 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11009537 properties:
9538 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11009539 properties:
9540 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009541 items:
okozachenko120323147262023-01-28 04:16:42 +11009542 properties:
9543 key:
okozachenko120323147262023-01-28 04:16:42 +11009544 type: string
9545 operator:
okozachenko120323147262023-01-28 04:16:42 +11009546 type: string
9547 values:
okozachenko120323147262023-01-28 04:16:42 +11009548 items:
9549 type: string
9550 type: array
9551 required:
9552 - key
9553 - operator
9554 type: object
9555 type: array
9556 matchLabels:
9557 additionalProperties:
9558 type: string
okozachenko120323147262023-01-28 04:16:42 +11009559 type: object
9560 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009561 x-kubernetes-map-type: atomic
9562 matchLabelKeys:
9563 items:
9564 type: string
9565 type: array
9566 x-kubernetes-list-type: atomic
9567 mismatchLabelKeys:
9568 items:
9569 type: string
9570 type: array
9571 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009572 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11009573 properties:
9574 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009575 items:
okozachenko120323147262023-01-28 04:16:42 +11009576 properties:
9577 key:
okozachenko120323147262023-01-28 04:16:42 +11009578 type: string
9579 operator:
okozachenko120323147262023-01-28 04:16:42 +11009580 type: string
9581 values:
okozachenko120323147262023-01-28 04:16:42 +11009582 items:
9583 type: string
9584 type: array
9585 required:
9586 - key
9587 - operator
9588 type: object
9589 type: array
9590 matchLabels:
9591 additionalProperties:
9592 type: string
okozachenko120323147262023-01-28 04:16:42 +11009593 type: object
9594 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009595 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009596 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11009597 items:
9598 type: string
9599 type: array
9600 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11009601 type: string
9602 required:
9603 - topologyKey
9604 type: object
9605 weight:
okozachenko120323147262023-01-28 04:16:42 +11009606 format: int32
9607 type: integer
9608 required:
9609 - podAffinityTerm
9610 - weight
9611 type: object
9612 type: array
9613 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11009614 items:
okozachenko120323147262023-01-28 04:16:42 +11009615 properties:
9616 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11009617 properties:
9618 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009619 items:
okozachenko120323147262023-01-28 04:16:42 +11009620 properties:
9621 key:
okozachenko120323147262023-01-28 04:16:42 +11009622 type: string
9623 operator:
okozachenko120323147262023-01-28 04:16:42 +11009624 type: string
9625 values:
okozachenko120323147262023-01-28 04:16:42 +11009626 items:
9627 type: string
9628 type: array
9629 required:
9630 - key
9631 - operator
9632 type: object
9633 type: array
9634 matchLabels:
9635 additionalProperties:
9636 type: string
okozachenko120323147262023-01-28 04:16:42 +11009637 type: object
9638 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009639 x-kubernetes-map-type: atomic
9640 matchLabelKeys:
9641 items:
9642 type: string
9643 type: array
9644 x-kubernetes-list-type: atomic
9645 mismatchLabelKeys:
9646 items:
9647 type: string
9648 type: array
9649 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009650 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11009651 properties:
9652 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009653 items:
okozachenko120323147262023-01-28 04:16:42 +11009654 properties:
9655 key:
okozachenko120323147262023-01-28 04:16:42 +11009656 type: string
9657 operator:
okozachenko120323147262023-01-28 04:16:42 +11009658 type: string
9659 values:
okozachenko120323147262023-01-28 04:16:42 +11009660 items:
9661 type: string
9662 type: array
9663 required:
9664 - key
9665 - operator
9666 type: object
9667 type: array
9668 matchLabels:
9669 additionalProperties:
9670 type: string
okozachenko120323147262023-01-28 04:16:42 +11009671 type: object
9672 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009673 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009674 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11009675 items:
9676 type: string
9677 type: array
9678 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11009679 type: string
9680 required:
9681 - topologyKey
9682 type: object
9683 type: array
9684 type: object
9685 podAntiAffinity:
okozachenko120323147262023-01-28 04:16:42 +11009686 properties:
9687 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11009688 items:
okozachenko120323147262023-01-28 04:16:42 +11009689 properties:
9690 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +11009691 properties:
9692 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11009693 properties:
9694 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009695 items:
okozachenko120323147262023-01-28 04:16:42 +11009696 properties:
9697 key:
okozachenko120323147262023-01-28 04:16:42 +11009698 type: string
9699 operator:
okozachenko120323147262023-01-28 04:16:42 +11009700 type: string
9701 values:
okozachenko120323147262023-01-28 04:16:42 +11009702 items:
9703 type: string
9704 type: array
9705 required:
9706 - key
9707 - operator
9708 type: object
9709 type: array
9710 matchLabels:
9711 additionalProperties:
9712 type: string
okozachenko120323147262023-01-28 04:16:42 +11009713 type: object
9714 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009715 x-kubernetes-map-type: atomic
9716 matchLabelKeys:
9717 items:
9718 type: string
9719 type: array
9720 x-kubernetes-list-type: atomic
9721 mismatchLabelKeys:
9722 items:
9723 type: string
9724 type: array
9725 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009726 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11009727 properties:
9728 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009729 items:
okozachenko120323147262023-01-28 04:16:42 +11009730 properties:
9731 key:
okozachenko120323147262023-01-28 04:16:42 +11009732 type: string
9733 operator:
okozachenko120323147262023-01-28 04:16:42 +11009734 type: string
9735 values:
okozachenko120323147262023-01-28 04:16:42 +11009736 items:
9737 type: string
9738 type: array
9739 required:
9740 - key
9741 - operator
9742 type: object
9743 type: array
9744 matchLabels:
9745 additionalProperties:
9746 type: string
okozachenko120323147262023-01-28 04:16:42 +11009747 type: object
9748 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009749 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009750 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11009751 items:
9752 type: string
9753 type: array
9754 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11009755 type: string
9756 required:
9757 - topologyKey
9758 type: object
9759 weight:
okozachenko120323147262023-01-28 04:16:42 +11009760 format: int32
9761 type: integer
9762 required:
9763 - podAffinityTerm
9764 - weight
9765 type: object
9766 type: array
9767 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +11009768 items:
okozachenko120323147262023-01-28 04:16:42 +11009769 properties:
9770 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11009771 properties:
9772 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009773 items:
okozachenko120323147262023-01-28 04:16:42 +11009774 properties:
9775 key:
okozachenko120323147262023-01-28 04:16:42 +11009776 type: string
9777 operator:
okozachenko120323147262023-01-28 04:16:42 +11009778 type: string
9779 values:
okozachenko120323147262023-01-28 04:16:42 +11009780 items:
9781 type: string
9782 type: array
9783 required:
9784 - key
9785 - operator
9786 type: object
9787 type: array
9788 matchLabels:
9789 additionalProperties:
9790 type: string
okozachenko120323147262023-01-28 04:16:42 +11009791 type: object
9792 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009793 x-kubernetes-map-type: atomic
9794 matchLabelKeys:
9795 items:
9796 type: string
9797 type: array
9798 x-kubernetes-list-type: atomic
9799 mismatchLabelKeys:
9800 items:
9801 type: string
9802 type: array
9803 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009804 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +11009805 properties:
9806 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009807 items:
okozachenko120323147262023-01-28 04:16:42 +11009808 properties:
9809 key:
okozachenko120323147262023-01-28 04:16:42 +11009810 type: string
9811 operator:
okozachenko120323147262023-01-28 04:16:42 +11009812 type: string
9813 values:
okozachenko120323147262023-01-28 04:16:42 +11009814 items:
9815 type: string
9816 type: array
9817 required:
9818 - key
9819 - operator
9820 type: object
9821 type: array
9822 matchLabels:
9823 additionalProperties:
9824 type: string
okozachenko120323147262023-01-28 04:16:42 +11009825 type: object
9826 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009827 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009828 namespaces:
okozachenko120323147262023-01-28 04:16:42 +11009829 items:
9830 type: string
9831 type: array
9832 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11009833 type: string
9834 required:
9835 - topologyKey
9836 type: object
9837 type: array
9838 type: object
9839 tolerations:
okozachenko120323147262023-01-28 04:16:42 +11009840 items:
okozachenko120323147262023-01-28 04:16:42 +11009841 properties:
9842 effect:
okozachenko120323147262023-01-28 04:16:42 +11009843 type: string
9844 key:
okozachenko120323147262023-01-28 04:16:42 +11009845 type: string
9846 operator:
okozachenko120323147262023-01-28 04:16:42 +11009847 type: string
9848 tolerationSeconds:
okozachenko120323147262023-01-28 04:16:42 +11009849 format: int64
9850 type: integer
9851 value:
okozachenko120323147262023-01-28 04:16:42 +11009852 type: string
9853 type: object
9854 type: array
9855 topologySpreadConstraints:
okozachenko120323147262023-01-28 04:16:42 +11009856 items:
okozachenko120323147262023-01-28 04:16:42 +11009857 properties:
9858 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +11009859 properties:
9860 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +11009861 items:
okozachenko120323147262023-01-28 04:16:42 +11009862 properties:
9863 key:
okozachenko120323147262023-01-28 04:16:42 +11009864 type: string
9865 operator:
okozachenko120323147262023-01-28 04:16:42 +11009866 type: string
9867 values:
okozachenko120323147262023-01-28 04:16:42 +11009868 items:
9869 type: string
9870 type: array
9871 required:
9872 - key
9873 - operator
9874 type: object
9875 type: array
9876 matchLabels:
9877 additionalProperties:
9878 type: string
okozachenko120323147262023-01-28 04:16:42 +11009879 type: object
9880 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -04009881 x-kubernetes-map-type: atomic
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00009882 matchLabelKeys:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00009883 items:
9884 type: string
9885 type: array
9886 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +11009887 maxSkew:
okozachenko120323147262023-01-28 04:16:42 +11009888 format: int32
9889 type: integer
9890 minDomains:
okozachenko120323147262023-01-28 04:16:42 +11009891 format: int32
9892 type: integer
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00009893 nodeAffinityPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00009894 type: string
9895 nodeTaintsPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +00009896 type: string
okozachenko120323147262023-01-28 04:16:42 +11009897 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +11009898 type: string
9899 whenUnsatisfiable:
okozachenko120323147262023-01-28 04:16:42 +11009900 type: string
9901 required:
9902 - maxSkew
9903 - topologyKey
9904 - whenUnsatisfiable
9905 type: object
9906 type: array
9907 type: object
9908 x-kubernetes-preserve-unknown-fields: true
9909 priorityClassName:
9910 description: PriorityClassName sets the priority class on the pods
9911 type: string
9912 resources:
9913 description: Resources set resource requests and limits
9914 nullable: true
9915 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -04009916 claims:
9917 description: |-
9918 Claims lists the names of resources, defined in spec.resourceClaims,
9919 that are used by this container.
9920
9921
9922 This is an alpha field and requires enabling the
9923 DynamicResourceAllocation feature gate.
9924
9925
9926 This field is immutable. It can only be set for containers.
9927 items:
9928 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
9929 properties:
9930 name:
9931 description: |-
9932 Name must match the name of one entry in pod.spec.resourceClaims of
9933 the Pod where this field is used. It makes that resource available
9934 inside a container.
9935 type: string
9936 required:
9937 - name
9938 type: object
9939 type: array
9940 x-kubernetes-list-map-keys:
9941 - name
9942 x-kubernetes-list-type: map
okozachenko120323147262023-01-28 04:16:42 +11009943 limits:
9944 additionalProperties:
9945 anyOf:
9946 - type: integer
9947 - type: string
9948 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
9949 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04009950 description: |-
9951 Limits describes the maximum amount of compute resources allowed.
9952 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11009953 type: object
9954 requests:
9955 additionalProperties:
9956 anyOf:
9957 - type: integer
9958 - type: string
9959 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
9960 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -04009961 description: |-
9962 Requests describes the minimum amount of compute resources required.
9963 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
9964 otherwise to an implementation-defined value. Requests cannot exceed Limits.
9965 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +11009966 type: object
9967 type: object
9968 x-kubernetes-preserve-unknown-fields: true
9969 required:
9970 - active
9971 type: object
9972 required:
9973 - server
9974 type: object
9975 status:
9976 description: Status represents the status of an object
9977 properties:
9978 conditions:
9979 items:
9980 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
9981 properties:
9982 lastHeartbeatTime:
9983 format: date-time
9984 type: string
9985 lastTransitionTime:
9986 format: date-time
9987 type: string
9988 message:
9989 type: string
9990 reason:
9991 description: ConditionReason is a reason for a condition
9992 type: string
9993 status:
9994 type: string
9995 type:
9996 description: ConditionType represent a resource's status
9997 type: string
9998 type: object
9999 type: array
10000 observedGeneration:
10001 description: ObservedGeneration is the latest generation observed by the controller.
10002 format: int64
10003 type: integer
10004 phase:
10005 type: string
10006 type: object
10007 x-kubernetes-preserve-unknown-fields: true
10008 required:
10009 - metadata
10010 - spec
10011 type: object
10012 served: true
10013 storage: true
10014 subresources:
10015 status: {}
okozachenko120323147262023-01-28 04:16:42 +110010016---
10017apiVersion: apiextensions.k8s.io/v1
10018kind: CustomResourceDefinition
10019metadata:
10020 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -040010021 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +110010022 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +110010023 name: cephobjectrealms.ceph.rook.io
10024spec:
10025 group: ceph.rook.io
10026 names:
10027 kind: CephObjectRealm
10028 listKind: CephObjectRealmList
10029 plural: cephobjectrealms
10030 singular: cephobjectrealm
10031 scope: Namespaced
10032 versions:
10033 - name: v1
10034 schema:
10035 openAPIV3Schema:
10036 description: CephObjectRealm represents a Ceph Object Store Gateway Realm
10037 properties:
10038 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -040010039 description: |-
10040 APIVersion defines the versioned schema of this representation of an object.
10041 Servers should convert recognized schemas to the latest internal value, and
10042 may reject unrecognized values.
10043 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +110010044 type: string
10045 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -040010046 description: |-
10047 Kind is a string value representing the REST resource this object represents.
10048 Servers may infer this from the endpoint the client submits requests to.
10049 Cannot be updated.
10050 In CamelCase.
10051 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +110010052 type: string
10053 metadata:
10054 type: object
10055 spec:
10056 description: ObjectRealmSpec represent the spec of an ObjectRealm
10057 nullable: true
10058 properties:
10059 pull:
10060 description: PullSpec represents the pulling specification of a Ceph Object Storage Gateway Realm
10061 properties:
10062 endpoint:
10063 pattern: ^https*://
10064 type: string
10065 type: object
10066 type: object
10067 status:
10068 description: Status represents the status of an object
10069 properties:
10070 conditions:
10071 items:
10072 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
10073 properties:
10074 lastHeartbeatTime:
10075 format: date-time
10076 type: string
10077 lastTransitionTime:
10078 format: date-time
10079 type: string
10080 message:
10081 type: string
10082 reason:
10083 description: ConditionReason is a reason for a condition
10084 type: string
10085 status:
10086 type: string
10087 type:
10088 description: ConditionType represent a resource's status
10089 type: string
10090 type: object
10091 type: array
10092 observedGeneration:
10093 description: ObservedGeneration is the latest generation observed by the controller.
10094 format: int64
10095 type: integer
10096 phase:
10097 type: string
10098 type: object
10099 x-kubernetes-preserve-unknown-fields: true
10100 required:
10101 - metadata
10102 type: object
10103 served: true
10104 storage: true
10105 subresources:
10106 status: {}
okozachenko120323147262023-01-28 04:16:42 +110010107---
10108apiVersion: apiextensions.k8s.io/v1
10109kind: CustomResourceDefinition
10110metadata:
10111 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -040010112 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +110010113 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +110010114 name: cephobjectstores.ceph.rook.io
10115spec:
10116 group: ceph.rook.io
10117 names:
10118 kind: CephObjectStore
10119 listKind: CephObjectStoreList
10120 plural: cephobjectstores
10121 singular: cephobjectstore
10122 scope: Namespaced
10123 versions:
10124 - additionalPrinterColumns:
10125 - jsonPath: .status.phase
10126 name: Phase
10127 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040010128 - jsonPath: .status.info.endpoint
10129 name: Endpoint
10130 type: string
10131 - jsonPath: .status.info.secureEndpoint
10132 name: SecureEndpoint
10133 type: string
10134 - jsonPath: .metadata.creationTimestamp
10135 name: Age
10136 type: date
okozachenko120323147262023-01-28 04:16:42 +110010137 name: v1
10138 schema:
10139 openAPIV3Schema:
10140 description: CephObjectStore represents a Ceph Object Store Gateway
10141 properties:
10142 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -040010143 description: |-
10144 APIVersion defines the versioned schema of this representation of an object.
10145 Servers should convert recognized schemas to the latest internal value, and
10146 may reject unrecognized values.
10147 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +110010148 type: string
10149 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -040010150 description: |-
10151 Kind is a string value representing the REST resource this object represents.
10152 Servers may infer this from the endpoint the client submits requests to.
10153 Cannot be updated.
10154 In CamelCase.
10155 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +110010156 type: string
10157 metadata:
10158 type: object
10159 spec:
10160 description: ObjectStoreSpec represent the spec of a pool
10161 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040010162 allowUsersInNamespaces:
10163 description: |-
10164 The list of allowed namespaces in addition to the object store namespace
10165 where ceph object store users may be created. Specify "*" to allow all
10166 namespaces, otherwise list individual namespaces that are to be allowed.
10167 This is useful for applications that need object store credentials
10168 to be created in their own namespace, where neither OBCs nor COSI
10169 is being used to create buckets. The default is empty.
10170 items:
10171 type: string
10172 type: array
okozachenko120323147262023-01-28 04:16:42 +110010173 dataPool:
10174 description: The data pool settings
10175 nullable: true
10176 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040010177 application:
10178 description: The application name to set on the pool. Only expected to be set for rgw pools.
10179 type: string
okozachenko120323147262023-01-28 04:16:42 +110010180 compressionMode:
Mohammed Naser65cda132024-05-02 14:34:08 -040010181 description: |-
10182 DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force"
10183 The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
10184 Do NOT set a default value for kubebuilder as this will override the Parameters
okozachenko120323147262023-01-28 04:16:42 +110010185 enum:
10186 - none
10187 - passive
10188 - aggressive
10189 - force
10190 - ""
10191 nullable: true
10192 type: string
10193 crushRoot:
10194 description: The root of the crush hierarchy utilized by the pool
10195 nullable: true
10196 type: string
10197 deviceClass:
10198 description: The device class the OSD should set to for use in the pool
10199 nullable: true
10200 type: string
10201 enableRBDStats:
10202 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
10203 type: boolean
10204 erasureCoded:
10205 description: The erasure code settings
10206 properties:
10207 algorithm:
10208 description: The algorithm for erasure coding
10209 type: string
10210 codingChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -040010211 description: |-
10212 Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
10213 This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
okozachenko120323147262023-01-28 04:16:42 +110010214 minimum: 0
10215 type: integer
10216 dataChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -040010217 description: |-
10218 Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
10219 The number of chunks required to recover an object when any single OSD is lost is the same
10220 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 +110010221 minimum: 0
10222 type: integer
10223 required:
10224 - codingChunks
10225 - dataChunks
10226 type: object
10227 failureDomain:
10228 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
10229 type: string
10230 mirroring:
10231 description: The mirroring settings
10232 properties:
10233 enabled:
10234 description: Enabled whether this pool is mirrored or not
10235 type: boolean
10236 mode:
10237 description: 'Mode is the mirroring mode: either pool or image'
10238 type: string
10239 peers:
10240 description: Peers represents the peers spec
10241 nullable: true
10242 properties:
10243 secretNames:
10244 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
10245 items:
10246 type: string
10247 type: array
10248 type: object
10249 snapshotSchedules:
10250 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
10251 items:
10252 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
10253 properties:
10254 interval:
10255 description: Interval represent the periodicity of the snapshot.
10256 type: string
10257 path:
10258 description: Path is the path to snapshot, only valid for CephFS
10259 type: string
10260 startTime:
10261 description: StartTime indicates when to start the snapshot
10262 type: string
10263 type: object
10264 type: array
10265 type: object
10266 parameters:
10267 additionalProperties:
10268 type: string
10269 description: Parameters is a list of properties to enable on a given pool
10270 nullable: true
10271 type: object
10272 x-kubernetes-preserve-unknown-fields: true
10273 quotas:
10274 description: The quota settings
10275 nullable: true
10276 properties:
10277 maxBytes:
Mohammed Naser65cda132024-05-02 14:34:08 -040010278 description: |-
10279 MaxBytes represents the quota in bytes
10280 Deprecated in favor of MaxSize
okozachenko120323147262023-01-28 04:16:42 +110010281 format: int64
10282 type: integer
10283 maxObjects:
10284 description: MaxObjects represents the quota in objects
10285 format: int64
10286 type: integer
10287 maxSize:
10288 description: MaxSize represents the quota in bytes as a string
10289 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
10290 type: string
10291 type: object
10292 replicated:
10293 description: The replication settings
10294 properties:
10295 hybridStorage:
10296 description: HybridStorage represents hybrid storage tier settings
10297 nullable: true
10298 properties:
10299 primaryDeviceClass:
10300 description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
10301 minLength: 1
10302 type: string
10303 secondaryDeviceClass:
10304 description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
10305 minLength: 1
10306 type: string
10307 required:
10308 - primaryDeviceClass
10309 - secondaryDeviceClass
10310 type: object
10311 replicasPerFailureDomain:
10312 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
10313 minimum: 1
10314 type: integer
10315 requireSafeReplicaSize:
10316 description: RequireSafeReplicaSize if false allows you to set replica 1
10317 type: boolean
10318 size:
10319 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
10320 minimum: 0
10321 type: integer
10322 subFailureDomain:
10323 description: SubFailureDomain the name of the sub-failure domain
10324 type: string
10325 targetSizeRatio:
10326 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
10327 type: number
10328 required:
10329 - size
10330 type: object
10331 statusCheck:
10332 description: The mirroring statusCheck
10333 properties:
10334 mirror:
10335 description: HealthCheckSpec represents the health check of an object store bucket
10336 nullable: true
10337 properties:
10338 disabled:
10339 type: boolean
10340 interval:
10341 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
10342 type: string
10343 timeout:
10344 type: string
10345 type: object
10346 type: object
10347 x-kubernetes-preserve-unknown-fields: true
10348 type: object
10349 gateway:
10350 description: The rgw pod info
10351 nullable: true
10352 properties:
10353 annotations:
10354 additionalProperties:
10355 type: string
10356 description: The annotations-related configuration to add/set on each Pod related object.
10357 nullable: true
10358 type: object
10359 x-kubernetes-preserve-unknown-fields: true
10360 caBundleRef:
10361 description: The name of the secret that stores custom ca-bundle with root and intermediate certificates.
10362 nullable: true
10363 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040010364 dashboardEnabled:
10365 description: Whether rgw dashboard is enabled for the rgw daemon. If not set, the rgw dashboard will be enabled.
10366 nullable: true
10367 type: boolean
10368 x-kubernetes-preserve-unknown-fields: true
10369 disableMultisiteSyncTraffic:
10370 description: |-
10371 DisableMultisiteSyncTraffic, when true, prevents this object store's gateways from
10372 transmitting multisite replication data. Note that this value does not affect whether
10373 gateways receive multisite replication traffic: see ObjectZone.spec.customEndpoints for that.
10374 If false or unset, this object store's gateways will be able to transmit multisite
10375 replication data.
10376 type: boolean
okozachenko120323147262023-01-28 04:16:42 +110010377 externalRgwEndpoints:
Mohammed Naser65cda132024-05-02 14:34:08 -040010378 description: |-
10379 ExternalRgwEndpoints points to external RGW endpoint(s). Multiple endpoints can be given, but
10380 for stability of ObjectBucketClaims, we highly recommend that users give only a single
10381 external RGW endpoint that is a load balancer that sends requests to the multiple RGWs.
okozachenko120323147262023-01-28 04:16:42 +110010382 items:
Mohammed Naser65cda132024-05-02 14:34:08 -040010383 description: |-
10384 EndpointAddress is a tuple that describes a single IP address or host name. This is a subset of
10385 Kubernetes's v1.EndpointAddress.
okozachenko120323147262023-01-28 04:16:42 +110010386 properties:
10387 hostname:
Mohammed Naser65cda132024-05-02 14:34:08 -040010388 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 +110010389 type: string
10390 ip:
Mohammed Naser65cda132024-05-02 14:34:08 -040010391 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 +110010392 type: string
okozachenko120323147262023-01-28 04:16:42 +110010393 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010394 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010395 nullable: true
10396 type: array
10397 hostNetwork:
10398 description: Whether host networking is enabled for the rgw daemon. If not set, the network settings from the cluster CR will be applied.
10399 nullable: true
10400 type: boolean
10401 x-kubernetes-preserve-unknown-fields: true
10402 instances:
10403 description: The number of pods in the rgw replicaset.
10404 format: int32
10405 nullable: true
10406 type: integer
10407 labels:
10408 additionalProperties:
10409 type: string
10410 description: The labels-related configuration to add/set on each Pod related object.
10411 nullable: true
10412 type: object
10413 x-kubernetes-preserve-unknown-fields: true
10414 placement:
okozachenko120323147262023-01-28 04:16:42 +110010415 nullable: true
10416 properties:
10417 nodeAffinity:
okozachenko120323147262023-01-28 04:16:42 +110010418 properties:
10419 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110010420 items:
okozachenko120323147262023-01-28 04:16:42 +110010421 properties:
10422 preference:
okozachenko120323147262023-01-28 04:16:42 +110010423 properties:
10424 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010425 items:
okozachenko120323147262023-01-28 04:16:42 +110010426 properties:
10427 key:
okozachenko120323147262023-01-28 04:16:42 +110010428 type: string
10429 operator:
okozachenko120323147262023-01-28 04:16:42 +110010430 type: string
10431 values:
okozachenko120323147262023-01-28 04:16:42 +110010432 items:
10433 type: string
10434 type: array
10435 required:
10436 - key
10437 - operator
10438 type: object
10439 type: array
10440 matchFields:
okozachenko120323147262023-01-28 04:16:42 +110010441 items:
okozachenko120323147262023-01-28 04:16:42 +110010442 properties:
10443 key:
okozachenko120323147262023-01-28 04:16:42 +110010444 type: string
10445 operator:
okozachenko120323147262023-01-28 04:16:42 +110010446 type: string
10447 values:
okozachenko120323147262023-01-28 04:16:42 +110010448 items:
10449 type: string
10450 type: array
10451 required:
10452 - key
10453 - operator
10454 type: object
10455 type: array
10456 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010457 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010458 weight:
okozachenko120323147262023-01-28 04:16:42 +110010459 format: int32
10460 type: integer
10461 required:
10462 - preference
10463 - weight
10464 type: object
10465 type: array
10466 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110010467 properties:
10468 nodeSelectorTerms:
okozachenko120323147262023-01-28 04:16:42 +110010469 items:
okozachenko120323147262023-01-28 04:16:42 +110010470 properties:
10471 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010472 items:
okozachenko120323147262023-01-28 04:16:42 +110010473 properties:
10474 key:
okozachenko120323147262023-01-28 04:16:42 +110010475 type: string
10476 operator:
okozachenko120323147262023-01-28 04:16:42 +110010477 type: string
10478 values:
okozachenko120323147262023-01-28 04:16:42 +110010479 items:
10480 type: string
10481 type: array
10482 required:
10483 - key
10484 - operator
10485 type: object
10486 type: array
10487 matchFields:
okozachenko120323147262023-01-28 04:16:42 +110010488 items:
okozachenko120323147262023-01-28 04:16:42 +110010489 properties:
10490 key:
okozachenko120323147262023-01-28 04:16:42 +110010491 type: string
10492 operator:
okozachenko120323147262023-01-28 04:16:42 +110010493 type: string
10494 values:
okozachenko120323147262023-01-28 04:16:42 +110010495 items:
10496 type: string
10497 type: array
10498 required:
10499 - key
10500 - operator
10501 type: object
10502 type: array
10503 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010504 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010505 type: array
10506 required:
10507 - nodeSelectorTerms
10508 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010509 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010510 type: object
10511 podAffinity:
okozachenko120323147262023-01-28 04:16:42 +110010512 properties:
10513 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110010514 items:
okozachenko120323147262023-01-28 04:16:42 +110010515 properties:
10516 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +110010517 properties:
10518 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110010519 properties:
10520 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010521 items:
okozachenko120323147262023-01-28 04:16:42 +110010522 properties:
10523 key:
okozachenko120323147262023-01-28 04:16:42 +110010524 type: string
10525 operator:
okozachenko120323147262023-01-28 04:16:42 +110010526 type: string
10527 values:
okozachenko120323147262023-01-28 04:16:42 +110010528 items:
10529 type: string
10530 type: array
10531 required:
10532 - key
10533 - operator
10534 type: object
10535 type: array
10536 matchLabels:
10537 additionalProperties:
10538 type: string
okozachenko120323147262023-01-28 04:16:42 +110010539 type: object
10540 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010541 x-kubernetes-map-type: atomic
10542 matchLabelKeys:
10543 items:
10544 type: string
10545 type: array
10546 x-kubernetes-list-type: atomic
10547 mismatchLabelKeys:
10548 items:
10549 type: string
10550 type: array
10551 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010552 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +110010553 properties:
10554 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010555 items:
okozachenko120323147262023-01-28 04:16:42 +110010556 properties:
10557 key:
okozachenko120323147262023-01-28 04:16:42 +110010558 type: string
10559 operator:
okozachenko120323147262023-01-28 04:16:42 +110010560 type: string
10561 values:
okozachenko120323147262023-01-28 04:16:42 +110010562 items:
10563 type: string
10564 type: array
10565 required:
10566 - key
10567 - operator
10568 type: object
10569 type: array
10570 matchLabels:
10571 additionalProperties:
10572 type: string
okozachenko120323147262023-01-28 04:16:42 +110010573 type: object
10574 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010575 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010576 namespaces:
okozachenko120323147262023-01-28 04:16:42 +110010577 items:
10578 type: string
10579 type: array
10580 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110010581 type: string
10582 required:
10583 - topologyKey
10584 type: object
10585 weight:
okozachenko120323147262023-01-28 04:16:42 +110010586 format: int32
10587 type: integer
10588 required:
10589 - podAffinityTerm
10590 - weight
10591 type: object
10592 type: array
10593 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110010594 items:
okozachenko120323147262023-01-28 04:16:42 +110010595 properties:
10596 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110010597 properties:
10598 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010599 items:
okozachenko120323147262023-01-28 04:16:42 +110010600 properties:
10601 key:
okozachenko120323147262023-01-28 04:16:42 +110010602 type: string
10603 operator:
okozachenko120323147262023-01-28 04:16:42 +110010604 type: string
10605 values:
okozachenko120323147262023-01-28 04:16:42 +110010606 items:
10607 type: string
10608 type: array
10609 required:
10610 - key
10611 - operator
10612 type: object
10613 type: array
10614 matchLabels:
10615 additionalProperties:
10616 type: string
okozachenko120323147262023-01-28 04:16:42 +110010617 type: object
10618 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010619 x-kubernetes-map-type: atomic
10620 matchLabelKeys:
10621 items:
10622 type: string
10623 type: array
10624 x-kubernetes-list-type: atomic
10625 mismatchLabelKeys:
10626 items:
10627 type: string
10628 type: array
10629 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010630 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +110010631 properties:
10632 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010633 items:
okozachenko120323147262023-01-28 04:16:42 +110010634 properties:
10635 key:
okozachenko120323147262023-01-28 04:16:42 +110010636 type: string
10637 operator:
okozachenko120323147262023-01-28 04:16:42 +110010638 type: string
10639 values:
okozachenko120323147262023-01-28 04:16:42 +110010640 items:
10641 type: string
10642 type: array
10643 required:
10644 - key
10645 - operator
10646 type: object
10647 type: array
10648 matchLabels:
10649 additionalProperties:
10650 type: string
okozachenko120323147262023-01-28 04:16:42 +110010651 type: object
10652 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010653 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010654 namespaces:
okozachenko120323147262023-01-28 04:16:42 +110010655 items:
10656 type: string
10657 type: array
10658 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110010659 type: string
10660 required:
10661 - topologyKey
10662 type: object
10663 type: array
10664 type: object
10665 podAntiAffinity:
okozachenko120323147262023-01-28 04:16:42 +110010666 properties:
10667 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110010668 items:
okozachenko120323147262023-01-28 04:16:42 +110010669 properties:
10670 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +110010671 properties:
10672 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110010673 properties:
10674 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010675 items:
okozachenko120323147262023-01-28 04:16:42 +110010676 properties:
10677 key:
okozachenko120323147262023-01-28 04:16:42 +110010678 type: string
10679 operator:
okozachenko120323147262023-01-28 04:16:42 +110010680 type: string
10681 values:
okozachenko120323147262023-01-28 04:16:42 +110010682 items:
10683 type: string
10684 type: array
10685 required:
10686 - key
10687 - operator
10688 type: object
10689 type: array
10690 matchLabels:
10691 additionalProperties:
10692 type: string
okozachenko120323147262023-01-28 04:16:42 +110010693 type: object
10694 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010695 x-kubernetes-map-type: atomic
10696 matchLabelKeys:
10697 items:
10698 type: string
10699 type: array
10700 x-kubernetes-list-type: atomic
10701 mismatchLabelKeys:
10702 items:
10703 type: string
10704 type: array
10705 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010706 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +110010707 properties:
10708 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010709 items:
okozachenko120323147262023-01-28 04:16:42 +110010710 properties:
10711 key:
okozachenko120323147262023-01-28 04:16:42 +110010712 type: string
10713 operator:
okozachenko120323147262023-01-28 04:16:42 +110010714 type: string
10715 values:
okozachenko120323147262023-01-28 04:16:42 +110010716 items:
10717 type: string
10718 type: array
10719 required:
10720 - key
10721 - operator
10722 type: object
10723 type: array
10724 matchLabels:
10725 additionalProperties:
10726 type: string
okozachenko120323147262023-01-28 04:16:42 +110010727 type: object
10728 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010729 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010730 namespaces:
okozachenko120323147262023-01-28 04:16:42 +110010731 items:
10732 type: string
10733 type: array
10734 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110010735 type: string
10736 required:
10737 - topologyKey
10738 type: object
10739 weight:
okozachenko120323147262023-01-28 04:16:42 +110010740 format: int32
10741 type: integer
10742 required:
10743 - podAffinityTerm
10744 - weight
10745 type: object
10746 type: array
10747 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110010748 items:
okozachenko120323147262023-01-28 04:16:42 +110010749 properties:
10750 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110010751 properties:
10752 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010753 items:
okozachenko120323147262023-01-28 04:16:42 +110010754 properties:
10755 key:
okozachenko120323147262023-01-28 04:16:42 +110010756 type: string
10757 operator:
okozachenko120323147262023-01-28 04:16:42 +110010758 type: string
10759 values:
okozachenko120323147262023-01-28 04:16:42 +110010760 items:
10761 type: string
10762 type: array
10763 required:
10764 - key
10765 - operator
10766 type: object
10767 type: array
10768 matchLabels:
10769 additionalProperties:
10770 type: string
okozachenko120323147262023-01-28 04:16:42 +110010771 type: object
10772 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010773 x-kubernetes-map-type: atomic
10774 matchLabelKeys:
10775 items:
10776 type: string
10777 type: array
10778 x-kubernetes-list-type: atomic
10779 mismatchLabelKeys:
10780 items:
10781 type: string
10782 type: array
10783 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010784 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +110010785 properties:
10786 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010787 items:
okozachenko120323147262023-01-28 04:16:42 +110010788 properties:
10789 key:
okozachenko120323147262023-01-28 04:16:42 +110010790 type: string
10791 operator:
okozachenko120323147262023-01-28 04:16:42 +110010792 type: string
10793 values:
okozachenko120323147262023-01-28 04:16:42 +110010794 items:
10795 type: string
10796 type: array
10797 required:
10798 - key
10799 - operator
10800 type: object
10801 type: array
10802 matchLabels:
10803 additionalProperties:
10804 type: string
okozachenko120323147262023-01-28 04:16:42 +110010805 type: object
10806 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010807 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010808 namespaces:
okozachenko120323147262023-01-28 04:16:42 +110010809 items:
10810 type: string
10811 type: array
10812 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110010813 type: string
10814 required:
10815 - topologyKey
10816 type: object
10817 type: array
10818 type: object
10819 tolerations:
okozachenko120323147262023-01-28 04:16:42 +110010820 items:
okozachenko120323147262023-01-28 04:16:42 +110010821 properties:
10822 effect:
okozachenko120323147262023-01-28 04:16:42 +110010823 type: string
10824 key:
okozachenko120323147262023-01-28 04:16:42 +110010825 type: string
10826 operator:
okozachenko120323147262023-01-28 04:16:42 +110010827 type: string
10828 tolerationSeconds:
okozachenko120323147262023-01-28 04:16:42 +110010829 format: int64
10830 type: integer
10831 value:
okozachenko120323147262023-01-28 04:16:42 +110010832 type: string
10833 type: object
10834 type: array
10835 topologySpreadConstraints:
okozachenko120323147262023-01-28 04:16:42 +110010836 items:
okozachenko120323147262023-01-28 04:16:42 +110010837 properties:
10838 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110010839 properties:
10840 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110010841 items:
okozachenko120323147262023-01-28 04:16:42 +110010842 properties:
10843 key:
okozachenko120323147262023-01-28 04:16:42 +110010844 type: string
10845 operator:
okozachenko120323147262023-01-28 04:16:42 +110010846 type: string
10847 values:
okozachenko120323147262023-01-28 04:16:42 +110010848 items:
10849 type: string
10850 type: array
10851 required:
10852 - key
10853 - operator
10854 type: object
10855 type: array
10856 matchLabels:
10857 additionalProperties:
10858 type: string
okozachenko120323147262023-01-28 04:16:42 +110010859 type: object
10860 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040010861 x-kubernetes-map-type: atomic
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000010862 matchLabelKeys:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000010863 items:
10864 type: string
10865 type: array
10866 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110010867 maxSkew:
okozachenko120323147262023-01-28 04:16:42 +110010868 format: int32
10869 type: integer
10870 minDomains:
okozachenko120323147262023-01-28 04:16:42 +110010871 format: int32
10872 type: integer
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000010873 nodeAffinityPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000010874 type: string
10875 nodeTaintsPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000010876 type: string
okozachenko120323147262023-01-28 04:16:42 +110010877 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110010878 type: string
10879 whenUnsatisfiable:
okozachenko120323147262023-01-28 04:16:42 +110010880 type: string
10881 required:
10882 - maxSkew
10883 - topologyKey
10884 - whenUnsatisfiable
10885 type: object
10886 type: array
10887 type: object
10888 x-kubernetes-preserve-unknown-fields: true
10889 port:
10890 description: The port the rgw service will be listening on (http)
10891 format: int32
10892 type: integer
10893 priorityClassName:
10894 description: PriorityClassName sets priority classes on the rgw pods
10895 type: string
10896 resources:
10897 description: The resource requirements for the rgw pods
10898 nullable: true
10899 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040010900 claims:
10901 description: |-
10902 Claims lists the names of resources, defined in spec.resourceClaims,
10903 that are used by this container.
10904
10905
10906 This is an alpha field and requires enabling the
10907 DynamicResourceAllocation feature gate.
10908
10909
10910 This field is immutable. It can only be set for containers.
10911 items:
10912 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
10913 properties:
10914 name:
10915 description: |-
10916 Name must match the name of one entry in pod.spec.resourceClaims of
10917 the Pod where this field is used. It makes that resource available
10918 inside a container.
10919 type: string
10920 required:
10921 - name
10922 type: object
10923 type: array
10924 x-kubernetes-list-map-keys:
10925 - name
10926 x-kubernetes-list-type: map
okozachenko120323147262023-01-28 04:16:42 +110010927 limits:
10928 additionalProperties:
10929 anyOf:
10930 - type: integer
10931 - type: string
10932 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
10933 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -040010934 description: |-
10935 Limits describes the maximum amount of compute resources allowed.
10936 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +110010937 type: object
10938 requests:
10939 additionalProperties:
10940 anyOf:
10941 - type: integer
10942 - type: string
10943 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
10944 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -040010945 description: |-
10946 Requests describes the minimum amount of compute resources required.
10947 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
10948 otherwise to an implementation-defined value. Requests cannot exceed Limits.
10949 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +110010950 type: object
10951 type: object
10952 x-kubernetes-preserve-unknown-fields: true
10953 securePort:
10954 description: The port the rgw service will be listening on (https)
10955 format: int32
10956 maximum: 65535
10957 minimum: 0
10958 nullable: true
10959 type: integer
10960 service:
10961 description: The configuration related to add/set on each rgw service.
10962 nullable: true
10963 properties:
10964 annotations:
10965 additionalProperties:
10966 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040010967 description: |-
10968 The annotations-related configuration to add/set on each rgw service.
10969 nullable
10970 optional
okozachenko120323147262023-01-28 04:16:42 +110010971 type: object
10972 type: object
10973 sslCertificateRef:
10974 description: The name of the secret that stores the ssl certificate for secure rgw connections
10975 nullable: true
10976 type: string
10977 type: object
10978 healthCheck:
Mohammed Naser65cda132024-05-02 14:34:08 -040010979 description: The RGW health probes
okozachenko120323147262023-01-28 04:16:42 +110010980 nullable: true
10981 properties:
okozachenko120323147262023-01-28 04:16:42 +110010982 readinessProbe:
10983 description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
10984 properties:
10985 disabled:
10986 description: Disabled determines whether probe is disable or not
10987 type: boolean
10988 probe:
Mohammed Naser65cda132024-05-02 14:34:08 -040010989 description: |-
10990 Probe describes a health check to be performed against a container to determine whether it is
10991 alive or ready to receive traffic.
okozachenko120323147262023-01-28 04:16:42 +110010992 properties:
10993 exec:
10994 description: Exec specifies the action to take.
10995 properties:
10996 command:
Mohammed Naser65cda132024-05-02 14:34:08 -040010997 description: |-
10998 Command is the command line to execute inside the container, the working directory for the
10999 command is root ('/') in the container's filesystem. The command is simply exec'd, it is
11000 not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
11001 a shell, you need to explicitly call out to that shell.
11002 Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
okozachenko120323147262023-01-28 04:16:42 +110011003 items:
11004 type: string
11005 type: array
11006 type: object
11007 failureThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -040011008 description: |-
11009 Minimum consecutive failures for the probe to be considered failed after having succeeded.
11010 Defaults to 3. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +110011011 format: int32
11012 type: integer
11013 grpc:
Mohammed Naser65cda132024-05-02 14:34:08 -040011014 description: GRPC specifies an action involving a GRPC port.
okozachenko120323147262023-01-28 04:16:42 +110011015 properties:
11016 port:
11017 description: Port number of the gRPC service. Number must be in the range 1 to 65535.
11018 format: int32
11019 type: integer
11020 service:
Mohammed Naser65cda132024-05-02 14:34:08 -040011021 description: |-
11022 Service is the name of the service to place in the gRPC HealthCheckRequest
11023 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
11024
11025
11026 If this is not specified, the default behavior is defined by gRPC.
okozachenko120323147262023-01-28 04:16:42 +110011027 type: string
11028 required:
11029 - port
11030 type: object
11031 httpGet:
11032 description: HTTPGet specifies the http request to perform.
11033 properties:
11034 host:
Mohammed Naser65cda132024-05-02 14:34:08 -040011035 description: |-
11036 Host name to connect to, defaults to the pod IP. You probably want to set
11037 "Host" in httpHeaders instead.
okozachenko120323147262023-01-28 04:16:42 +110011038 type: string
11039 httpHeaders:
11040 description: Custom headers to set in the request. HTTP allows repeated headers.
11041 items:
11042 description: HTTPHeader describes a custom header to be used in HTTP probes
11043 properties:
11044 name:
Mohammed Naser65cda132024-05-02 14:34:08 -040011045 description: |-
11046 The header field name.
11047 This will be canonicalized upon output, so case-variant names will be understood as the same header.
okozachenko120323147262023-01-28 04:16:42 +110011048 type: string
11049 value:
11050 description: The header field value
11051 type: string
11052 required:
11053 - name
11054 - value
11055 type: object
11056 type: array
11057 path:
11058 description: Path to access on the HTTP server.
11059 type: string
11060 port:
11061 anyOf:
11062 - type: integer
11063 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011064 description: |-
11065 Name or number of the port to access on the container.
11066 Number must be in the range 1 to 65535.
11067 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +110011068 x-kubernetes-int-or-string: true
11069 scheme:
Mohammed Naser65cda132024-05-02 14:34:08 -040011070 description: |-
11071 Scheme to use for connecting to the host.
11072 Defaults to HTTP.
okozachenko120323147262023-01-28 04:16:42 +110011073 type: string
11074 required:
11075 - port
11076 type: object
11077 initialDelaySeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -040011078 description: |-
11079 Number of seconds after the container has started before liveness probes are initiated.
11080 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +110011081 format: int32
11082 type: integer
11083 periodSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -040011084 description: |-
11085 How often (in seconds) to perform the probe.
11086 Default to 10 seconds. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +110011087 format: int32
11088 type: integer
11089 successThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -040011090 description: |-
11091 Minimum consecutive successes for the probe to be considered successful after having failed.
11092 Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +110011093 format: int32
11094 type: integer
11095 tcpSocket:
11096 description: TCPSocket specifies an action involving a TCP port.
11097 properties:
11098 host:
11099 description: 'Optional: Host name to connect to, defaults to the pod IP.'
11100 type: string
11101 port:
11102 anyOf:
11103 - type: integer
11104 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011105 description: |-
11106 Number or name of the port to access on the container.
11107 Number must be in the range 1 to 65535.
11108 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +110011109 x-kubernetes-int-or-string: true
11110 required:
11111 - port
11112 type: object
11113 terminationGracePeriodSeconds:
okozachenko120323147262023-01-28 04:16:42 +110011114 format: int64
11115 type: integer
11116 timeoutSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -040011117 description: |-
11118 Number of seconds after which the probe times out.
11119 Defaults to 1 second. Minimum value is 1.
11120 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +110011121 format: int32
11122 type: integer
11123 type: object
11124 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040011125 x-kubernetes-preserve-unknown-fields: true
okozachenko120323147262023-01-28 04:16:42 +110011126 startupProbe:
11127 description: ProbeSpec is a wrapper around Probe so it can be enabled or disabled for a Ceph daemon
11128 properties:
11129 disabled:
11130 description: Disabled determines whether probe is disable or not
11131 type: boolean
11132 probe:
Mohammed Naser65cda132024-05-02 14:34:08 -040011133 description: |-
11134 Probe describes a health check to be performed against a container to determine whether it is
11135 alive or ready to receive traffic.
okozachenko120323147262023-01-28 04:16:42 +110011136 properties:
11137 exec:
11138 description: Exec specifies the action to take.
11139 properties:
11140 command:
Mohammed Naser65cda132024-05-02 14:34:08 -040011141 description: |-
11142 Command is the command line to execute inside the container, the working directory for the
11143 command is root ('/') in the container's filesystem. The command is simply exec'd, it is
11144 not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
11145 a shell, you need to explicitly call out to that shell.
11146 Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
okozachenko120323147262023-01-28 04:16:42 +110011147 items:
11148 type: string
11149 type: array
11150 type: object
11151 failureThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -040011152 description: |-
11153 Minimum consecutive failures for the probe to be considered failed after having succeeded.
11154 Defaults to 3. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +110011155 format: int32
11156 type: integer
11157 grpc:
Mohammed Naser65cda132024-05-02 14:34:08 -040011158 description: GRPC specifies an action involving a GRPC port.
okozachenko120323147262023-01-28 04:16:42 +110011159 properties:
11160 port:
11161 description: Port number of the gRPC service. Number must be in the range 1 to 65535.
11162 format: int32
11163 type: integer
11164 service:
Mohammed Naser65cda132024-05-02 14:34:08 -040011165 description: |-
11166 Service is the name of the service to place in the gRPC HealthCheckRequest
11167 (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
11168
11169
11170 If this is not specified, the default behavior is defined by gRPC.
okozachenko120323147262023-01-28 04:16:42 +110011171 type: string
11172 required:
11173 - port
11174 type: object
11175 httpGet:
11176 description: HTTPGet specifies the http request to perform.
11177 properties:
11178 host:
Mohammed Naser65cda132024-05-02 14:34:08 -040011179 description: |-
11180 Host name to connect to, defaults to the pod IP. You probably want to set
11181 "Host" in httpHeaders instead.
okozachenko120323147262023-01-28 04:16:42 +110011182 type: string
11183 httpHeaders:
11184 description: Custom headers to set in the request. HTTP allows repeated headers.
11185 items:
11186 description: HTTPHeader describes a custom header to be used in HTTP probes
11187 properties:
11188 name:
Mohammed Naser65cda132024-05-02 14:34:08 -040011189 description: |-
11190 The header field name.
11191 This will be canonicalized upon output, so case-variant names will be understood as the same header.
okozachenko120323147262023-01-28 04:16:42 +110011192 type: string
11193 value:
11194 description: The header field value
11195 type: string
11196 required:
11197 - name
11198 - value
11199 type: object
11200 type: array
11201 path:
11202 description: Path to access on the HTTP server.
11203 type: string
11204 port:
11205 anyOf:
11206 - type: integer
11207 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011208 description: |-
11209 Name or number of the port to access on the container.
11210 Number must be in the range 1 to 65535.
11211 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +110011212 x-kubernetes-int-or-string: true
11213 scheme:
Mohammed Naser65cda132024-05-02 14:34:08 -040011214 description: |-
11215 Scheme to use for connecting to the host.
11216 Defaults to HTTP.
okozachenko120323147262023-01-28 04:16:42 +110011217 type: string
11218 required:
11219 - port
11220 type: object
11221 initialDelaySeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -040011222 description: |-
11223 Number of seconds after the container has started before liveness probes are initiated.
11224 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +110011225 format: int32
11226 type: integer
11227 periodSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -040011228 description: |-
11229 How often (in seconds) to perform the probe.
11230 Default to 10 seconds. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +110011231 format: int32
11232 type: integer
11233 successThreshold:
Mohammed Naser65cda132024-05-02 14:34:08 -040011234 description: |-
11235 Minimum consecutive successes for the probe to be considered successful after having failed.
11236 Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
okozachenko120323147262023-01-28 04:16:42 +110011237 format: int32
11238 type: integer
11239 tcpSocket:
11240 description: TCPSocket specifies an action involving a TCP port.
11241 properties:
11242 host:
11243 description: 'Optional: Host name to connect to, defaults to the pod IP.'
11244 type: string
11245 port:
11246 anyOf:
11247 - type: integer
11248 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011249 description: |-
11250 Number or name of the port to access on the container.
11251 Number must be in the range 1 to 65535.
11252 Name must be an IANA_SVC_NAME.
okozachenko120323147262023-01-28 04:16:42 +110011253 x-kubernetes-int-or-string: true
11254 required:
11255 - port
11256 type: object
11257 terminationGracePeriodSeconds:
okozachenko120323147262023-01-28 04:16:42 +110011258 format: int64
11259 type: integer
11260 timeoutSeconds:
Mohammed Naser65cda132024-05-02 14:34:08 -040011261 description: |-
11262 Number of seconds after which the probe times out.
11263 Defaults to 1 second. Minimum value is 1.
11264 More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
okozachenko120323147262023-01-28 04:16:42 +110011265 format: int32
11266 type: integer
11267 type: object
11268 type: object
11269 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040011270 hosting:
11271 description: Hosting settings for the object store
11272 properties:
11273 dnsNames:
11274 description: |-
11275 A list of DNS names in which bucket can be accessed via virtual host path. These names need to valid according RFC-1123.
11276 Each domain requires wildcard support like ingress loadbalancer.
11277 Do not include the wildcard itself in the list of hostnames (e.g. use "mystore.example.com" instead of "*.mystore.example.com").
11278 Add all hostnames including user-created Kubernetes Service endpoints to the list.
11279 CephObjectStore Service Endpoints and CephObjectZone customEndpoints are automatically added to the list.
11280 The feature is supported only for Ceph v18 and later versions.
11281 items:
11282 type: string
11283 type: array
11284 type: object
okozachenko120323147262023-01-28 04:16:42 +110011285 metadataPool:
11286 description: The metadata pool settings
11287 nullable: true
11288 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040011289 application:
11290 description: The application name to set on the pool. Only expected to be set for rgw pools.
11291 type: string
okozachenko120323147262023-01-28 04:16:42 +110011292 compressionMode:
Mohammed Naser65cda132024-05-02 14:34:08 -040011293 description: |-
11294 DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force"
11295 The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
11296 Do NOT set a default value for kubebuilder as this will override the Parameters
okozachenko120323147262023-01-28 04:16:42 +110011297 enum:
11298 - none
11299 - passive
11300 - aggressive
11301 - force
11302 - ""
11303 nullable: true
11304 type: string
11305 crushRoot:
11306 description: The root of the crush hierarchy utilized by the pool
11307 nullable: true
11308 type: string
11309 deviceClass:
11310 description: The device class the OSD should set to for use in the pool
11311 nullable: true
11312 type: string
11313 enableRBDStats:
11314 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
11315 type: boolean
11316 erasureCoded:
11317 description: The erasure code settings
11318 properties:
11319 algorithm:
11320 description: The algorithm for erasure coding
11321 type: string
11322 codingChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -040011323 description: |-
11324 Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
11325 This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
okozachenko120323147262023-01-28 04:16:42 +110011326 minimum: 0
11327 type: integer
11328 dataChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -040011329 description: |-
11330 Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
11331 The number of chunks required to recover an object when any single OSD is lost is the same
11332 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 +110011333 minimum: 0
11334 type: integer
11335 required:
11336 - codingChunks
11337 - dataChunks
11338 type: object
11339 failureDomain:
11340 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
11341 type: string
11342 mirroring:
11343 description: The mirroring settings
11344 properties:
11345 enabled:
11346 description: Enabled whether this pool is mirrored or not
11347 type: boolean
11348 mode:
11349 description: 'Mode is the mirroring mode: either pool or image'
11350 type: string
11351 peers:
11352 description: Peers represents the peers spec
11353 nullable: true
11354 properties:
11355 secretNames:
11356 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
11357 items:
11358 type: string
11359 type: array
11360 type: object
11361 snapshotSchedules:
11362 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
11363 items:
11364 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
11365 properties:
11366 interval:
11367 description: Interval represent the periodicity of the snapshot.
11368 type: string
11369 path:
11370 description: Path is the path to snapshot, only valid for CephFS
11371 type: string
11372 startTime:
11373 description: StartTime indicates when to start the snapshot
11374 type: string
11375 type: object
11376 type: array
11377 type: object
11378 parameters:
11379 additionalProperties:
11380 type: string
11381 description: Parameters is a list of properties to enable on a given pool
11382 nullable: true
11383 type: object
11384 x-kubernetes-preserve-unknown-fields: true
11385 quotas:
11386 description: The quota settings
11387 nullable: true
11388 properties:
11389 maxBytes:
Mohammed Naser65cda132024-05-02 14:34:08 -040011390 description: |-
11391 MaxBytes represents the quota in bytes
11392 Deprecated in favor of MaxSize
okozachenko120323147262023-01-28 04:16:42 +110011393 format: int64
11394 type: integer
11395 maxObjects:
11396 description: MaxObjects represents the quota in objects
11397 format: int64
11398 type: integer
11399 maxSize:
11400 description: MaxSize represents the quota in bytes as a string
11401 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
11402 type: string
11403 type: object
11404 replicated:
11405 description: The replication settings
11406 properties:
11407 hybridStorage:
11408 description: HybridStorage represents hybrid storage tier settings
11409 nullable: true
11410 properties:
11411 primaryDeviceClass:
11412 description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
11413 minLength: 1
11414 type: string
11415 secondaryDeviceClass:
11416 description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
11417 minLength: 1
11418 type: string
11419 required:
11420 - primaryDeviceClass
11421 - secondaryDeviceClass
11422 type: object
11423 replicasPerFailureDomain:
11424 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
11425 minimum: 1
11426 type: integer
11427 requireSafeReplicaSize:
11428 description: RequireSafeReplicaSize if false allows you to set replica 1
11429 type: boolean
11430 size:
11431 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
11432 minimum: 0
11433 type: integer
11434 subFailureDomain:
11435 description: SubFailureDomain the name of the sub-failure domain
11436 type: string
11437 targetSizeRatio:
11438 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
11439 type: number
11440 required:
11441 - size
11442 type: object
11443 statusCheck:
11444 description: The mirroring statusCheck
11445 properties:
11446 mirror:
11447 description: HealthCheckSpec represents the health check of an object store bucket
11448 nullable: true
11449 properties:
11450 disabled:
11451 type: boolean
11452 interval:
11453 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
11454 type: string
11455 timeout:
11456 type: string
11457 type: object
11458 type: object
11459 x-kubernetes-preserve-unknown-fields: true
11460 type: object
11461 preservePoolsOnDelete:
11462 description: Preserve pools on object store deletion
11463 type: boolean
11464 security:
11465 description: Security represents security settings
11466 nullable: true
11467 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040011468 keyRotation:
11469 description: KeyRotation defines options for Key Rotation.
11470 nullable: true
11471 properties:
11472 enabled:
11473 default: false
11474 description: Enabled represents whether the key rotation is enabled.
11475 type: boolean
11476 schedule:
11477 description: Schedule represents the cron schedule for key rotation.
11478 type: string
11479 type: object
okozachenko120323147262023-01-28 04:16:42 +110011480 kms:
11481 description: KeyManagementService is the main Key Management option
11482 nullable: true
11483 properties:
11484 connectionDetails:
11485 additionalProperties:
11486 type: string
11487 description: ConnectionDetails contains the KMS connection details (address, port etc)
11488 nullable: true
11489 type: object
11490 x-kubernetes-preserve-unknown-fields: true
11491 tokenSecretName:
11492 description: TokenSecretName is the kubernetes secret containing the KMS token
11493 type: string
11494 type: object
11495 s3:
11496 description: The settings for supporting AWS-SSE:S3 with RGW
11497 nullable: true
11498 properties:
11499 connectionDetails:
11500 additionalProperties:
11501 type: string
11502 description: ConnectionDetails contains the KMS connection details (address, port etc)
11503 nullable: true
11504 type: object
11505 x-kubernetes-preserve-unknown-fields: true
11506 tokenSecretName:
11507 description: TokenSecretName is the kubernetes secret containing the KMS token
11508 type: string
11509 type: object
11510 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040011511 sharedPools:
11512 description: The pool information when configuring RADOS namespaces in existing pools.
11513 nullable: true
11514 properties:
11515 dataPoolName:
11516 description: The data pool used for creating RADOS namespaces in the object store
11517 type: string
11518 x-kubernetes-validations:
11519 - message: object store shared data pool is immutable
11520 rule: self == oldSelf
11521 metadataPoolName:
11522 description: The metadata pool used for creating RADOS namespaces in the object store
11523 type: string
11524 x-kubernetes-validations:
11525 - message: object store shared metadata pool is immutable
11526 rule: self == oldSelf
11527 preserveRadosNamespaceDataOnDelete:
11528 description: Whether the RADOS namespaces should be preserved on deletion of the object store
11529 type: boolean
11530 required:
11531 - dataPoolName
11532 - metadataPoolName
11533 type: object
okozachenko120323147262023-01-28 04:16:42 +110011534 zone:
11535 description: The multisite info
11536 nullable: true
11537 properties:
11538 name:
11539 description: RGW Zone the Object Store is in
11540 type: string
11541 required:
11542 - name
11543 type: object
11544 type: object
11545 status:
11546 description: ObjectStoreStatus represents the status of a Ceph Object Store resource
11547 properties:
okozachenko120323147262023-01-28 04:16:42 +110011548 conditions:
11549 items:
11550 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
11551 properties:
11552 lastHeartbeatTime:
11553 format: date-time
11554 type: string
11555 lastTransitionTime:
11556 format: date-time
11557 type: string
11558 message:
11559 type: string
11560 reason:
11561 description: ConditionReason is a reason for a condition
11562 type: string
11563 status:
11564 type: string
11565 type:
11566 description: ConditionType represent a resource's status
11567 type: string
11568 type: object
11569 type: array
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000011570 endpoints:
11571 properties:
11572 insecure:
11573 items:
11574 type: string
11575 nullable: true
11576 type: array
11577 secure:
11578 items:
11579 type: string
11580 nullable: true
11581 type: array
11582 type: object
okozachenko120323147262023-01-28 04:16:42 +110011583 info:
11584 additionalProperties:
11585 type: string
11586 nullable: true
11587 type: object
11588 message:
11589 type: string
11590 observedGeneration:
11591 description: ObservedGeneration is the latest generation observed by the controller.
11592 format: int64
11593 type: integer
11594 phase:
11595 description: ConditionType represent a resource's status
11596 type: string
11597 type: object
11598 x-kubernetes-preserve-unknown-fields: true
11599 required:
11600 - metadata
11601 - spec
11602 type: object
11603 served: true
11604 storage: true
11605 subresources:
11606 status: {}
okozachenko120323147262023-01-28 04:16:42 +110011607---
11608apiVersion: apiextensions.k8s.io/v1
11609kind: CustomResourceDefinition
11610metadata:
11611 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -040011612 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +110011613 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +110011614 name: cephobjectstoreusers.ceph.rook.io
11615spec:
11616 group: ceph.rook.io
11617 names:
11618 kind: CephObjectStoreUser
11619 listKind: CephObjectStoreUserList
11620 plural: cephobjectstoreusers
11621 shortNames:
11622 - rcou
11623 - objectuser
11624 singular: cephobjectstoreuser
11625 scope: Namespaced
11626 versions:
11627 - additionalPrinterColumns:
11628 - jsonPath: .status.phase
11629 name: Phase
11630 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011631 - jsonPath: .metadata.creationTimestamp
11632 name: Age
11633 type: date
okozachenko120323147262023-01-28 04:16:42 +110011634 name: v1
11635 schema:
11636 openAPIV3Schema:
11637 description: CephObjectStoreUser represents a Ceph Object Store Gateway User
11638 properties:
11639 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -040011640 description: |-
11641 APIVersion defines the versioned schema of this representation of an object.
11642 Servers should convert recognized schemas to the latest internal value, and
11643 may reject unrecognized values.
11644 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +110011645 type: string
11646 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -040011647 description: |-
11648 Kind is a string value representing the REST resource this object represents.
11649 Servers may infer this from the endpoint the client submits requests to.
11650 Cannot be updated.
11651 In CamelCase.
11652 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +110011653 type: string
11654 metadata:
11655 type: object
11656 spec:
11657 description: ObjectStoreUserSpec represent the spec of an Objectstoreuser
11658 properties:
11659 capabilities:
11660 description: Additional admin-level capabilities for the Ceph object store user
11661 nullable: true
11662 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040011663 amz-cache:
11664 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
11665 enum:
11666 - '*'
11667 - read
11668 - write
11669 - read, write
11670 type: string
11671 bilog:
11672 description: Add capabilities for user to change bucket index logging. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11673 enum:
11674 - '*'
11675 - read
11676 - write
11677 - read, write
11678 type: string
okozachenko120323147262023-01-28 04:16:42 +110011679 bucket:
11680 description: Admin capabilities to read/write Ceph object store buckets. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11681 enum:
11682 - '*'
11683 - read
11684 - write
11685 - read, write
11686 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011687 buckets:
11688 description: Admin capabilities to read/write Ceph object store buckets. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11689 enum:
11690 - '*'
11691 - read
11692 - write
11693 - read, write
11694 type: string
11695 datalog:
11696 description: Add capabilities for user to change data logging. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11697 enum:
11698 - '*'
11699 - read
11700 - write
11701 - read, write
11702 type: string
11703 info:
11704 description: Admin capabilities to read/write information about the user. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11705 enum:
11706 - '*'
11707 - read
11708 - write
11709 - read, write
11710 type: string
11711 mdlog:
11712 description: Add capabilities for user to change metadata logging. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11713 enum:
11714 - '*'
11715 - read
11716 - write
11717 - read, write
11718 type: string
okozachenko120323147262023-01-28 04:16:42 +110011719 metadata:
11720 description: Admin capabilities to read/write Ceph object store metadata. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11721 enum:
11722 - '*'
11723 - read
11724 - write
11725 - read, write
11726 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011727 oidc-provider:
11728 description: Add capabilities for user to change oidc provider. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11729 enum:
11730 - '*'
11731 - read
11732 - write
11733 - read, write
11734 type: string
11735 ratelimit:
11736 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
11737 enum:
11738 - '*'
11739 - read
11740 - write
11741 - read, write
11742 type: string
11743 roles:
11744 description: Admin capabilities to read/write roles for user. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11745 enum:
11746 - '*'
11747 - read
11748 - write
11749 - read, write
11750 type: string
okozachenko120323147262023-01-28 04:16:42 +110011751 usage:
11752 description: Admin capabilities to read/write Ceph object store usage. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11753 enum:
11754 - '*'
11755 - read
11756 - write
11757 - read, write
11758 type: string
11759 user:
11760 description: Admin capabilities to read/write Ceph object store users. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11761 enum:
11762 - '*'
11763 - read
11764 - write
11765 - read, write
11766 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011767 user-policy:
11768 description: Add capabilities for user to change user policies. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11769 enum:
11770 - '*'
11771 - read
11772 - write
11773 - read, write
11774 type: string
11775 users:
11776 description: Admin capabilities to read/write Ceph object store users. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11777 enum:
11778 - '*'
11779 - read
11780 - write
11781 - read, write
11782 type: string
okozachenko120323147262023-01-28 04:16:42 +110011783 zone:
11784 description: Admin capabilities to read/write Ceph object store zones. Documented in https://docs.ceph.com/en/latest/radosgw/admin/?#add-remove-admin-capabilities
11785 enum:
11786 - '*'
11787 - read
11788 - write
11789 - read, write
11790 type: string
11791 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040011792 clusterNamespace:
11793 description: The namespace where the parent CephCluster and CephObjectStore are found
11794 type: string
okozachenko120323147262023-01-28 04:16:42 +110011795 displayName:
11796 description: The display name for the ceph users
11797 type: string
11798 quotas:
11799 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
11800 nullable: true
11801 properties:
11802 maxBuckets:
11803 description: Maximum bucket limit for the ceph user
11804 nullable: true
11805 type: integer
11806 maxObjects:
11807 description: Maximum number of objects across all the user's buckets
11808 format: int64
11809 nullable: true
11810 type: integer
11811 maxSize:
11812 anyOf:
11813 - type: integer
11814 - type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011815 description: |-
11816 Maximum size limit of all objects across all the user's buckets
11817 See https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity for more info.
okozachenko120323147262023-01-28 04:16:42 +110011818 nullable: true
11819 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
11820 x-kubernetes-int-or-string: true
11821 type: object
11822 store:
11823 description: The store the user will be created in
11824 type: string
11825 type: object
11826 status:
11827 description: ObjectStoreUserStatus represents the status Ceph Object Store Gateway User
11828 properties:
11829 info:
11830 additionalProperties:
11831 type: string
11832 nullable: true
11833 type: object
11834 observedGeneration:
11835 description: ObservedGeneration is the latest generation observed by the controller.
11836 format: int64
11837 type: integer
11838 phase:
11839 type: string
11840 type: object
11841 x-kubernetes-preserve-unknown-fields: true
11842 required:
11843 - metadata
11844 - spec
11845 type: object
11846 served: true
11847 storage: true
11848 subresources:
11849 status: {}
okozachenko120323147262023-01-28 04:16:42 +110011850---
11851apiVersion: apiextensions.k8s.io/v1
11852kind: CustomResourceDefinition
11853metadata:
11854 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -040011855 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +110011856 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +110011857 name: cephobjectzonegroups.ceph.rook.io
11858spec:
11859 group: ceph.rook.io
11860 names:
11861 kind: CephObjectZoneGroup
11862 listKind: CephObjectZoneGroupList
11863 plural: cephobjectzonegroups
11864 singular: cephobjectzonegroup
11865 scope: Namespaced
11866 versions:
11867 - additionalPrinterColumns:
11868 - jsonPath: .status.phase
11869 name: Phase
11870 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011871 - jsonPath: .metadata.creationTimestamp
11872 name: Age
11873 type: date
okozachenko120323147262023-01-28 04:16:42 +110011874 name: v1
11875 schema:
11876 openAPIV3Schema:
11877 description: CephObjectZoneGroup represents a Ceph Object Store Gateway Zone Group
11878 properties:
11879 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -040011880 description: |-
11881 APIVersion defines the versioned schema of this representation of an object.
11882 Servers should convert recognized schemas to the latest internal value, and
11883 may reject unrecognized values.
11884 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +110011885 type: string
11886 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -040011887 description: |-
11888 Kind is a string value representing the REST resource this object represents.
11889 Servers may infer this from the endpoint the client submits requests to.
11890 Cannot be updated.
11891 In CamelCase.
11892 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +110011893 type: string
11894 metadata:
11895 type: object
11896 spec:
11897 description: ObjectZoneGroupSpec represent the spec of an ObjectZoneGroup
11898 properties:
11899 realm:
11900 description: The display name for the ceph users
11901 type: string
11902 required:
11903 - realm
11904 type: object
11905 status:
11906 description: Status represents the status of an object
11907 properties:
11908 conditions:
11909 items:
11910 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
11911 properties:
11912 lastHeartbeatTime:
11913 format: date-time
11914 type: string
11915 lastTransitionTime:
11916 format: date-time
11917 type: string
11918 message:
11919 type: string
11920 reason:
11921 description: ConditionReason is a reason for a condition
11922 type: string
11923 status:
11924 type: string
11925 type:
11926 description: ConditionType represent a resource's status
11927 type: string
11928 type: object
11929 type: array
11930 observedGeneration:
11931 description: ObservedGeneration is the latest generation observed by the controller.
11932 format: int64
11933 type: integer
11934 phase:
11935 type: string
11936 type: object
11937 x-kubernetes-preserve-unknown-fields: true
11938 required:
11939 - metadata
11940 - spec
11941 type: object
11942 served: true
11943 storage: true
11944 subresources:
11945 status: {}
okozachenko120323147262023-01-28 04:16:42 +110011946---
11947apiVersion: apiextensions.k8s.io/v1
11948kind: CustomResourceDefinition
11949metadata:
11950 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -040011951 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +110011952 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +110011953 name: cephobjectzones.ceph.rook.io
11954spec:
11955 group: ceph.rook.io
11956 names:
11957 kind: CephObjectZone
11958 listKind: CephObjectZoneList
11959 plural: cephobjectzones
11960 singular: cephobjectzone
11961 scope: Namespaced
11962 versions:
11963 - additionalPrinterColumns:
11964 - jsonPath: .status.phase
11965 name: Phase
11966 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040011967 - jsonPath: .metadata.creationTimestamp
11968 name: Age
11969 type: date
okozachenko120323147262023-01-28 04:16:42 +110011970 name: v1
11971 schema:
11972 openAPIV3Schema:
11973 description: CephObjectZone represents a Ceph Object Store Gateway Zone
11974 properties:
11975 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -040011976 description: |-
11977 APIVersion defines the versioned schema of this representation of an object.
11978 Servers should convert recognized schemas to the latest internal value, and
11979 may reject unrecognized values.
11980 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +110011981 type: string
11982 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -040011983 description: |-
11984 Kind is a string value representing the REST resource this object represents.
11985 Servers may infer this from the endpoint the client submits requests to.
11986 Cannot be updated.
11987 In CamelCase.
11988 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +110011989 type: string
11990 metadata:
11991 type: object
11992 spec:
11993 description: ObjectZoneSpec represent the spec of an ObjectZone
11994 properties:
11995 customEndpoints:
Mohammed Naser65cda132024-05-02 14:34:08 -040011996 description: |-
11997 If this zone cannot be accessed from other peer Ceph clusters via the ClusterIP Service
11998 endpoint created by Rook, you must set this to the externally reachable endpoint(s). You may
11999 include the port in the definition. For example: "https://my-object-store.my-domain.net:443".
12000 In many cases, you should set this to the endpoint of the ingress resource that makes the
12001 CephObjectStore associated with this CephObjectStoreZone reachable to peer clusters.
12002 The list can have one or more endpoints pointing to different RGW servers in the zone.
12003
12004
12005 If a CephObjectStore endpoint is omitted from this list, that object store's gateways will
12006 not receive multisite replication data
12007 (see CephObjectStore.spec.gateway.disableMultisiteSyncTraffic).
okozachenko120323147262023-01-28 04:16:42 +110012008 items:
12009 type: string
12010 nullable: true
12011 type: array
12012 dataPool:
12013 description: The data pool settings
12014 nullable: true
12015 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040012016 application:
12017 description: The application name to set on the pool. Only expected to be set for rgw pools.
12018 type: string
okozachenko120323147262023-01-28 04:16:42 +110012019 compressionMode:
Mohammed Naser65cda132024-05-02 14:34:08 -040012020 description: |-
12021 DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force"
12022 The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
12023 Do NOT set a default value for kubebuilder as this will override the Parameters
okozachenko120323147262023-01-28 04:16:42 +110012024 enum:
12025 - none
12026 - passive
12027 - aggressive
12028 - force
12029 - ""
12030 nullable: true
12031 type: string
12032 crushRoot:
12033 description: The root of the crush hierarchy utilized by the pool
12034 nullable: true
12035 type: string
12036 deviceClass:
12037 description: The device class the OSD should set to for use in the pool
12038 nullable: true
12039 type: string
12040 enableRBDStats:
12041 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
12042 type: boolean
12043 erasureCoded:
12044 description: The erasure code settings
12045 properties:
12046 algorithm:
12047 description: The algorithm for erasure coding
12048 type: string
12049 codingChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -040012050 description: |-
12051 Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
12052 This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
okozachenko120323147262023-01-28 04:16:42 +110012053 minimum: 0
12054 type: integer
12055 dataChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -040012056 description: |-
12057 Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
12058 The number of chunks required to recover an object when any single OSD is lost is the same
12059 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 +110012060 minimum: 0
12061 type: integer
12062 required:
12063 - codingChunks
12064 - dataChunks
12065 type: object
12066 failureDomain:
12067 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
12068 type: string
12069 mirroring:
12070 description: The mirroring settings
12071 properties:
12072 enabled:
12073 description: Enabled whether this pool is mirrored or not
12074 type: boolean
12075 mode:
12076 description: 'Mode is the mirroring mode: either pool or image'
12077 type: string
12078 peers:
12079 description: Peers represents the peers spec
12080 nullable: true
12081 properties:
12082 secretNames:
12083 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
12084 items:
12085 type: string
12086 type: array
12087 type: object
12088 snapshotSchedules:
12089 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
12090 items:
12091 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
12092 properties:
12093 interval:
12094 description: Interval represent the periodicity of the snapshot.
12095 type: string
12096 path:
12097 description: Path is the path to snapshot, only valid for CephFS
12098 type: string
12099 startTime:
12100 description: StartTime indicates when to start the snapshot
12101 type: string
12102 type: object
12103 type: array
12104 type: object
12105 parameters:
12106 additionalProperties:
12107 type: string
12108 description: Parameters is a list of properties to enable on a given pool
12109 nullable: true
12110 type: object
12111 x-kubernetes-preserve-unknown-fields: true
12112 quotas:
12113 description: The quota settings
12114 nullable: true
12115 properties:
12116 maxBytes:
Mohammed Naser65cda132024-05-02 14:34:08 -040012117 description: |-
12118 MaxBytes represents the quota in bytes
12119 Deprecated in favor of MaxSize
okozachenko120323147262023-01-28 04:16:42 +110012120 format: int64
12121 type: integer
12122 maxObjects:
12123 description: MaxObjects represents the quota in objects
12124 format: int64
12125 type: integer
12126 maxSize:
12127 description: MaxSize represents the quota in bytes as a string
12128 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
12129 type: string
12130 type: object
12131 replicated:
12132 description: The replication settings
12133 properties:
12134 hybridStorage:
12135 description: HybridStorage represents hybrid storage tier settings
12136 nullable: true
12137 properties:
12138 primaryDeviceClass:
12139 description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
12140 minLength: 1
12141 type: string
12142 secondaryDeviceClass:
12143 description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
12144 minLength: 1
12145 type: string
12146 required:
12147 - primaryDeviceClass
12148 - secondaryDeviceClass
12149 type: object
12150 replicasPerFailureDomain:
12151 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
12152 minimum: 1
12153 type: integer
12154 requireSafeReplicaSize:
12155 description: RequireSafeReplicaSize if false allows you to set replica 1
12156 type: boolean
12157 size:
12158 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
12159 minimum: 0
12160 type: integer
12161 subFailureDomain:
12162 description: SubFailureDomain the name of the sub-failure domain
12163 type: string
12164 targetSizeRatio:
12165 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
12166 type: number
12167 required:
12168 - size
12169 type: object
12170 statusCheck:
12171 description: The mirroring statusCheck
12172 properties:
12173 mirror:
12174 description: HealthCheckSpec represents the health check of an object store bucket
12175 nullable: true
12176 properties:
12177 disabled:
12178 type: boolean
12179 interval:
12180 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
12181 type: string
12182 timeout:
12183 type: string
12184 type: object
12185 type: object
12186 x-kubernetes-preserve-unknown-fields: true
12187 type: object
12188 metadataPool:
12189 description: The metadata pool settings
12190 nullable: true
12191 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040012192 application:
12193 description: The application name to set on the pool. Only expected to be set for rgw pools.
12194 type: string
okozachenko120323147262023-01-28 04:16:42 +110012195 compressionMode:
Mohammed Naser65cda132024-05-02 14:34:08 -040012196 description: |-
12197 DEPRECATED: use Parameters instead, e.g., Parameters["compression_mode"] = "force"
12198 The inline compression mode in Bluestore OSD to set to (options are: none, passive, aggressive, force)
12199 Do NOT set a default value for kubebuilder as this will override the Parameters
okozachenko120323147262023-01-28 04:16:42 +110012200 enum:
12201 - none
12202 - passive
12203 - aggressive
12204 - force
12205 - ""
12206 nullable: true
12207 type: string
12208 crushRoot:
12209 description: The root of the crush hierarchy utilized by the pool
12210 nullable: true
12211 type: string
12212 deviceClass:
12213 description: The device class the OSD should set to for use in the pool
12214 nullable: true
12215 type: string
12216 enableRBDStats:
12217 description: EnableRBDStats is used to enable gathering of statistics for all RBD images in the pool
12218 type: boolean
12219 erasureCoded:
12220 description: The erasure code settings
12221 properties:
12222 algorithm:
12223 description: The algorithm for erasure coding
12224 type: string
12225 codingChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -040012226 description: |-
12227 Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
12228 This is the number of OSDs that can be lost simultaneously before data cannot be recovered.
okozachenko120323147262023-01-28 04:16:42 +110012229 minimum: 0
12230 type: integer
12231 dataChunks:
Mohammed Naser65cda132024-05-02 14:34:08 -040012232 description: |-
12233 Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type).
12234 The number of chunks required to recover an object when any single OSD is lost is the same
12235 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 +110012236 minimum: 0
12237 type: integer
12238 required:
12239 - codingChunks
12240 - dataChunks
12241 type: object
12242 failureDomain:
12243 description: 'The failure domain: osd/host/(region or zone if available) - technically also any type in the crush map'
12244 type: string
12245 mirroring:
12246 description: The mirroring settings
12247 properties:
12248 enabled:
12249 description: Enabled whether this pool is mirrored or not
12250 type: boolean
12251 mode:
12252 description: 'Mode is the mirroring mode: either pool or image'
12253 type: string
12254 peers:
12255 description: Peers represents the peers spec
12256 nullable: true
12257 properties:
12258 secretNames:
12259 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
12260 items:
12261 type: string
12262 type: array
12263 type: object
12264 snapshotSchedules:
12265 description: SnapshotSchedules is the scheduling of snapshot for mirrored images/pools
12266 items:
12267 description: SnapshotScheduleSpec represents the snapshot scheduling settings of a mirrored pool
12268 properties:
12269 interval:
12270 description: Interval represent the periodicity of the snapshot.
12271 type: string
12272 path:
12273 description: Path is the path to snapshot, only valid for CephFS
12274 type: string
12275 startTime:
12276 description: StartTime indicates when to start the snapshot
12277 type: string
12278 type: object
12279 type: array
12280 type: object
12281 parameters:
12282 additionalProperties:
12283 type: string
12284 description: Parameters is a list of properties to enable on a given pool
12285 nullable: true
12286 type: object
12287 x-kubernetes-preserve-unknown-fields: true
12288 quotas:
12289 description: The quota settings
12290 nullable: true
12291 properties:
12292 maxBytes:
Mohammed Naser65cda132024-05-02 14:34:08 -040012293 description: |-
12294 MaxBytes represents the quota in bytes
12295 Deprecated in favor of MaxSize
okozachenko120323147262023-01-28 04:16:42 +110012296 format: int64
12297 type: integer
12298 maxObjects:
12299 description: MaxObjects represents the quota in objects
12300 format: int64
12301 type: integer
12302 maxSize:
12303 description: MaxSize represents the quota in bytes as a string
12304 pattern: ^[0-9]+[\.]?[0-9]*([KMGTPE]i|[kMGTPE])?$
12305 type: string
12306 type: object
12307 replicated:
12308 description: The replication settings
12309 properties:
12310 hybridStorage:
12311 description: HybridStorage represents hybrid storage tier settings
12312 nullable: true
12313 properties:
12314 primaryDeviceClass:
12315 description: PrimaryDeviceClass represents high performance tier (for example SSD or NVME) for Primary OSD
12316 minLength: 1
12317 type: string
12318 secondaryDeviceClass:
12319 description: SecondaryDeviceClass represents low performance tier (for example HDDs) for remaining OSDs
12320 minLength: 1
12321 type: string
12322 required:
12323 - primaryDeviceClass
12324 - secondaryDeviceClass
12325 type: object
12326 replicasPerFailureDomain:
12327 description: ReplicasPerFailureDomain the number of replica in the specified failure domain
12328 minimum: 1
12329 type: integer
12330 requireSafeReplicaSize:
12331 description: RequireSafeReplicaSize if false allows you to set replica 1
12332 type: boolean
12333 size:
12334 description: Size - Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
12335 minimum: 0
12336 type: integer
12337 subFailureDomain:
12338 description: SubFailureDomain the name of the sub-failure domain
12339 type: string
12340 targetSizeRatio:
12341 description: TargetSizeRatio gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity
12342 type: number
12343 required:
12344 - size
12345 type: object
12346 statusCheck:
12347 description: The mirroring statusCheck
12348 properties:
12349 mirror:
12350 description: HealthCheckSpec represents the health check of an object store bucket
12351 nullable: true
12352 properties:
12353 disabled:
12354 type: boolean
12355 interval:
12356 description: Interval is the internal in second or minute for the health check to run like 60s for 60 seconds
12357 type: string
12358 timeout:
12359 type: string
12360 type: object
12361 type: object
12362 x-kubernetes-preserve-unknown-fields: true
12363 type: object
12364 preservePoolsOnDelete:
12365 default: true
12366 description: Preserve pools on object zone deletion
12367 type: boolean
Mohammed Naser65cda132024-05-02 14:34:08 -040012368 sharedPools:
12369 description: The pool information when configuring RADOS namespaces in existing pools.
12370 nullable: true
12371 properties:
12372 dataPoolName:
12373 description: The data pool used for creating RADOS namespaces in the object store
12374 type: string
12375 x-kubernetes-validations:
12376 - message: object store shared data pool is immutable
12377 rule: self == oldSelf
12378 metadataPoolName:
12379 description: The metadata pool used for creating RADOS namespaces in the object store
12380 type: string
12381 x-kubernetes-validations:
12382 - message: object store shared metadata pool is immutable
12383 rule: self == oldSelf
12384 preserveRadosNamespaceDataOnDelete:
12385 description: Whether the RADOS namespaces should be preserved on deletion of the object store
12386 type: boolean
12387 required:
12388 - dataPoolName
12389 - metadataPoolName
12390 type: object
okozachenko120323147262023-01-28 04:16:42 +110012391 zoneGroup:
12392 description: The display name for the ceph users
12393 type: string
12394 required:
12395 - dataPool
12396 - metadataPool
12397 - zoneGroup
12398 type: object
12399 status:
12400 description: Status represents the status of an object
12401 properties:
12402 conditions:
12403 items:
12404 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
12405 properties:
12406 lastHeartbeatTime:
12407 format: date-time
12408 type: string
12409 lastTransitionTime:
12410 format: date-time
12411 type: string
12412 message:
12413 type: string
12414 reason:
12415 description: ConditionReason is a reason for a condition
12416 type: string
12417 status:
12418 type: string
12419 type:
12420 description: ConditionType represent a resource's status
12421 type: string
12422 type: object
12423 type: array
12424 observedGeneration:
12425 description: ObservedGeneration is the latest generation observed by the controller.
12426 format: int64
12427 type: integer
12428 phase:
12429 type: string
12430 type: object
12431 x-kubernetes-preserve-unknown-fields: true
12432 required:
12433 - metadata
12434 - spec
12435 type: object
12436 served: true
12437 storage: true
12438 subresources:
12439 status: {}
okozachenko120323147262023-01-28 04:16:42 +110012440---
12441apiVersion: apiextensions.k8s.io/v1
12442kind: CustomResourceDefinition
12443metadata:
12444 annotations:
Mohammed Naser65cda132024-05-02 14:34:08 -040012445 controller-gen.kubebuilder.io/version: v0.14.0
okozachenko120323147262023-01-28 04:16:42 +110012446 helm.sh/resource-policy: keep
okozachenko120323147262023-01-28 04:16:42 +110012447 name: cephrbdmirrors.ceph.rook.io
12448spec:
12449 group: ceph.rook.io
12450 names:
12451 kind: CephRBDMirror
12452 listKind: CephRBDMirrorList
12453 plural: cephrbdmirrors
12454 singular: cephrbdmirror
12455 scope: Namespaced
12456 versions:
12457 - additionalPrinterColumns:
12458 - jsonPath: .status.phase
12459 name: Phase
12460 type: string
Mohammed Naser65cda132024-05-02 14:34:08 -040012461 - jsonPath: .metadata.creationTimestamp
12462 name: Age
12463 type: date
okozachenko120323147262023-01-28 04:16:42 +110012464 name: v1
12465 schema:
12466 openAPIV3Schema:
12467 description: CephRBDMirror represents a Ceph RBD Mirror
12468 properties:
12469 apiVersion:
Mohammed Naser65cda132024-05-02 14:34:08 -040012470 description: |-
12471 APIVersion defines the versioned schema of this representation of an object.
12472 Servers should convert recognized schemas to the latest internal value, and
12473 may reject unrecognized values.
12474 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
okozachenko120323147262023-01-28 04:16:42 +110012475 type: string
12476 kind:
Mohammed Naser65cda132024-05-02 14:34:08 -040012477 description: |-
12478 Kind is a string value representing the REST resource this object represents.
12479 Servers may infer this from the endpoint the client submits requests to.
12480 Cannot be updated.
12481 In CamelCase.
12482 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
okozachenko120323147262023-01-28 04:16:42 +110012483 type: string
12484 metadata:
12485 type: object
12486 spec:
12487 description: RBDMirroringSpec represents the specification of an RBD mirror daemon
12488 properties:
12489 annotations:
12490 additionalProperties:
12491 type: string
12492 description: The annotations-related configuration to add/set on each Pod related object.
12493 nullable: true
12494 type: object
12495 x-kubernetes-preserve-unknown-fields: true
12496 count:
12497 description: Count represents the number of rbd mirror instance to run
12498 minimum: 1
12499 type: integer
12500 labels:
12501 additionalProperties:
12502 type: string
12503 description: The labels-related configuration to add/set on each Pod related object.
12504 nullable: true
12505 type: object
12506 x-kubernetes-preserve-unknown-fields: true
12507 peers:
12508 description: Peers represents the peers spec
12509 nullable: true
12510 properties:
12511 secretNames:
12512 description: SecretNames represents the Kubernetes Secret names to add rbd-mirror or cephfs-mirror peers
12513 items:
12514 type: string
12515 type: array
12516 type: object
12517 placement:
okozachenko120323147262023-01-28 04:16:42 +110012518 nullable: true
12519 properties:
12520 nodeAffinity:
okozachenko120323147262023-01-28 04:16:42 +110012521 properties:
12522 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110012523 items:
okozachenko120323147262023-01-28 04:16:42 +110012524 properties:
12525 preference:
okozachenko120323147262023-01-28 04:16:42 +110012526 properties:
12527 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012528 items:
okozachenko120323147262023-01-28 04:16:42 +110012529 properties:
12530 key:
okozachenko120323147262023-01-28 04:16:42 +110012531 type: string
12532 operator:
okozachenko120323147262023-01-28 04:16:42 +110012533 type: string
12534 values:
okozachenko120323147262023-01-28 04:16:42 +110012535 items:
12536 type: string
12537 type: array
12538 required:
12539 - key
12540 - operator
12541 type: object
12542 type: array
12543 matchFields:
okozachenko120323147262023-01-28 04:16:42 +110012544 items:
okozachenko120323147262023-01-28 04:16:42 +110012545 properties:
12546 key:
okozachenko120323147262023-01-28 04:16:42 +110012547 type: string
12548 operator:
okozachenko120323147262023-01-28 04:16:42 +110012549 type: string
12550 values:
okozachenko120323147262023-01-28 04:16:42 +110012551 items:
12552 type: string
12553 type: array
12554 required:
12555 - key
12556 - operator
12557 type: object
12558 type: array
12559 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012560 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012561 weight:
okozachenko120323147262023-01-28 04:16:42 +110012562 format: int32
12563 type: integer
12564 required:
12565 - preference
12566 - weight
12567 type: object
12568 type: array
12569 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110012570 properties:
12571 nodeSelectorTerms:
okozachenko120323147262023-01-28 04:16:42 +110012572 items:
okozachenko120323147262023-01-28 04:16:42 +110012573 properties:
12574 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012575 items:
okozachenko120323147262023-01-28 04:16:42 +110012576 properties:
12577 key:
okozachenko120323147262023-01-28 04:16:42 +110012578 type: string
12579 operator:
okozachenko120323147262023-01-28 04:16:42 +110012580 type: string
12581 values:
okozachenko120323147262023-01-28 04:16:42 +110012582 items:
12583 type: string
12584 type: array
12585 required:
12586 - key
12587 - operator
12588 type: object
12589 type: array
12590 matchFields:
okozachenko120323147262023-01-28 04:16:42 +110012591 items:
okozachenko120323147262023-01-28 04:16:42 +110012592 properties:
12593 key:
okozachenko120323147262023-01-28 04:16:42 +110012594 type: string
12595 operator:
okozachenko120323147262023-01-28 04:16:42 +110012596 type: string
12597 values:
okozachenko120323147262023-01-28 04:16:42 +110012598 items:
12599 type: string
12600 type: array
12601 required:
12602 - key
12603 - operator
12604 type: object
12605 type: array
12606 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012607 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012608 type: array
12609 required:
12610 - nodeSelectorTerms
12611 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012612 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012613 type: object
12614 podAffinity:
okozachenko120323147262023-01-28 04:16:42 +110012615 properties:
12616 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110012617 items:
okozachenko120323147262023-01-28 04:16:42 +110012618 properties:
12619 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +110012620 properties:
12621 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110012622 properties:
12623 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012624 items:
okozachenko120323147262023-01-28 04:16:42 +110012625 properties:
12626 key:
okozachenko120323147262023-01-28 04:16:42 +110012627 type: string
12628 operator:
okozachenko120323147262023-01-28 04:16:42 +110012629 type: string
12630 values:
okozachenko120323147262023-01-28 04:16:42 +110012631 items:
12632 type: string
12633 type: array
12634 required:
12635 - key
12636 - operator
12637 type: object
12638 type: array
12639 matchLabels:
12640 additionalProperties:
12641 type: string
okozachenko120323147262023-01-28 04:16:42 +110012642 type: object
12643 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012644 x-kubernetes-map-type: atomic
12645 matchLabelKeys:
12646 items:
12647 type: string
12648 type: array
12649 x-kubernetes-list-type: atomic
12650 mismatchLabelKeys:
12651 items:
12652 type: string
12653 type: array
12654 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012655 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +110012656 properties:
12657 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012658 items:
okozachenko120323147262023-01-28 04:16:42 +110012659 properties:
12660 key:
okozachenko120323147262023-01-28 04:16:42 +110012661 type: string
12662 operator:
okozachenko120323147262023-01-28 04:16:42 +110012663 type: string
12664 values:
okozachenko120323147262023-01-28 04:16:42 +110012665 items:
12666 type: string
12667 type: array
12668 required:
12669 - key
12670 - operator
12671 type: object
12672 type: array
12673 matchLabels:
12674 additionalProperties:
12675 type: string
okozachenko120323147262023-01-28 04:16:42 +110012676 type: object
12677 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012678 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012679 namespaces:
okozachenko120323147262023-01-28 04:16:42 +110012680 items:
12681 type: string
12682 type: array
12683 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110012684 type: string
12685 required:
12686 - topologyKey
12687 type: object
12688 weight:
okozachenko120323147262023-01-28 04:16:42 +110012689 format: int32
12690 type: integer
12691 required:
12692 - podAffinityTerm
12693 - weight
12694 type: object
12695 type: array
12696 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110012697 items:
okozachenko120323147262023-01-28 04:16:42 +110012698 properties:
12699 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110012700 properties:
12701 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012702 items:
okozachenko120323147262023-01-28 04:16:42 +110012703 properties:
12704 key:
okozachenko120323147262023-01-28 04:16:42 +110012705 type: string
12706 operator:
okozachenko120323147262023-01-28 04:16:42 +110012707 type: string
12708 values:
okozachenko120323147262023-01-28 04:16:42 +110012709 items:
12710 type: string
12711 type: array
12712 required:
12713 - key
12714 - operator
12715 type: object
12716 type: array
12717 matchLabels:
12718 additionalProperties:
12719 type: string
okozachenko120323147262023-01-28 04:16:42 +110012720 type: object
12721 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012722 x-kubernetes-map-type: atomic
12723 matchLabelKeys:
12724 items:
12725 type: string
12726 type: array
12727 x-kubernetes-list-type: atomic
12728 mismatchLabelKeys:
12729 items:
12730 type: string
12731 type: array
12732 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012733 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +110012734 properties:
12735 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012736 items:
okozachenko120323147262023-01-28 04:16:42 +110012737 properties:
12738 key:
okozachenko120323147262023-01-28 04:16:42 +110012739 type: string
12740 operator:
okozachenko120323147262023-01-28 04:16:42 +110012741 type: string
12742 values:
okozachenko120323147262023-01-28 04:16:42 +110012743 items:
12744 type: string
12745 type: array
12746 required:
12747 - key
12748 - operator
12749 type: object
12750 type: array
12751 matchLabels:
12752 additionalProperties:
12753 type: string
okozachenko120323147262023-01-28 04:16:42 +110012754 type: object
12755 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012756 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012757 namespaces:
okozachenko120323147262023-01-28 04:16:42 +110012758 items:
12759 type: string
12760 type: array
12761 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110012762 type: string
12763 required:
12764 - topologyKey
12765 type: object
12766 type: array
12767 type: object
12768 podAntiAffinity:
okozachenko120323147262023-01-28 04:16:42 +110012769 properties:
12770 preferredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110012771 items:
okozachenko120323147262023-01-28 04:16:42 +110012772 properties:
12773 podAffinityTerm:
okozachenko120323147262023-01-28 04:16:42 +110012774 properties:
12775 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110012776 properties:
12777 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012778 items:
okozachenko120323147262023-01-28 04:16:42 +110012779 properties:
12780 key:
okozachenko120323147262023-01-28 04:16:42 +110012781 type: string
12782 operator:
okozachenko120323147262023-01-28 04:16:42 +110012783 type: string
12784 values:
okozachenko120323147262023-01-28 04:16:42 +110012785 items:
12786 type: string
12787 type: array
12788 required:
12789 - key
12790 - operator
12791 type: object
12792 type: array
12793 matchLabels:
12794 additionalProperties:
12795 type: string
okozachenko120323147262023-01-28 04:16:42 +110012796 type: object
12797 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012798 x-kubernetes-map-type: atomic
12799 matchLabelKeys:
12800 items:
12801 type: string
12802 type: array
12803 x-kubernetes-list-type: atomic
12804 mismatchLabelKeys:
12805 items:
12806 type: string
12807 type: array
12808 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012809 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +110012810 properties:
12811 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012812 items:
okozachenko120323147262023-01-28 04:16:42 +110012813 properties:
12814 key:
okozachenko120323147262023-01-28 04:16:42 +110012815 type: string
12816 operator:
okozachenko120323147262023-01-28 04:16:42 +110012817 type: string
12818 values:
okozachenko120323147262023-01-28 04:16:42 +110012819 items:
12820 type: string
12821 type: array
12822 required:
12823 - key
12824 - operator
12825 type: object
12826 type: array
12827 matchLabels:
12828 additionalProperties:
12829 type: string
okozachenko120323147262023-01-28 04:16:42 +110012830 type: object
12831 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012832 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012833 namespaces:
okozachenko120323147262023-01-28 04:16:42 +110012834 items:
12835 type: string
12836 type: array
12837 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110012838 type: string
12839 required:
12840 - topologyKey
12841 type: object
12842 weight:
okozachenko120323147262023-01-28 04:16:42 +110012843 format: int32
12844 type: integer
12845 required:
12846 - podAffinityTerm
12847 - weight
12848 type: object
12849 type: array
12850 requiredDuringSchedulingIgnoredDuringExecution:
okozachenko120323147262023-01-28 04:16:42 +110012851 items:
okozachenko120323147262023-01-28 04:16:42 +110012852 properties:
12853 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110012854 properties:
12855 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012856 items:
okozachenko120323147262023-01-28 04:16:42 +110012857 properties:
12858 key:
okozachenko120323147262023-01-28 04:16:42 +110012859 type: string
12860 operator:
okozachenko120323147262023-01-28 04:16:42 +110012861 type: string
12862 values:
okozachenko120323147262023-01-28 04:16:42 +110012863 items:
12864 type: string
12865 type: array
12866 required:
12867 - key
12868 - operator
12869 type: object
12870 type: array
12871 matchLabels:
12872 additionalProperties:
12873 type: string
okozachenko120323147262023-01-28 04:16:42 +110012874 type: object
12875 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012876 x-kubernetes-map-type: atomic
12877 matchLabelKeys:
12878 items:
12879 type: string
12880 type: array
12881 x-kubernetes-list-type: atomic
12882 mismatchLabelKeys:
12883 items:
12884 type: string
12885 type: array
12886 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012887 namespaceSelector:
okozachenko120323147262023-01-28 04:16:42 +110012888 properties:
12889 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012890 items:
okozachenko120323147262023-01-28 04:16:42 +110012891 properties:
12892 key:
okozachenko120323147262023-01-28 04:16:42 +110012893 type: string
12894 operator:
okozachenko120323147262023-01-28 04:16:42 +110012895 type: string
12896 values:
okozachenko120323147262023-01-28 04:16:42 +110012897 items:
12898 type: string
12899 type: array
12900 required:
12901 - key
12902 - operator
12903 type: object
12904 type: array
12905 matchLabels:
12906 additionalProperties:
12907 type: string
okozachenko120323147262023-01-28 04:16:42 +110012908 type: object
12909 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012910 x-kubernetes-map-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012911 namespaces:
okozachenko120323147262023-01-28 04:16:42 +110012912 items:
12913 type: string
12914 type: array
12915 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110012916 type: string
12917 required:
12918 - topologyKey
12919 type: object
12920 type: array
12921 type: object
12922 tolerations:
okozachenko120323147262023-01-28 04:16:42 +110012923 items:
okozachenko120323147262023-01-28 04:16:42 +110012924 properties:
12925 effect:
okozachenko120323147262023-01-28 04:16:42 +110012926 type: string
12927 key:
okozachenko120323147262023-01-28 04:16:42 +110012928 type: string
12929 operator:
okozachenko120323147262023-01-28 04:16:42 +110012930 type: string
12931 tolerationSeconds:
okozachenko120323147262023-01-28 04:16:42 +110012932 format: int64
12933 type: integer
12934 value:
okozachenko120323147262023-01-28 04:16:42 +110012935 type: string
12936 type: object
12937 type: array
12938 topologySpreadConstraints:
okozachenko120323147262023-01-28 04:16:42 +110012939 items:
okozachenko120323147262023-01-28 04:16:42 +110012940 properties:
12941 labelSelector:
okozachenko120323147262023-01-28 04:16:42 +110012942 properties:
12943 matchExpressions:
okozachenko120323147262023-01-28 04:16:42 +110012944 items:
okozachenko120323147262023-01-28 04:16:42 +110012945 properties:
12946 key:
okozachenko120323147262023-01-28 04:16:42 +110012947 type: string
12948 operator:
okozachenko120323147262023-01-28 04:16:42 +110012949 type: string
12950 values:
okozachenko120323147262023-01-28 04:16:42 +110012951 items:
12952 type: string
12953 type: array
12954 required:
12955 - key
12956 - operator
12957 type: object
12958 type: array
12959 matchLabels:
12960 additionalProperties:
12961 type: string
okozachenko120323147262023-01-28 04:16:42 +110012962 type: object
12963 type: object
Mohammed Naser65cda132024-05-02 14:34:08 -040012964 x-kubernetes-map-type: atomic
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000012965 matchLabelKeys:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000012966 items:
12967 type: string
12968 type: array
12969 x-kubernetes-list-type: atomic
okozachenko120323147262023-01-28 04:16:42 +110012970 maxSkew:
okozachenko120323147262023-01-28 04:16:42 +110012971 format: int32
12972 type: integer
12973 minDomains:
okozachenko120323147262023-01-28 04:16:42 +110012974 format: int32
12975 type: integer
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000012976 nodeAffinityPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000012977 type: string
12978 nodeTaintsPolicy:
Mohammed Naserfc4a62c2023-02-10 02:59:17 +000012979 type: string
okozachenko120323147262023-01-28 04:16:42 +110012980 topologyKey:
okozachenko120323147262023-01-28 04:16:42 +110012981 type: string
12982 whenUnsatisfiable:
okozachenko120323147262023-01-28 04:16:42 +110012983 type: string
12984 required:
12985 - maxSkew
12986 - topologyKey
12987 - whenUnsatisfiable
12988 type: object
12989 type: array
12990 type: object
12991 x-kubernetes-preserve-unknown-fields: true
12992 priorityClassName:
12993 description: PriorityClassName sets priority class on the rbd mirror pods
12994 type: string
12995 resources:
12996 description: The resource requirements for the rbd mirror pods
12997 nullable: true
12998 properties:
Mohammed Naser65cda132024-05-02 14:34:08 -040012999 claims:
13000 description: |-
13001 Claims lists the names of resources, defined in spec.resourceClaims,
13002 that are used by this container.
13003
13004
13005 This is an alpha field and requires enabling the
13006 DynamicResourceAllocation feature gate.
13007
13008
13009 This field is immutable. It can only be set for containers.
13010 items:
13011 description: ResourceClaim references one entry in PodSpec.ResourceClaims.
13012 properties:
13013 name:
13014 description: |-
13015 Name must match the name of one entry in pod.spec.resourceClaims of
13016 the Pod where this field is used. It makes that resource available
13017 inside a container.
13018 type: string
13019 required:
13020 - name
13021 type: object
13022 type: array
13023 x-kubernetes-list-map-keys:
13024 - name
13025 x-kubernetes-list-type: map
okozachenko120323147262023-01-28 04:16:42 +110013026 limits:
13027 additionalProperties:
13028 anyOf:
13029 - type: integer
13030 - type: string
13031 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
13032 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -040013033 description: |-
13034 Limits describes the maximum amount of compute resources allowed.
13035 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +110013036 type: object
13037 requests:
13038 additionalProperties:
13039 anyOf:
13040 - type: integer
13041 - type: string
13042 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
13043 x-kubernetes-int-or-string: true
Mohammed Naser65cda132024-05-02 14:34:08 -040013044 description: |-
13045 Requests describes the minimum amount of compute resources required.
13046 If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
13047 otherwise to an implementation-defined value. Requests cannot exceed Limits.
13048 More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
okozachenko120323147262023-01-28 04:16:42 +110013049 type: object
13050 type: object
13051 x-kubernetes-preserve-unknown-fields: true
13052 required:
13053 - count
13054 type: object
13055 status:
13056 description: Status represents the status of an object
13057 properties:
13058 conditions:
13059 items:
13060 description: Condition represents a status condition on any Rook-Ceph Custom Resource.
13061 properties:
13062 lastHeartbeatTime:
13063 format: date-time
13064 type: string
13065 lastTransitionTime:
13066 format: date-time
13067 type: string
13068 message:
13069 type: string
13070 reason:
13071 description: ConditionReason is a reason for a condition
13072 type: string
13073 status:
13074 type: string
13075 type:
13076 description: ConditionType represent a resource's status
13077 type: string
13078 type: object
13079 type: array
13080 observedGeneration:
13081 description: ObservedGeneration is the latest generation observed by the controller.
13082 format: int64
13083 type: integer
13084 phase:
13085 type: string
13086 type: object
13087 x-kubernetes-preserve-unknown-fields: true
13088 required:
13089 - metadata
13090 - spec
13091 type: object
13092 served: true
13093 storage: true
13094 subresources:
13095 status: {}
okozachenko120323147262023-01-28 04:16:42 +110013096---
13097apiVersion: apiextensions.k8s.io/v1
13098kind: CustomResourceDefinition
13099metadata:
13100 name: objectbucketclaims.objectbucket.io
13101 annotations:
13102 helm.sh/resource-policy: keep
13103spec:
13104 group: objectbucket.io
13105 names:
13106 kind: ObjectBucketClaim
13107 listKind: ObjectBucketClaimList
13108 plural: objectbucketclaims
13109 singular: objectbucketclaim
13110 shortNames:
13111 - obc
13112 - obcs
13113 scope: Namespaced
13114 versions:
13115 - name: v1alpha1
13116 served: true
13117 storage: true
13118 schema:
13119 openAPIV3Schema:
13120 type: object
13121 properties:
13122 spec:
13123 type: object
13124 properties:
13125 storageClassName:
13126 type: string
13127 bucketName:
13128 type: string
13129 generateBucketName:
13130 type: string
13131 additionalConfig:
13132 type: object
13133 nullable: true
13134 x-kubernetes-preserve-unknown-fields: true
13135 objectBucketName:
13136 type: string
13137 status:
13138 type: object
13139 x-kubernetes-preserve-unknown-fields: true
13140 subresources:
13141 status: {}
13142---
13143apiVersion: apiextensions.k8s.io/v1
13144kind: CustomResourceDefinition
13145metadata:
13146 name: objectbuckets.objectbucket.io
13147 annotations:
13148 helm.sh/resource-policy: keep
13149spec:
13150 group: objectbucket.io
13151 names:
13152 kind: ObjectBucket
13153 listKind: ObjectBucketList
13154 plural: objectbuckets
13155 singular: objectbucket
13156 shortNames:
13157 - ob
13158 - obs
13159 scope: Cluster
13160 versions:
13161 - name: v1alpha1
13162 served: true
13163 storage: true
13164 schema:
13165 openAPIV3Schema:
13166 type: object
13167 properties:
13168 spec:
13169 type: object
13170 properties:
13171 storageClassName:
13172 type: string
13173 endpoint:
13174 type: object
13175 nullable: true
13176 properties:
13177 bucketHost:
13178 type: string
13179 bucketPort:
13180 type: integer
13181 format: int32
13182 bucketName:
13183 type: string
13184 region:
13185 type: string
13186 subRegion:
13187 type: string
13188 additionalConfig:
13189 type: object
13190 nullable: true
13191 x-kubernetes-preserve-unknown-fields: true
13192 authentication:
13193 type: object
13194 nullable: true
13195 items:
13196 type: object
13197 x-kubernetes-preserve-unknown-fields: true
13198 additionalState:
13199 type: object
13200 nullable: true
13201 x-kubernetes-preserve-unknown-fields: true
13202 reclaimPolicy:
13203 type: string
13204 claimRef:
13205 type: object
13206 nullable: true
13207 x-kubernetes-preserve-unknown-fields: true
13208 status:
13209 type: object
13210 x-kubernetes-preserve-unknown-fields: true
13211 subresources:
13212 status: {}
13213
13214{{- end }}