blob: 2ce42892be79b2b2ccca36f70403b8b43c53c36d [file] [log] [blame]
giodbf4a852025-06-30 17:09:46 +04001# Generated crds.yaml from github.com/longhorn/longhorn-manager/k8s/pkg/apis and the crds.yaml will be copied to longhorn/longhorn chart/templates and cannot be directly used by kubectl apply.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002apiVersion: apiextensions.k8s.io/v1
3kind: CustomResourceDefinition
4metadata:
5 annotations:
gio3e1b96b2026-07-21 18:52:35 +04006 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04007 labels: {{- include "longhorn.labels" . | nindent 4 }}
8 longhorn-manager: ""
9 name: backingimagedatasources.longhorn.io
10spec:
11 group: longhorn.io
12 names:
13 kind: BackingImageDataSource
14 listKind: BackingImageDataSourceList
15 plural: backingimagedatasources
16 shortNames:
17 - lhbids
18 singular: backingimagedatasource
19 scope: Namespaced
20 versions:
21 - additionalPrinterColumns:
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +040022 - description: The system generated UUID of the provisioned backing image file
23 jsonPath: .spec.uuid
24 name: UUID
25 type: string
gioc9b92b12025-05-22 08:57:18 +040026 - description: The current state of the pod used to provision the backing image
27 file from source
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +040028 jsonPath: .status.currentState
29 name: State
30 type: string
31 - description: The data source type
32 jsonPath: .spec.sourceType
33 name: SourceType
34 type: string
35 - description: The backing image file size
36 jsonPath: .status.size
37 name: Size
38 type: string
39 - description: The node the backing image file will be prepared on
40 jsonPath: .spec.nodeID
41 name: Node
42 type: string
43 - description: The disk the backing image file will be prepared on
44 jsonPath: .spec.diskUUID
45 name: DiskUUID
46 type: string
47 - jsonPath: .metadata.creationTimestamp
48 name: Age
49 type: date
50 name: v1beta2
51 schema:
52 openAPIV3Schema:
gioc9b92b12025-05-22 08:57:18 +040053 description: BackingImageDataSource is where Longhorn stores backing image
54 data source object.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +040055 properties:
56 apiVersion:
gio16bb6382025-05-21 18:42:40 +040057 description: |-
58 APIVersion defines the versioned schema of this representation of an object.
59 Servers should convert recognized schemas to the latest internal value, and
60 may reject unrecognized values.
61 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +040062 type: string
63 kind:
gio16bb6382025-05-21 18:42:40 +040064 description: |-
65 Kind is a string value representing the REST resource this object represents.
66 Servers may infer this from the endpoint the client submits requests to.
67 Cannot be updated.
68 In CamelCase.
69 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +040070 type: string
71 metadata:
72 type: object
73 spec:
gioc9b92b12025-05-22 08:57:18 +040074 description: BackingImageDataSourceSpec defines the desired state of the
75 Longhorn backing image data source
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +040076 properties:
77 checksum:
78 type: string
79 diskPath:
80 type: string
81 diskUUID:
82 type: string
83 fileTransferred:
84 type: boolean
85 nodeID:
86 type: string
87 parameters:
88 additionalProperties:
89 type: string
90 type: object
91 sourceType:
92 enum:
93 - download
94 - upload
95 - export-from-volume
gio16bb6382025-05-21 18:42:40 +040096 - restore
gioc9b92b12025-05-22 08:57:18 +040097 - clone
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +040098 type: string
99 uuid:
100 type: string
101 type: object
102 status:
gioc9b92b12025-05-22 08:57:18 +0400103 description: BackingImageDataSourceStatus defines the observed state of
104 the Longhorn backing image data source
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400105 properties:
106 checksum:
107 type: string
108 currentState:
109 type: string
110 ip:
111 type: string
112 message:
113 type: string
114 ownerID:
115 type: string
116 progress:
117 type: integer
118 runningParameters:
119 additionalProperties:
120 type: string
121 nullable: true
122 type: object
123 size:
124 format: int64
125 type: integer
126 storageIP:
127 type: string
128 type: object
129 type: object
130 served: true
131 storage: true
132 subresources:
133 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400134---
135apiVersion: apiextensions.k8s.io/v1
136kind: CustomResourceDefinition
137metadata:
138 annotations:
gio3e1b96b2026-07-21 18:52:35 +0400139 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400140 labels: {{- include "longhorn.labels" . | nindent 4 }}
141 longhorn-manager: ""
142 name: backingimagemanagers.longhorn.io
143spec:
144 group: longhorn.io
145 names:
146 kind: BackingImageManager
147 listKind: BackingImageManagerList
148 plural: backingimagemanagers
149 shortNames:
150 - lhbim
151 singular: backingimagemanager
152 scope: Namespaced
153 versions:
154 - additionalPrinterColumns:
155 - description: The current state of the manager
156 jsonPath: .status.currentState
157 name: State
158 type: string
159 - description: The image the manager pod will use
160 jsonPath: .spec.image
161 name: Image
162 type: string
163 - description: The node the manager is on
164 jsonPath: .spec.nodeID
165 name: Node
166 type: string
167 - description: The disk the manager is responsible for
168 jsonPath: .spec.diskUUID
169 name: DiskUUID
170 type: string
171 - description: The disk path the manager is using
172 jsonPath: .spec.diskPath
173 name: DiskPath
174 type: string
175 - jsonPath: .metadata.creationTimestamp
176 name: Age
177 type: date
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400178 name: v1beta2
179 schema:
180 openAPIV3Schema:
gioc9b92b12025-05-22 08:57:18 +0400181 description: BackingImageManager is where Longhorn stores backing image manager
182 object.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400183 properties:
184 apiVersion:
gio16bb6382025-05-21 18:42:40 +0400185 description: |-
186 APIVersion defines the versioned schema of this representation of an object.
187 Servers should convert recognized schemas to the latest internal value, and
188 may reject unrecognized values.
189 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400190 type: string
191 kind:
gio16bb6382025-05-21 18:42:40 +0400192 description: |-
193 Kind is a string value representing the REST resource this object represents.
194 Servers may infer this from the endpoint the client submits requests to.
195 Cannot be updated.
196 In CamelCase.
197 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400198 type: string
199 metadata:
200 type: object
201 spec:
gioc9b92b12025-05-22 08:57:18 +0400202 description: BackingImageManagerSpec defines the desired state of the
203 Longhorn backing image manager
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400204 properties:
205 backingImages:
206 additionalProperties:
207 type: string
208 type: object
209 diskPath:
210 type: string
211 diskUUID:
212 type: string
213 image:
214 type: string
215 nodeID:
216 type: string
217 type: object
218 status:
gioc9b92b12025-05-22 08:57:18 +0400219 description: BackingImageManagerStatus defines the observed state of the
220 Longhorn backing image manager
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400221 properties:
222 apiMinVersion:
223 type: integer
224 apiVersion:
225 type: integer
226 backingImageFileMap:
227 additionalProperties:
228 properties:
229 currentChecksum:
230 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400231 message:
232 type: string
233 name:
234 type: string
235 progress:
236 type: integer
gio2539d9e2025-05-22 12:19:30 +0400237 realSize:
238 format: int64
239 type: integer
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400240 senderManagerAddress:
241 type: string
242 sendingReference:
243 type: integer
244 size:
245 format: int64
246 type: integer
247 state:
248 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400249 uuid:
250 type: string
gio16bb6382025-05-21 18:42:40 +0400251 virtualSize:
252 format: int64
253 type: integer
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400254 type: object
255 nullable: true
256 type: object
257 currentState:
258 type: string
259 ip:
260 type: string
261 ownerID:
262 type: string
263 storageIP:
264 type: string
265 type: object
266 type: object
267 served: true
268 storage: true
269 subresources:
270 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400271---
272apiVersion: apiextensions.k8s.io/v1
273kind: CustomResourceDefinition
274metadata:
275 annotations:
gio3e1b96b2026-07-21 18:52:35 +0400276 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400277 labels: {{- include "longhorn.labels" . | nindent 4 }}
278 longhorn-manager: ""
279 name: backingimages.longhorn.io
280spec:
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400281 group: longhorn.io
282 names:
283 kind: BackingImage
284 listKind: BackingImageList
285 plural: backingimages
286 shortNames:
287 - lhbi
288 singular: backingimage
289 scope: Namespaced
290 versions:
291 - additionalPrinterColumns:
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400292 - description: The system generated UUID
293 jsonPath: .status.uuid
294 name: UUID
295 type: string
296 - description: The source of the backing image file data
297 jsonPath: .spec.sourceType
298 name: SourceType
299 type: string
300 - description: The backing image file size in each disk
301 jsonPath: .status.size
302 name: Size
303 type: string
gio16bb6382025-05-21 18:42:40 +0400304 - description: The virtual size of the image (may be larger than file size)
305 jsonPath: .status.virtualSize
306 name: VirtualSize
307 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400308 - jsonPath: .metadata.creationTimestamp
309 name: Age
310 type: date
311 name: v1beta2
312 schema:
313 openAPIV3Schema:
314 description: BackingImage is where Longhorn stores backing image object.
315 properties:
316 apiVersion:
gio16bb6382025-05-21 18:42:40 +0400317 description: |-
318 APIVersion defines the versioned schema of this representation of an object.
319 Servers should convert recognized schemas to the latest internal value, and
320 may reject unrecognized values.
321 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400322 type: string
323 kind:
gio16bb6382025-05-21 18:42:40 +0400324 description: |-
325 Kind is a string value representing the REST resource this object represents.
326 Servers may infer this from the endpoint the client submits requests to.
327 Cannot be updated.
328 In CamelCase.
329 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400330 type: string
331 metadata:
332 type: object
333 spec:
gioc9b92b12025-05-22 08:57:18 +0400334 description: BackingImageSpec defines the desired state of the Longhorn
335 backing image
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400336 properties:
337 checksum:
338 type: string
gio2539d9e2025-05-22 12:19:30 +0400339 dataEngine:
340 default: v1
341 enum:
342 - v1
343 - v2
344 type: string
gioc9b92b12025-05-22 08:57:18 +0400345 diskFileSpecMap:
346 additionalProperties:
347 properties:
gio2539d9e2025-05-22 12:19:30 +0400348 dataEngine:
349 enum:
350 - v1
351 - v2
352 type: string
gioc9b92b12025-05-22 08:57:18 +0400353 evictionRequested:
354 type: boolean
355 type: object
356 type: object
357 diskSelector:
358 items:
359 type: string
360 type: array
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400361 disks:
362 additionalProperties:
363 type: string
gioc9b92b12025-05-22 08:57:18 +0400364 description: Deprecated. We are now using DiskFileSpecMap to assign
365 different spec to the file on different disks.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400366 type: object
gioc9b92b12025-05-22 08:57:18 +0400367 minNumberOfCopies:
368 type: integer
369 nodeSelector:
370 items:
371 type: string
372 type: array
373 secret:
374 type: string
375 secretNamespace:
376 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400377 sourceParameters:
378 additionalProperties:
379 type: string
380 type: object
381 sourceType:
382 enum:
383 - download
384 - upload
385 - export-from-volume
gio16bb6382025-05-21 18:42:40 +0400386 - restore
gioc9b92b12025-05-22 08:57:18 +0400387 - clone
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400388 type: string
389 type: object
390 status:
gioc9b92b12025-05-22 08:57:18 +0400391 description: BackingImageStatus defines the observed state of the Longhorn
392 backing image status
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400393 properties:
394 checksum:
395 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400396 diskFileStatusMap:
397 additionalProperties:
398 properties:
gio2539d9e2025-05-22 12:19:30 +0400399 dataEngine:
400 enum:
401 - v1
402 - v2
403 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400404 lastStateTransitionTime:
405 type: string
406 message:
407 type: string
408 progress:
409 type: integer
410 state:
411 type: string
412 type: object
413 nullable: true
414 type: object
415 diskLastRefAtMap:
416 additionalProperties:
417 type: string
418 nullable: true
419 type: object
420 ownerID:
421 type: string
gio2539d9e2025-05-22 12:19:30 +0400422 realSize:
423 description: Real size of image in bytes, which may be smaller than
424 the size when the file is a sparse file. Will be zero until known
425 (e.g. while a backing image is uploading)
426 format: int64
427 type: integer
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400428 size:
429 format: int64
430 type: integer
431 uuid:
432 type: string
gio2539d9e2025-05-22 12:19:30 +0400433 v2FirstCopyDisk:
434 type: string
435 v2FirstCopyStatus:
436 description: It is pending -> in-progress -> ready/failed
437 type: string
gio16bb6382025-05-21 18:42:40 +0400438 virtualSize:
gio2539d9e2025-05-22 12:19:30 +0400439 description: Virtual size of image in bytes, which may be larger than
440 physical size. Will be zero until known (e.g. while a backing image
441 is uploading)
gio16bb6382025-05-21 18:42:40 +0400442 format: int64
443 type: integer
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400444 type: object
445 type: object
446 served: true
447 storage: true
448 subresources:
449 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400450---
451apiVersion: apiextensions.k8s.io/v1
452kind: CustomResourceDefinition
453metadata:
454 annotations:
gio3e1b96b2026-07-21 18:52:35 +0400455 controller-gen.kubebuilder.io/version: v0.19.0
gioc9b92b12025-05-22 08:57:18 +0400456 labels: {{- include "longhorn.labels" . | nindent 4 }}
gio16bb6382025-05-21 18:42:40 +0400457 longhorn-manager: ""
458 name: backupbackingimages.longhorn.io
459spec:
460 group: longhorn.io
461 names:
462 kind: BackupBackingImage
463 listKind: BackupBackingImageList
464 plural: backupbackingimages
465 shortNames:
466 - lhbbi
467 singular: backupbackingimage
468 scope: Namespaced
469 versions:
470 - additionalPrinterColumns:
471 - description: The backing image name
472 jsonPath: .status.backingImage
473 name: BackingImage
474 type: string
475 - description: The backing image size
476 jsonPath: .status.size
477 name: Size
478 type: string
479 - description: The backing image backup upload finished time
480 jsonPath: .status.backupCreatedAt
481 name: BackupCreatedAt
482 type: string
483 - description: The backing image backup state
484 jsonPath: .status.state
485 name: State
486 type: string
487 - description: The last synced time
488 jsonPath: .status.lastSyncedAt
489 name: LastSyncedAt
490 type: string
491 name: v1beta2
492 schema:
493 openAPIV3Schema:
gioc9b92b12025-05-22 08:57:18 +0400494 description: BackupBackingImage is where Longhorn stores backing image backup
495 object.
gio16bb6382025-05-21 18:42:40 +0400496 properties:
497 apiVersion:
498 description: |-
499 APIVersion defines the versioned schema of this representation of an object.
500 Servers should convert recognized schemas to the latest internal value, and
501 may reject unrecognized values.
502 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
503 type: string
504 kind:
505 description: |-
506 Kind is a string value representing the REST resource this object represents.
507 Servers may infer this from the endpoint the client submits requests to.
508 Cannot be updated.
509 In CamelCase.
510 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
511 type: string
512 metadata:
513 type: object
514 spec:
gioc9b92b12025-05-22 08:57:18 +0400515 description: BackupBackingImageSpec defines the desired state of the Longhorn
516 backing image backup
gio16bb6382025-05-21 18:42:40 +0400517 properties:
gio2539d9e2025-05-22 12:19:30 +0400518 backingImage:
giodbf4a852025-06-30 17:09:46 +0400519 description: The backing image name.
gio2539d9e2025-05-22 12:19:30 +0400520 type: string
521 backupTargetName:
522 description: The backup target name.
523 nullable: true
524 type: string
gio16bb6382025-05-21 18:42:40 +0400525 labels:
526 additionalProperties:
527 type: string
528 description: The labels of backing image backup.
529 type: object
530 syncRequestedAt:
gioc9b92b12025-05-22 08:57:18 +0400531 description: The time to request run sync the remote backing image
532 backup.
gio16bb6382025-05-21 18:42:40 +0400533 format: date-time
534 nullable: true
535 type: string
536 userCreated:
giodbf4a852025-06-30 17:09:46 +0400537 description: Is this CR created by user through API or UI.
gio16bb6382025-05-21 18:42:40 +0400538 type: boolean
539 required:
gio2539d9e2025-05-22 12:19:30 +0400540 - backingImage
gio16bb6382025-05-21 18:42:40 +0400541 - userCreated
542 type: object
543 status:
gioc9b92b12025-05-22 08:57:18 +0400544 description: BackupBackingImageStatus defines the observed state of the
545 Longhorn backing image backup
gio16bb6382025-05-21 18:42:40 +0400546 properties:
547 backingImage:
548 description: The backing image name.
549 type: string
550 backupCreatedAt:
551 description: The backing image backup upload finished time.
552 type: string
553 checksum:
554 description: The checksum of the backing image.
555 type: string
556 compressionMethod:
557 description: Compression method
558 type: string
559 error:
560 description: The error message when taking the backing image backup.
561 type: string
562 labels:
563 additionalProperties:
564 type: string
565 description: The labels of backing image backup.
566 nullable: true
567 type: object
568 lastSyncedAt:
gioc9b92b12025-05-22 08:57:18 +0400569 description: The last time that the backing image backup was synced
570 with the remote backup target.
gio16bb6382025-05-21 18:42:40 +0400571 format: date-time
572 nullable: true
573 type: string
574 managerAddress:
gioc9b92b12025-05-22 08:57:18 +0400575 description: The address of the backing image manager that runs backing
576 image backup.
gio16bb6382025-05-21 18:42:40 +0400577 type: string
578 messages:
579 additionalProperties:
580 type: string
gioc9b92b12025-05-22 08:57:18 +0400581 description: The error messages when listing or inspecting backing
582 image backup.
gio16bb6382025-05-21 18:42:40 +0400583 nullable: true
584 type: object
585 ownerID:
gioc9b92b12025-05-22 08:57:18 +0400586 description: The node ID on which the controller is responsible to
587 reconcile this CR.
gio16bb6382025-05-21 18:42:40 +0400588 type: string
589 progress:
590 description: The backing image backup progress.
591 type: integer
gio2539d9e2025-05-22 12:19:30 +0400592 secret:
593 description: Record the secret if this backup backing image is encrypted
594 type: string
595 secretNamespace:
596 description: Record the secret namespace if this backup backing image
597 is encrypted
598 type: string
gio16bb6382025-05-21 18:42:40 +0400599 size:
600 description: The backing image size.
601 format: int64
602 type: integer
603 state:
604 description: |-
605 The backing image backup creation state.
606 Can be "", "InProgress", "Completed", "Error", "Unknown".
607 type: string
608 url:
609 description: The backing image backup URL.
610 type: string
611 type: object
612 type: object
613 served: true
614 storage: true
615 subresources:
616 status: {}
617---
618apiVersion: apiextensions.k8s.io/v1
619kind: CustomResourceDefinition
620metadata:
621 annotations:
gio3e1b96b2026-07-21 18:52:35 +0400622 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400623 labels: {{- include "longhorn.labels" . | nindent 4 }}
624 longhorn-manager: ""
625 name: backups.longhorn.io
626spec:
627 group: longhorn.io
628 names:
629 kind: Backup
630 listKind: BackupList
631 plural: backups
632 shortNames:
633 - lhb
634 singular: backup
635 scope: Namespaced
636 versions:
637 - additionalPrinterColumns:
638 - description: The snapshot name
639 jsonPath: .status.snapshotName
640 name: SnapshotName
641 type: string
642 - description: The snapshot size
643 jsonPath: .status.size
644 name: SnapshotSize
645 type: string
646 - description: The snapshot creation time
647 jsonPath: .status.snapshotCreatedAt
648 name: SnapshotCreatedAt
649 type: string
gio2539d9e2025-05-22 12:19:30 +0400650 - description: The backup target name
651 jsonPath: .status.backupTargetName
652 name: BackupTarget
653 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400654 - description: The backup state
655 jsonPath: .status.state
656 name: State
657 type: string
658 - description: The backup last synced time
659 jsonPath: .status.lastSyncedAt
660 name: LastSyncedAt
661 type: string
662 name: v1beta2
663 schema:
664 openAPIV3Schema:
665 description: Backup is where Longhorn stores backup object.
666 properties:
667 apiVersion:
gio16bb6382025-05-21 18:42:40 +0400668 description: |-
669 APIVersion defines the versioned schema of this representation of an object.
670 Servers should convert recognized schemas to the latest internal value, and
671 may reject unrecognized values.
672 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400673 type: string
674 kind:
gio16bb6382025-05-21 18:42:40 +0400675 description: |-
676 Kind is a string value representing the REST resource this object represents.
677 Servers may infer this from the endpoint the client submits requests to.
678 Cannot be updated.
679 In CamelCase.
680 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400681 type: string
682 metadata:
683 type: object
684 spec:
685 description: BackupSpec defines the desired state of the Longhorn backup
686 properties:
gio3e1b96b2026-07-21 18:52:35 +0400687 backupBlockSize:
688 description: The backup block size. 0 means the legacy default size
689 2MiB, and -1 indicate the block size is invalid.
690 enum:
691 - "-1"
692 - "2097152"
693 - "16777216"
694 format: int64
695 type: string
gioc9b92b12025-05-22 08:57:18 +0400696 backupMode:
697 description: |-
698 The backup mode of this backup.
699 Can be "full" or "incremental"
700 enum:
701 - full
702 - incremental
gioc9b92b12025-05-22 08:57:18 +0400703 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400704 labels:
705 additionalProperties:
706 type: string
707 description: The labels of snapshot backup.
708 type: object
709 snapshotName:
710 description: The snapshot name.
711 type: string
712 syncRequestedAt:
713 description: The time to request run sync the remote backup.
714 format: date-time
715 nullable: true
716 type: string
717 type: object
718 status:
719 description: BackupStatus defines the observed state of the Longhorn backup
720 properties:
721 backupCreatedAt:
722 description: The snapshot backup upload finished time.
723 type: string
gio2539d9e2025-05-22 12:19:30 +0400724 backupTargetName:
725 description: The backup target name.
726 type: string
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +0400727 compressionMethod:
728 description: Compression method
729 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400730 error:
731 description: The error message when taking the snapshot backup.
732 type: string
733 labels:
734 additionalProperties:
735 type: string
736 description: The labels of snapshot backup.
737 nullable: true
738 type: object
739 lastSyncedAt:
gioc9b92b12025-05-22 08:57:18 +0400740 description: The last time that the backup was synced with the remote
741 backup target.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400742 format: date-time
743 nullable: true
744 type: string
745 messages:
746 additionalProperties:
747 type: string
gioc9b92b12025-05-22 08:57:18 +0400748 description: The error messages when calling longhorn engine on listing
749 or inspecting backups.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400750 nullable: true
751 type: object
gioc9b92b12025-05-22 08:57:18 +0400752 newlyUploadDataSize:
753 description: Size in bytes of newly uploaded data
754 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400755 ownerID:
gioc9b92b12025-05-22 08:57:18 +0400756 description: The node ID on which the controller is responsible to
757 reconcile this backup CR.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400758 type: string
759 progress:
760 description: The snapshot backup progress.
761 type: integer
gioc9b92b12025-05-22 08:57:18 +0400762 reUploadedDataSize:
763 description: Size in bytes of reuploaded data
764 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400765 replicaAddress:
766 description: The address of the replica that runs snapshot backup.
767 type: string
768 size:
769 description: The snapshot size.
770 type: string
771 snapshotCreatedAt:
772 description: The snapshot creation time.
773 type: string
774 snapshotName:
775 description: The snapshot name.
776 type: string
777 state:
gio16bb6382025-05-21 18:42:40 +0400778 description: |-
779 The backup creation state.
780 Can be "", "InProgress", "Completed", "Error", "Unknown".
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400781 type: string
782 url:
783 description: The snapshot backup URL.
784 type: string
785 volumeBackingImageName:
786 description: The volume's backing image name.
787 type: string
788 volumeCreated:
789 description: The volume creation time.
790 type: string
791 volumeName:
792 description: The volume name.
793 type: string
794 volumeSize:
795 description: The volume size.
796 type: string
797 type: object
798 type: object
799 served: true
800 storage: true
801 subresources:
802 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400803---
804apiVersion: apiextensions.k8s.io/v1
805kind: CustomResourceDefinition
806metadata:
807 annotations:
gio3e1b96b2026-07-21 18:52:35 +0400808 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400809 labels: {{- include "longhorn.labels" . | nindent 4 }}
810 longhorn-manager: ""
811 name: backuptargets.longhorn.io
812spec:
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400813 group: longhorn.io
814 names:
815 kind: BackupTarget
816 listKind: BackupTargetList
817 plural: backuptargets
818 shortNames:
819 - lhbt
820 singular: backuptarget
821 scope: Namespaced
822 versions:
823 - additionalPrinterColumns:
824 - description: The backup target URL
825 jsonPath: .spec.backupTargetURL
826 name: URL
827 type: string
828 - description: The backup target credential secret
829 jsonPath: .spec.credentialSecret
830 name: Credential
831 type: string
832 - description: The backup target poll interval
833 jsonPath: .spec.pollInterval
834 name: LastBackupAt
835 type: string
836 - description: Indicate whether the backup target is available or not
837 jsonPath: .status.available
838 name: Available
839 type: boolean
840 - description: The backup target last synced time
841 jsonPath: .status.lastSyncedAt
842 name: LastSyncedAt
843 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400844 name: v1beta2
845 schema:
846 openAPIV3Schema:
847 description: BackupTarget is where Longhorn stores backup target object.
848 properties:
849 apiVersion:
gio16bb6382025-05-21 18:42:40 +0400850 description: |-
851 APIVersion defines the versioned schema of this representation of an object.
852 Servers should convert recognized schemas to the latest internal value, and
853 may reject unrecognized values.
854 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400855 type: string
856 kind:
gio16bb6382025-05-21 18:42:40 +0400857 description: |-
858 Kind is a string value representing the REST resource this object represents.
859 Servers may infer this from the endpoint the client submits requests to.
860 Cannot be updated.
861 In CamelCase.
862 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400863 type: string
864 metadata:
865 type: object
866 spec:
gioc9b92b12025-05-22 08:57:18 +0400867 description: BackupTargetSpec defines the desired state of the Longhorn
868 backup target
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400869 properties:
870 backupTargetURL:
871 description: The backup target URL.
872 type: string
873 credentialSecret:
874 description: The backup target credential secret.
875 type: string
876 pollInterval:
gioc9b92b12025-05-22 08:57:18 +0400877 description: The interval that the cluster needs to run sync with
878 the backup target.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400879 type: string
880 syncRequestedAt:
881 description: The time to request run sync the remote backup target.
882 format: date-time
883 nullable: true
884 type: string
885 type: object
886 status:
gioc9b92b12025-05-22 08:57:18 +0400887 description: BackupTargetStatus defines the observed state of the Longhorn
888 backup target
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400889 properties:
890 available:
gioc9b92b12025-05-22 08:57:18 +0400891 description: Available indicates if the remote backup target is available
892 or not.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400893 type: boolean
894 conditions:
895 description: Records the reason on why the backup target is unavailable.
896 items:
897 properties:
898 lastProbeTime:
899 description: Last time we probed the condition.
900 type: string
901 lastTransitionTime:
gioc9b92b12025-05-22 08:57:18 +0400902 description: Last time the condition transitioned from one status
903 to another.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400904 type: string
905 message:
gioc9b92b12025-05-22 08:57:18 +0400906 description: Human-readable message indicating details about
907 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400908 type: string
909 reason:
gioc9b92b12025-05-22 08:57:18 +0400910 description: Unique, one-word, CamelCase reason for the condition's
911 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400912 type: string
913 status:
gio16bb6382025-05-21 18:42:40 +0400914 description: |-
915 Status is the status of the condition.
916 Can be True, False, Unknown.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400917 type: string
918 type:
919 description: Type is the type of the condition.
920 type: string
921 type: object
922 nullable: true
923 type: array
924 lastSyncedAt:
gioc9b92b12025-05-22 08:57:18 +0400925 description: The last time that the controller synced with the remote
926 backup target.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400927 format: date-time
928 nullable: true
929 type: string
930 ownerID:
gioc9b92b12025-05-22 08:57:18 +0400931 description: The node ID on which the controller is responsible to
932 reconcile this backup target CR.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400933 type: string
934 type: object
935 type: object
936 served: true
937 storage: true
938 subresources:
939 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400940---
941apiVersion: apiextensions.k8s.io/v1
942kind: CustomResourceDefinition
943metadata:
944 annotations:
gio3e1b96b2026-07-21 18:52:35 +0400945 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400946 labels: {{- include "longhorn.labels" . | nindent 4 }}
947 longhorn-manager: ""
948 name: backupvolumes.longhorn.io
949spec:
950 group: longhorn.io
951 names:
952 kind: BackupVolume
953 listKind: BackupVolumeList
954 plural: backupvolumes
955 shortNames:
956 - lhbv
957 singular: backupvolume
958 scope: Namespaced
959 versions:
960 - additionalPrinterColumns:
gio2539d9e2025-05-22 12:19:30 +0400961 - description: The backup target name
962 jsonPath: .spec.backupTargetName
963 name: BackupTarget
964 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400965 - description: The backup volume creation time
966 jsonPath: .status.createdAt
967 name: CreatedAt
968 type: string
969 - description: The backup volume last backup name
970 jsonPath: .status.lastBackupName
971 name: LastBackupName
972 type: string
973 - description: The backup volume last backup time
974 jsonPath: .status.lastBackupAt
975 name: LastBackupAt
976 type: string
977 - description: The backup volume last synced time
978 jsonPath: .status.lastSyncedAt
979 name: LastSyncedAt
980 type: string
981 name: v1beta2
982 schema:
983 openAPIV3Schema:
984 description: BackupVolume is where Longhorn stores backup volume object.
985 properties:
986 apiVersion:
gio16bb6382025-05-21 18:42:40 +0400987 description: |-
988 APIVersion defines the versioned schema of this representation of an object.
989 Servers should convert recognized schemas to the latest internal value, and
990 may reject unrecognized values.
991 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400992 type: string
993 kind:
gio16bb6382025-05-21 18:42:40 +0400994 description: |-
995 Kind is a string value representing the REST resource this object represents.
996 Servers may infer this from the endpoint the client submits requests to.
997 Cannot be updated.
998 In CamelCase.
999 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001000 type: string
1001 metadata:
1002 type: object
1003 spec:
gioc9b92b12025-05-22 08:57:18 +04001004 description: BackupVolumeSpec defines the desired state of the Longhorn
1005 backup volume
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001006 properties:
gio2539d9e2025-05-22 12:19:30 +04001007 backupTargetName:
1008 description: The backup target name that the backup volume was synced.
1009 nullable: true
1010 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001011 syncRequestedAt:
1012 description: The time to request run sync the remote backup volume.
1013 format: date-time
1014 nullable: true
1015 type: string
gio2539d9e2025-05-22 12:19:30 +04001016 volumeName:
1017 description: The volume name that the backup volume was used to backup.
1018 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001019 type: object
1020 status:
gioc9b92b12025-05-22 08:57:18 +04001021 description: BackupVolumeStatus defines the observed state of the Longhorn
1022 backup volume
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001023 properties:
1024 backingImageChecksum:
1025 description: the backing image checksum.
1026 type: string
1027 backingImageName:
1028 description: The backing image name.
1029 type: string
1030 createdAt:
1031 description: The backup volume creation time.
1032 type: string
1033 dataStored:
1034 description: The backup volume block count.
1035 type: string
1036 labels:
1037 additionalProperties:
1038 type: string
1039 description: The backup volume labels.
1040 nullable: true
1041 type: object
1042 lastBackupAt:
1043 description: The latest volume backup time.
1044 type: string
1045 lastBackupName:
1046 description: The latest volume backup name.
1047 type: string
1048 lastModificationTime:
1049 description: The backup volume config last modification time.
1050 format: date-time
1051 nullable: true
1052 type: string
1053 lastSyncedAt:
gioc9b92b12025-05-22 08:57:18 +04001054 description: The last time that the backup volume was synced into
1055 the cluster.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001056 format: date-time
1057 nullable: true
1058 type: string
1059 messages:
1060 additionalProperties:
1061 type: string
gioc9b92b12025-05-22 08:57:18 +04001062 description: The error messages when call longhorn engine on list
1063 or inspect backup volumes.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001064 nullable: true
1065 type: object
1066 ownerID:
gioc9b92b12025-05-22 08:57:18 +04001067 description: The node ID on which the controller is responsible to
1068 reconcile this backup volume CR.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001069 type: string
1070 size:
1071 description: The backup volume size.
1072 type: string
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04001073 storageClassName:
1074 description: the storage class name of pv/pvc binding with the volume.
1075 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001076 type: object
1077 type: object
1078 served: true
1079 storage: true
1080 subresources:
1081 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001082---
1083apiVersion: apiextensions.k8s.io/v1
1084kind: CustomResourceDefinition
1085metadata:
1086 annotations:
gio3e1b96b2026-07-21 18:52:35 +04001087 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001088 labels: {{- include "longhorn.labels" . | nindent 4 }}
1089 longhorn-manager: ""
gio3e1b96b2026-07-21 18:52:35 +04001090 name: enginefrontends.longhorn.io
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001091spec:
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001092 group: longhorn.io
1093 names:
gio3e1b96b2026-07-21 18:52:35 +04001094 kind: EngineFrontend
1095 listKind: EngineFrontendList
1096 plural: enginefrontends
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001097 shortNames:
gio3e1b96b2026-07-21 18:52:35 +04001098 - lhef
1099 singular: enginefrontend
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001100 scope: Namespaced
1101 versions:
1102 - additionalPrinterColumns:
gio3e1b96b2026-07-21 18:52:35 +04001103 - description: The data engine of the engine frontend
1104 jsonPath: .spec.dataEngine
1105 name: Data Engine
1106 type: string
1107 - description: The current state of the engine frontend
1108 jsonPath: .status.currentState
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001109 name: State
1110 type: string
gio3e1b96b2026-07-21 18:52:35 +04001111 - description: The node that the engine frontend is on
1112 jsonPath: .spec.nodeID
1113 name: Node
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001114 type: string
gio3e1b96b2026-07-21 18:52:35 +04001115 - description: The instance manager of the engine frontend
1116 jsonPath: .status.instanceManagerName
1117 name: InstanceManager
1118 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001119 - jsonPath: .metadata.creationTimestamp
1120 name: Age
1121 type: date
gio3e1b96b2026-07-21 18:52:35 +04001122 name: v1beta2
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001123 schema:
1124 openAPIV3Schema:
gio3e1b96b2026-07-21 18:52:35 +04001125 description: EngineFrontend is where Longhorn stores engine frontend object
1126 for v2 data engine initiator.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001127 properties:
1128 apiVersion:
gio16bb6382025-05-21 18:42:40 +04001129 description: |-
1130 APIVersion defines the versioned schema of this representation of an object.
1131 Servers should convert recognized schemas to the latest internal value, and
1132 may reject unrecognized values.
1133 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001134 type: string
1135 kind:
gio16bb6382025-05-21 18:42:40 +04001136 description: |-
1137 Kind is a string value representing the REST resource this object represents.
1138 Servers may infer this from the endpoint the client submits requests to.
1139 Cannot be updated.
1140 In CamelCase.
1141 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001142 type: string
1143 metadata:
1144 type: object
1145 spec:
gio3e1b96b2026-07-21 18:52:35 +04001146 description: EngineFrontendSpec defines the desired state of the Longhorn
1147 engine frontend (v2 initiator)
1148 properties:
1149 active:
1150 type: boolean
1151 dataEngine:
1152 enum:
1153 - v1
1154 - v2
1155 type: string
1156 desireState:
1157 type: string
1158 disableFrontend:
1159 type: boolean
1160 engineName:
1161 description: EngineName is the name of the v2 engine target (required
1162 for EngineFrontend instance creation)
1163 type: string
1164 frontend:
1165 enum:
1166 - blockdev
1167 - iscsi
1168 - nvmf
1169 - ublk
1170 - ""
1171 type: string
1172 image:
1173 type: string
1174 logRequested:
1175 type: boolean
1176 nodeID:
1177 type: string
1178 salvageRequested:
1179 type: boolean
1180 size:
1181 description: |-
1182 Size is the desired size of the frontend device in bytes, as requested
1183 by the volume owner. The EngineFrontend controller drives the frontend
1184 device toward this size independently of the engine's target size.
1185 format: int64
1186 type: string
1187 targetIP:
1188 description: TargetIP is the IP address of the v2 engine target
1189 type: string
1190 targetPort:
1191 description: TargetPort is the port of the v2 engine target
1192 type: integer
1193 ublkNumberOfQueue:
1194 description: ublkNumberOfQueue controls the number of queues for ublk
1195 frontend.
1196 type: integer
1197 ublkQueueDepth:
1198 description: ublkQueueDepth controls the depth of each queue for ublk
1199 frontend.
1200 type: integer
1201 volumeName:
1202 type: string
1203 volumeSize:
1204 format: int64
1205 type: string
1206 type: object
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001207 status:
gio3e1b96b2026-07-21 18:52:35 +04001208 description: EngineFrontendStatus defines the observed state of the Longhorn
1209 engine frontend
1210 properties:
1211 activePath:
1212 description: ActivePath is the currently active frontend path address.
1213 type: string
1214 conditions:
1215 items:
1216 properties:
1217 lastProbeTime:
1218 description: Last time we probed the condition.
1219 type: string
1220 lastTransitionTime:
1221 description: Last time the condition transitioned from one status
1222 to another.
1223 type: string
1224 message:
1225 description: Human-readable message indicating details about
1226 last transition.
1227 type: string
1228 reason:
1229 description: Unique, one-word, CamelCase reason for the condition's
1230 last transition.
1231 type: string
1232 status:
1233 description: |-
1234 Status is the status of the condition.
1235 Can be True, False, Unknown.
1236 type: string
1237 type:
1238 description: Type is the type of the condition.
1239 type: string
1240 type: object
1241 nullable: true
1242 type: array
1243 currentImage:
1244 type: string
1245 currentSize:
1246 description: |-
1247 CurrentSize is the current size of the frontend device in bytes, as
1248 observed from the data plane. It is 0 while the engine frontend is not
1249 running.
1250 format: int64
1251 type: string
1252 currentState:
1253 type: string
1254 endpoint:
1255 description: Endpoint is the initiator endpoint (e.g., /dev/longhorn/vol-name)
1256 type: string
1257 instanceManagerName:
1258 type: string
1259 ip:
1260 type: string
1261 logFetched:
1262 type: boolean
1263 ownerID:
1264 type: string
1265 paths:
1266 description: Paths describes the currently known frontend multipath
1267 state.
1268 items:
1269 properties:
1270 anaState:
1271 type: string
1272 engineName:
1273 type: string
1274 nguid:
1275 type: string
1276 nqn:
1277 type: string
1278 targetIP:
1279 type: string
1280 targetPort:
1281 type: integer
1282 type: object
1283 type: array
1284 port:
1285 type: integer
1286 preferredPath:
1287 description: PreferredPath is the preferred frontend path address.
1288 type: string
1289 salvageExecuted:
1290 type: boolean
1291 started:
1292 type: boolean
1293 starting:
1294 type: boolean
1295 storageIP:
1296 type: string
1297 switchoverPhase:
1298 description: SwitchoverPhase is the last completed switchover phase
1299 reported by the data plane.
1300 type: string
1301 targetIP:
1302 description: TargetIP is the currently connected IP address of the
1303 v2 engine target
1304 type: string
1305 targetPort:
1306 description: TargetPort is the currently connected port of the v2
1307 engine target
1308 type: integer
1309 ublkID:
1310 format: int32
1311 type: integer
1312 uuid:
1313 type: string
1314 type: object
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001315 type: object
gio3e1b96b2026-07-21 18:52:35 +04001316 served: true
1317 storage: true
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001318 subresources:
1319 status: {}
gio3e1b96b2026-07-21 18:52:35 +04001320---
1321apiVersion: apiextensions.k8s.io/v1
1322kind: CustomResourceDefinition
1323metadata:
1324 annotations:
1325 controller-gen.kubebuilder.io/version: v0.19.0
1326 labels: {{- include "longhorn.labels" . | nindent 4 }}
1327 longhorn-manager: ""
1328 name: engineimages.longhorn.io
1329spec:
1330 group: longhorn.io
1331 names:
1332 kind: EngineImage
1333 listKind: EngineImageList
1334 plural: engineimages
1335 shortNames:
1336 - lhei
1337 singular: engineimage
1338 scope: Namespaced
1339 versions:
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001340 - additionalPrinterColumns:
gio16bb6382025-05-21 18:42:40 +04001341 - description: Compatibility of the engine image
1342 jsonPath: .status.incompatible
1343 name: Incompatible
1344 type: boolean
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001345 - description: State of the engine image
1346 jsonPath: .status.state
1347 name: State
1348 type: string
1349 - description: The Longhorn engine image
1350 jsonPath: .spec.image
1351 name: Image
1352 type: string
1353 - description: Number of resources using the engine image
1354 jsonPath: .status.refCount
1355 name: RefCount
1356 type: integer
1357 - description: The build date of the engine image
1358 jsonPath: .status.buildDate
1359 name: BuildDate
1360 type: date
1361 - jsonPath: .metadata.creationTimestamp
1362 name: Age
1363 type: date
1364 name: v1beta2
1365 schema:
1366 openAPIV3Schema:
1367 description: EngineImage is where Longhorn stores engine image object.
1368 properties:
1369 apiVersion:
gio16bb6382025-05-21 18:42:40 +04001370 description: |-
1371 APIVersion defines the versioned schema of this representation of an object.
1372 Servers should convert recognized schemas to the latest internal value, and
1373 may reject unrecognized values.
1374 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001375 type: string
1376 kind:
gio16bb6382025-05-21 18:42:40 +04001377 description: |-
1378 Kind is a string value representing the REST resource this object represents.
1379 Servers may infer this from the endpoint the client submits requests to.
1380 Cannot be updated.
1381 In CamelCase.
1382 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001383 type: string
1384 metadata:
1385 type: object
1386 spec:
gioc9b92b12025-05-22 08:57:18 +04001387 description: EngineImageSpec defines the desired state of the Longhorn
1388 engine image
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001389 properties:
1390 image:
1391 minLength: 1
1392 type: string
1393 required:
1394 - image
1395 type: object
1396 status:
gioc9b92b12025-05-22 08:57:18 +04001397 description: EngineImageStatus defines the observed state of the Longhorn
1398 engine image
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001399 properties:
1400 buildDate:
1401 type: string
1402 cliAPIMinVersion:
1403 type: integer
1404 cliAPIVersion:
1405 type: integer
1406 conditions:
1407 items:
1408 properties:
1409 lastProbeTime:
1410 description: Last time we probed the condition.
1411 type: string
1412 lastTransitionTime:
gioc9b92b12025-05-22 08:57:18 +04001413 description: Last time the condition transitioned from one status
1414 to another.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001415 type: string
1416 message:
gioc9b92b12025-05-22 08:57:18 +04001417 description: Human-readable message indicating details about
1418 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001419 type: string
1420 reason:
gioc9b92b12025-05-22 08:57:18 +04001421 description: Unique, one-word, CamelCase reason for the condition's
1422 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001423 type: string
1424 status:
gio16bb6382025-05-21 18:42:40 +04001425 description: |-
1426 Status is the status of the condition.
1427 Can be True, False, Unknown.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001428 type: string
1429 type:
1430 description: Type is the type of the condition.
1431 type: string
1432 type: object
1433 nullable: true
1434 type: array
1435 controllerAPIMinVersion:
1436 type: integer
1437 controllerAPIVersion:
1438 type: integer
1439 dataFormatMinVersion:
1440 type: integer
1441 dataFormatVersion:
1442 type: integer
1443 gitCommit:
1444 type: string
gio16bb6382025-05-21 18:42:40 +04001445 incompatible:
1446 type: boolean
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001447 noRefSince:
1448 type: string
1449 nodeDeploymentMap:
1450 additionalProperties:
1451 type: boolean
1452 nullable: true
1453 type: object
1454 ownerID:
1455 type: string
1456 refCount:
1457 type: integer
1458 state:
1459 type: string
1460 version:
1461 type: string
1462 type: object
1463 type: object
1464 served: true
1465 storage: true
1466 subresources:
1467 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001468---
1469apiVersion: apiextensions.k8s.io/v1
1470kind: CustomResourceDefinition
1471metadata:
1472 annotations:
gio3e1b96b2026-07-21 18:52:35 +04001473 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001474 labels: {{- include "longhorn.labels" . | nindent 4 }}
1475 longhorn-manager: ""
1476 name: engines.longhorn.io
1477spec:
1478 group: longhorn.io
1479 names:
1480 kind: Engine
1481 listKind: EngineList
1482 plural: engines
1483 shortNames:
1484 - lhe
1485 singular: engine
1486 scope: Namespaced
1487 versions:
1488 - additionalPrinterColumns:
gio16bb6382025-05-21 18:42:40 +04001489 - description: The data engine of the engine
1490 jsonPath: .spec.dataEngine
1491 name: Data Engine
1492 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001493 - description: The current state of the engine
1494 jsonPath: .status.currentState
1495 name: State
1496 type: string
1497 - description: The node that the engine is on
1498 jsonPath: .spec.nodeID
1499 name: Node
1500 type: string
1501 - description: The instance manager of the engine
1502 jsonPath: .status.instanceManagerName
1503 name: InstanceManager
1504 type: string
1505 - description: The current image of the engine
1506 jsonPath: .status.currentImage
1507 name: Image
1508 type: string
1509 - jsonPath: .metadata.creationTimestamp
1510 name: Age
1511 type: date
1512 name: v1beta2
1513 schema:
1514 openAPIV3Schema:
1515 description: Engine is where Longhorn stores engine object.
1516 properties:
1517 apiVersion:
gio16bb6382025-05-21 18:42:40 +04001518 description: |-
1519 APIVersion defines the versioned schema of this representation of an object.
1520 Servers should convert recognized schemas to the latest internal value, and
1521 may reject unrecognized values.
1522 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001523 type: string
1524 kind:
gio16bb6382025-05-21 18:42:40 +04001525 description: |-
1526 Kind is a string value representing the REST resource this object represents.
1527 Servers may infer this from the endpoint the client submits requests to.
1528 Cannot be updated.
1529 In CamelCase.
1530 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001531 type: string
1532 metadata:
1533 type: object
1534 spec:
1535 description: EngineSpec defines the desired state of the Longhorn engine
1536 properties:
1537 active:
1538 type: boolean
gio16bb6382025-05-21 18:42:40 +04001539 backupVolume:
1540 type: string
1541 dataEngine:
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04001542 enum:
1543 - v1
1544 - v2
1545 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001546 desireState:
1547 type: string
1548 disableFrontend:
1549 type: boolean
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001550 frontend:
1551 enum:
1552 - blockdev
1553 - iscsi
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04001554 - nvmf
giodbf4a852025-06-30 17:09:46 +04001555 - ublk
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001556 - ""
1557 type: string
gio16bb6382025-05-21 18:42:40 +04001558 image:
1559 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001560 logRequested:
1561 type: boolean
1562 nodeID:
1563 type: string
gio3e1b96b2026-07-21 18:52:35 +04001564 rebuildConcurrentSyncLimit:
1565 description: |-
1566 RebuildConcurrentSyncLimit controls the maximum number of file synchronization operations that can run
1567 concurrently during a single replica rebuild.
1568 It is determined by the global setting or the volume spec field with the same name.
1569 maximum: 5
1570 minimum: 0
1571 type: integer
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001572 replicaAddressMap:
1573 additionalProperties:
1574 type: string
1575 type: object
1576 requestedBackupRestore:
1577 type: string
1578 requestedDataSource:
1579 type: string
1580 revisionCounterDisabled:
1581 type: boolean
1582 salvageRequested:
1583 type: boolean
gio16bb6382025-05-21 18:42:40 +04001584 snapshotMaxCount:
1585 type: integer
1586 snapshotMaxSize:
1587 format: int64
1588 type: string
gio3e1b96b2026-07-21 18:52:35 +04001589 ublkNumberOfQueue:
1590 description: ublkNumberOfQueue controls the number of queues for ublk
1591 frontend.
1592 type: integer
1593 ublkQueueDepth:
1594 description: ublkQueueDepth controls the depth of each queue for ublk
1595 frontend.
1596 type: integer
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001597 unmapMarkSnapChainRemovedEnabled:
1598 type: boolean
1599 upgradedReplicaAddressMap:
1600 additionalProperties:
1601 type: string
1602 type: object
1603 volumeName:
1604 type: string
1605 volumeSize:
1606 format: int64
1607 type: string
1608 type: object
1609 status:
1610 description: EngineStatus defines the observed state of the Longhorn engine
1611 properties:
1612 backupStatus:
1613 additionalProperties:
1614 properties:
1615 backupURL:
1616 type: string
1617 error:
1618 type: string
1619 progress:
1620 type: integer
1621 replicaAddress:
1622 type: string
1623 snapshotName:
1624 type: string
1625 state:
1626 type: string
1627 type: object
1628 nullable: true
1629 type: object
1630 cloneStatus:
1631 additionalProperties:
1632 properties:
1633 error:
1634 type: string
1635 fromReplicaAddress:
1636 type: string
1637 isCloning:
1638 type: boolean
1639 progress:
1640 type: integer
1641 snapshotName:
1642 type: string
1643 state:
1644 type: string
1645 type: object
1646 nullable: true
1647 type: object
1648 conditions:
1649 items:
1650 properties:
1651 lastProbeTime:
1652 description: Last time we probed the condition.
1653 type: string
1654 lastTransitionTime:
gioc9b92b12025-05-22 08:57:18 +04001655 description: Last time the condition transitioned from one status
1656 to another.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001657 type: string
1658 message:
gioc9b92b12025-05-22 08:57:18 +04001659 description: Human-readable message indicating details about
1660 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001661 type: string
1662 reason:
gioc9b92b12025-05-22 08:57:18 +04001663 description: Unique, one-word, CamelCase reason for the condition's
1664 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001665 type: string
1666 status:
gio16bb6382025-05-21 18:42:40 +04001667 description: |-
1668 Status is the status of the condition.
1669 Can be True, False, Unknown.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001670 type: string
1671 type:
1672 description: Type is the type of the condition.
1673 type: string
1674 type: object
1675 nullable: true
1676 type: array
1677 currentImage:
1678 type: string
1679 currentReplicaAddressMap:
1680 additionalProperties:
1681 type: string
1682 nullable: true
1683 type: object
1684 currentSize:
1685 format: int64
1686 type: string
1687 currentState:
1688 type: string
1689 endpoint:
1690 type: string
1691 instanceManagerName:
1692 type: string
1693 ip:
1694 type: string
1695 isExpanding:
1696 type: boolean
1697 lastExpansionError:
1698 type: string
1699 lastExpansionFailedAt:
1700 type: string
1701 lastRestoredBackup:
1702 type: string
1703 logFetched:
1704 type: boolean
1705 ownerID:
1706 type: string
1707 port:
1708 type: integer
1709 purgeStatus:
1710 additionalProperties:
1711 properties:
1712 error:
1713 type: string
1714 isPurging:
1715 type: boolean
1716 progress:
1717 type: integer
1718 state:
1719 type: string
1720 type: object
1721 nullable: true
1722 type: object
gio3e1b96b2026-07-21 18:52:35 +04001723 rebuildConcurrentSyncLimit:
1724 description: |-
1725 RebuildConcurrentSyncLimit controls the maximum number of file synchronization operations that can run
1726 concurrently during a single replica rebuild.
1727 It is determined by the global setting or the volume spec field with the same name.
1728 minimum: 0
1729 type: integer
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001730 rebuildStatus:
1731 additionalProperties:
1732 properties:
gio3e1b96b2026-07-21 18:52:35 +04001733 appliedRebuildingMBps:
1734 format: int64
1735 type: integer
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001736 error:
1737 type: string
1738 fromReplicaAddress:
gio3e1b96b2026-07-21 18:52:35 +04001739 description: Deprecated. We are now using FromReplicaAddressList
1740 to list all source replicas.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001741 type: string
gio3e1b96b2026-07-21 18:52:35 +04001742 fromReplicaAddressList:
1743 items:
1744 type: string
1745 type: array
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001746 isRebuilding:
1747 type: boolean
1748 progress:
1749 type: integer
1750 state:
1751 type: string
1752 type: object
1753 nullable: true
1754 type: object
1755 replicaModeMap:
1756 additionalProperties:
1757 type: string
1758 nullable: true
1759 type: object
gio16bb6382025-05-21 18:42:40 +04001760 replicaTransitionTimeMap:
1761 additionalProperties:
1762 type: string
1763 description: |-
1764 ReplicaTransitionTimeMap records the time a replica in ReplicaModeMap transitions from one mode to another (or
1765 from not being in the ReplicaModeMap to being in it). This information is sometimes required by other controllers
1766 (e.g. the volume controller uses it to determine the correct value for replica.Spec.lastHealthyAt).
1767 type: object
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001768 restoreStatus:
1769 additionalProperties:
1770 properties:
1771 backupURL:
1772 type: string
1773 currentRestoringBackup:
1774 type: string
1775 error:
1776 type: string
1777 filename:
1778 type: string
1779 isRestoring:
1780 type: boolean
1781 lastRestored:
1782 type: string
1783 progress:
1784 type: integer
1785 state:
1786 type: string
1787 type: object
1788 nullable: true
1789 type: object
1790 salvageExecuted:
1791 type: boolean
gio16bb6382025-05-21 18:42:40 +04001792 snapshotMaxCount:
1793 type: integer
1794 snapshotMaxSize:
1795 format: int64
1796 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001797 snapshots:
1798 additionalProperties:
1799 properties:
1800 children:
1801 additionalProperties:
1802 type: boolean
1803 nullable: true
1804 type: object
1805 created:
1806 type: string
1807 labels:
1808 additionalProperties:
1809 type: string
1810 nullable: true
1811 type: object
1812 name:
1813 type: string
1814 parent:
1815 type: string
1816 removed:
1817 type: boolean
1818 size:
1819 type: string
1820 usercreated:
1821 type: boolean
1822 type: object
1823 nullable: true
1824 type: object
1825 snapshotsError:
1826 type: string
1827 started:
1828 type: boolean
gio3e1b96b2026-07-21 18:52:35 +04001829 starting:
1830 type: boolean
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001831 storageIP:
1832 type: string
giodbf4a852025-06-30 17:09:46 +04001833 ublkID:
1834 format: int32
1835 type: integer
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001836 unmapMarkSnapChainRemovedEnabled:
1837 type: boolean
giodbf4a852025-06-30 17:09:46 +04001838 uuid:
1839 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001840 type: object
1841 type: object
1842 served: true
1843 storage: true
1844 subresources:
1845 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001846---
1847apiVersion: apiextensions.k8s.io/v1
1848kind: CustomResourceDefinition
1849metadata:
1850 annotations:
gio3e1b96b2026-07-21 18:52:35 +04001851 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001852 labels: {{- include "longhorn.labels" . | nindent 4 }}
1853 longhorn-manager: ""
1854 name: instancemanagers.longhorn.io
1855spec:
1856 group: longhorn.io
1857 names:
1858 kind: InstanceManager
1859 listKind: InstanceManagerList
1860 plural: instancemanagers
1861 shortNames:
1862 - lhim
1863 singular: instancemanager
1864 scope: Namespaced
1865 versions:
1866 - additionalPrinterColumns:
gio16bb6382025-05-21 18:42:40 +04001867 - description: The data engine of the instance manager
1868 jsonPath: .spec.dataEngine
1869 name: Data Engine
1870 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001871 - description: The state of the instance manager
1872 jsonPath: .status.currentState
1873 name: State
1874 type: string
1875 - description: The type of the instance manager (engine or replica)
1876 jsonPath: .spec.type
1877 name: Type
1878 type: string
1879 - description: The node that the instance manager is running on
1880 jsonPath: .spec.nodeID
1881 name: Node
1882 type: string
1883 - jsonPath: .metadata.creationTimestamp
1884 name: Age
1885 type: date
1886 name: v1beta2
1887 schema:
1888 openAPIV3Schema:
1889 description: InstanceManager is where Longhorn stores instance manager object.
1890 properties:
1891 apiVersion:
gio16bb6382025-05-21 18:42:40 +04001892 description: |-
1893 APIVersion defines the versioned schema of this representation of an object.
1894 Servers should convert recognized schemas to the latest internal value, and
1895 may reject unrecognized values.
1896 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001897 type: string
1898 kind:
gio16bb6382025-05-21 18:42:40 +04001899 description: |-
1900 Kind is a string value representing the REST resource this object represents.
1901 Servers may infer this from the endpoint the client submits requests to.
1902 Cannot be updated.
1903 In CamelCase.
1904 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001905 type: string
1906 metadata:
1907 type: object
1908 spec:
gioc9b92b12025-05-22 08:57:18 +04001909 description: InstanceManagerSpec defines the desired state of the Longhorn
1910 instance manager
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001911 properties:
gio16bb6382025-05-21 18:42:40 +04001912 dataEngine:
1913 type: string
gio2539d9e2025-05-22 12:19:30 +04001914 dataEngineSpec:
1915 properties:
1916 v2:
1917 properties:
1918 cpuMask:
1919 type: string
1920 type: object
1921 type: object
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001922 image:
1923 type: string
1924 nodeID:
1925 type: string
1926 type:
1927 enum:
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04001928 - aio
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001929 - engine
1930 - replica
1931 type: string
1932 type: object
1933 status:
gioc9b92b12025-05-22 08:57:18 +04001934 description: InstanceManagerStatus defines the observed state of the Longhorn
1935 instance manager
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001936 properties:
1937 apiMinVersion:
1938 type: integer
1939 apiVersion:
1940 type: integer
gio2539d9e2025-05-22 12:19:30 +04001941 backingImages:
1942 additionalProperties:
1943 properties:
1944 currentChecksum:
1945 type: string
1946 diskUUID:
1947 type: string
1948 message:
1949 type: string
1950 name:
1951 type: string
1952 progress:
1953 type: integer
1954 size:
1955 format: int64
1956 type: integer
1957 state:
1958 type: string
1959 uuid:
1960 type: string
1961 type: object
1962 nullable: true
1963 type: object
gio3e1b96b2026-07-21 18:52:35 +04001964 conditions:
1965 items:
1966 properties:
1967 lastProbeTime:
1968 description: Last time we probed the condition.
1969 type: string
1970 lastTransitionTime:
1971 description: Last time the condition transitioned from one status
1972 to another.
1973 type: string
1974 message:
1975 description: Human-readable message indicating details about
1976 last transition.
1977 type: string
1978 reason:
1979 description: Unique, one-word, CamelCase reason for the condition's
1980 last transition.
1981 type: string
1982 status:
1983 description: |-
1984 Status is the status of the condition.
1985 Can be True, False, Unknown.
1986 type: string
1987 type:
1988 description: Type is the type of the condition.
1989 type: string
1990 type: object
1991 nullable: true
1992 type: array
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001993 currentState:
1994 type: string
gio2539d9e2025-05-22 12:19:30 +04001995 dataEngineStatus:
1996 properties:
1997 v2:
1998 properties:
1999 cpuMask:
2000 type: string
gio3e1b96b2026-07-21 18:52:35 +04002001 interruptModeEnabled:
2002 description: |-
2003 InterruptModeEnabled indicates whether the V2 data engine is running in
2004 interrupt mode (true) or polling mode (false). Set by Longhorn manager;
2005 read-only to users.
2006 enum:
2007 - ""
2008 - "true"
2009 - "false"
2010 type: string
gio2539d9e2025-05-22 12:19:30 +04002011 type: object
2012 type: object
gio3e1b96b2026-07-21 18:52:35 +04002013 instanceEngineFrontends:
2014 additionalProperties:
2015 properties:
2016 spec:
2017 properties:
2018 dataEngine:
2019 type: string
2020 name:
2021 type: string
2022 type: object
2023 status:
2024 properties:
2025 activePath:
2026 type: string
2027 conditions:
2028 additionalProperties:
2029 type: boolean
2030 nullable: true
2031 type: object
2032 endpoint:
2033 type: string
2034 errorMsg:
2035 type: string
2036 frontend:
2037 type: string
2038 listen:
2039 type: string
2040 paths:
2041 items:
2042 properties:
2043 anaState:
2044 type: string
2045 engineName:
2046 type: string
2047 nguid:
2048 type: string
2049 nqn:
2050 type: string
2051 targetIP:
2052 type: string
2053 targetPort:
2054 type: integer
2055 type: object
2056 type: array
2057 portEnd:
2058 format: int32
2059 type: integer
2060 portStart:
2061 format: int32
2062 type: integer
2063 preferredPath:
2064 type: string
2065 resourceVersion:
2066 format: int64
2067 type: integer
2068 state:
2069 type: string
2070 targetPortEnd:
2071 format: int32
2072 type: integer
2073 targetPortStart:
2074 format: int32
2075 type: integer
2076 type:
2077 type: string
2078 ublkID:
2079 format: int32
2080 type: integer
2081 uuid:
2082 type: string
2083 type: object
2084 type: object
2085 nullable: true
2086 type: object
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04002087 instanceEngines:
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002088 additionalProperties:
2089 properties:
2090 spec:
2091 properties:
gio16bb6382025-05-21 18:42:40 +04002092 dataEngine:
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04002093 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002094 name:
2095 type: string
2096 type: object
2097 status:
2098 properties:
gio3e1b96b2026-07-21 18:52:35 +04002099 activePath:
2100 type: string
gio16bb6382025-05-21 18:42:40 +04002101 conditions:
2102 additionalProperties:
2103 type: boolean
2104 nullable: true
2105 type: object
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002106 endpoint:
2107 type: string
2108 errorMsg:
2109 type: string
gio3e1b96b2026-07-21 18:52:35 +04002110 frontend:
2111 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002112 listen:
2113 type: string
gio3e1b96b2026-07-21 18:52:35 +04002114 paths:
2115 items:
2116 properties:
2117 anaState:
2118 type: string
2119 engineName:
2120 type: string
2121 nguid:
2122 type: string
2123 nqn:
2124 type: string
2125 targetIP:
2126 type: string
2127 targetPort:
2128 type: integer
2129 type: object
2130 type: array
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002131 portEnd:
2132 format: int32
2133 type: integer
2134 portStart:
2135 format: int32
2136 type: integer
gio3e1b96b2026-07-21 18:52:35 +04002137 preferredPath:
2138 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002139 resourceVersion:
2140 format: int64
2141 type: integer
2142 state:
2143 type: string
gioc9b92b12025-05-22 08:57:18 +04002144 targetPortEnd:
2145 format: int32
2146 type: integer
2147 targetPortStart:
2148 format: int32
2149 type: integer
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002150 type:
2151 type: string
giodbf4a852025-06-30 17:09:46 +04002152 ublkID:
2153 format: int32
2154 type: integer
2155 uuid:
2156 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002157 type: object
2158 type: object
2159 nullable: true
2160 type: object
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04002161 instanceReplicas:
2162 additionalProperties:
2163 properties:
2164 spec:
2165 properties:
gio16bb6382025-05-21 18:42:40 +04002166 dataEngine:
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04002167 type: string
2168 name:
2169 type: string
2170 type: object
2171 status:
2172 properties:
gio3e1b96b2026-07-21 18:52:35 +04002173 activePath:
2174 type: string
gio16bb6382025-05-21 18:42:40 +04002175 conditions:
2176 additionalProperties:
2177 type: boolean
2178 nullable: true
2179 type: object
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04002180 endpoint:
2181 type: string
2182 errorMsg:
2183 type: string
gio3e1b96b2026-07-21 18:52:35 +04002184 frontend:
2185 type: string
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04002186 listen:
2187 type: string
gio3e1b96b2026-07-21 18:52:35 +04002188 paths:
2189 items:
2190 properties:
2191 anaState:
2192 type: string
2193 engineName:
2194 type: string
2195 nguid:
2196 type: string
2197 nqn:
2198 type: string
2199 targetIP:
2200 type: string
2201 targetPort:
2202 type: integer
2203 type: object
2204 type: array
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04002205 portEnd:
2206 format: int32
2207 type: integer
2208 portStart:
2209 format: int32
2210 type: integer
gio3e1b96b2026-07-21 18:52:35 +04002211 preferredPath:
2212 type: string
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04002213 resourceVersion:
2214 format: int64
2215 type: integer
2216 state:
2217 type: string
gioc9b92b12025-05-22 08:57:18 +04002218 targetPortEnd:
2219 format: int32
2220 type: integer
2221 targetPortStart:
2222 format: int32
2223 type: integer
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04002224 type:
2225 type: string
giodbf4a852025-06-30 17:09:46 +04002226 ublkID:
2227 format: int32
2228 type: integer
2229 uuid:
2230 type: string
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04002231 type: object
2232 type: object
2233 nullable: true
2234 type: object
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002235 ip:
2236 type: string
2237 ownerID:
2238 type: string
gio16bb6382025-05-21 18:42:40 +04002239 proxyApiMinVersion:
2240 type: integer
2241 proxyApiVersion:
2242 type: integer
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002243 type: object
2244 type: object
2245 served: true
2246 storage: true
2247 subresources:
2248 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002249---
2250apiVersion: apiextensions.k8s.io/v1
2251kind: CustomResourceDefinition
2252metadata:
2253 annotations:
gio3e1b96b2026-07-21 18:52:35 +04002254 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002255 labels: {{- include "longhorn.labels" . | nindent 4 }}
2256 longhorn-manager: ""
2257 name: nodes.longhorn.io
2258spec:
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002259 group: longhorn.io
2260 names:
2261 kind: Node
2262 listKind: NodeList
2263 plural: nodes
2264 shortNames:
2265 - lhn
2266 singular: node
2267 scope: Namespaced
2268 versions:
2269 - additionalPrinterColumns:
2270 - description: Indicate whether the node is ready
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002271 jsonPath: .status.conditions[?(@.type=='Ready')].status
2272 name: Ready
2273 type: string
gioc9b92b12025-05-22 08:57:18 +04002274 - description: Indicate whether the user disabled/enabled replica scheduling for
2275 the node
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002276 jsonPath: .spec.allowScheduling
2277 name: AllowScheduling
2278 type: boolean
2279 - description: Indicate whether Longhorn can schedule replicas on the node
2280 jsonPath: .status.conditions[?(@.type=='Schedulable')].status
2281 name: Schedulable
2282 type: string
2283 - jsonPath: .metadata.creationTimestamp
2284 name: Age
2285 type: date
2286 name: v1beta2
2287 schema:
2288 openAPIV3Schema:
2289 description: Node is where Longhorn stores Longhorn node object.
2290 properties:
2291 apiVersion:
gio16bb6382025-05-21 18:42:40 +04002292 description: |-
2293 APIVersion defines the versioned schema of this representation of an object.
2294 Servers should convert recognized schemas to the latest internal value, and
2295 may reject unrecognized values.
2296 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002297 type: string
2298 kind:
gio16bb6382025-05-21 18:42:40 +04002299 description: |-
2300 Kind is a string value representing the REST resource this object represents.
2301 Servers may infer this from the endpoint the client submits requests to.
2302 Cannot be updated.
2303 In CamelCase.
2304 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002305 type: string
2306 metadata:
2307 type: object
2308 spec:
2309 description: NodeSpec defines the desired state of the Longhorn node
2310 properties:
2311 allowScheduling:
2312 type: boolean
2313 disks:
2314 additionalProperties:
2315 properties:
2316 allowScheduling:
2317 type: boolean
gioc9b92b12025-05-22 08:57:18 +04002318 diskDriver:
2319 enum:
2320 - ""
2321 - auto
2322 - aio
gio3e1b96b2026-07-21 18:52:35 +04002323 - nvme
gioc9b92b12025-05-22 08:57:18 +04002324 type: string
gio16bb6382025-05-21 18:42:40 +04002325 diskType:
2326 enum:
2327 - filesystem
2328 - block
2329 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002330 evictionRequested:
2331 type: boolean
2332 path:
2333 type: string
2334 storageReserved:
2335 format: int64
2336 type: integer
2337 tags:
2338 items:
2339 type: string
2340 type: array
2341 type: object
2342 type: object
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002343 evictionRequested:
2344 type: boolean
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04002345 instanceManagerCPURequest:
2346 type: integer
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002347 name:
2348 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002349 tags:
2350 items:
2351 type: string
2352 type: array
2353 type: object
2354 status:
2355 description: NodeStatus defines the observed state of the Longhorn node
2356 properties:
gio16bb6382025-05-21 18:42:40 +04002357 autoEvicting:
2358 type: boolean
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002359 conditions:
2360 items:
2361 properties:
2362 lastProbeTime:
2363 description: Last time we probed the condition.
2364 type: string
2365 lastTransitionTime:
gioc9b92b12025-05-22 08:57:18 +04002366 description: Last time the condition transitioned from one status
2367 to another.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002368 type: string
2369 message:
gioc9b92b12025-05-22 08:57:18 +04002370 description: Human-readable message indicating details about
2371 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002372 type: string
2373 reason:
gioc9b92b12025-05-22 08:57:18 +04002374 description: Unique, one-word, CamelCase reason for the condition's
2375 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002376 type: string
2377 status:
gio16bb6382025-05-21 18:42:40 +04002378 description: |-
2379 Status is the status of the condition.
2380 Can be True, False, Unknown.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002381 type: string
2382 type:
2383 description: Type is the type of the condition.
2384 type: string
2385 type: object
2386 nullable: true
2387 type: array
2388 diskStatus:
2389 additionalProperties:
2390 properties:
2391 conditions:
2392 items:
2393 properties:
2394 lastProbeTime:
2395 description: Last time we probed the condition.
2396 type: string
2397 lastTransitionTime:
gioc9b92b12025-05-22 08:57:18 +04002398 description: Last time the condition transitioned from
2399 one status to another.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002400 type: string
2401 message:
gioc9b92b12025-05-22 08:57:18 +04002402 description: Human-readable message indicating details
2403 about last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002404 type: string
2405 reason:
gioc9b92b12025-05-22 08:57:18 +04002406 description: Unique, one-word, CamelCase reason for the
2407 condition's last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002408 type: string
2409 status:
gio16bb6382025-05-21 18:42:40 +04002410 description: |-
2411 Status is the status of the condition.
2412 Can be True, False, Unknown.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002413 type: string
2414 type:
2415 description: Type is the type of the condition.
2416 type: string
2417 type: object
2418 nullable: true
2419 type: array
gioc9b92b12025-05-22 08:57:18 +04002420 diskDriver:
2421 type: string
2422 diskName:
2423 type: string
2424 diskPath:
2425 type: string
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04002426 diskType:
2427 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002428 diskUUID:
2429 type: string
gio16bb6382025-05-21 18:42:40 +04002430 filesystemType:
2431 type: string
gio3e1b96b2026-07-21 18:52:35 +04002432 healthData:
2433 additionalProperties:
2434 properties:
2435 attributes:
2436 items:
2437 properties:
2438 id:
2439 type: integer
2440 name:
2441 type: string
2442 rawString:
2443 type: string
2444 rawValue:
2445 format: int64
2446 type: integer
2447 threshold:
2448 type: integer
2449 value:
2450 type: integer
2451 whenFailed:
2452 type: string
2453 worst:
2454 type: integer
2455 type: object
2456 type: array
2457 capacity:
2458 format: int64
2459 type: integer
2460 diskName:
2461 type: string
2462 diskType:
2463 type: string
2464 firmwareVersion:
2465 type: string
2466 healthStatus:
2467 enum:
2468 - FAILED
2469 - PASSED
2470 - UNKNOWN
2471 - WARNING
2472 type: string
2473 modelName:
2474 type: string
2475 serialNumber:
2476 type: string
2477 source:
2478 enum:
2479 - SMART
2480 - SPDK
2481 type: string
2482 temperature:
2483 type: integer
2484 type: object
2485 type: object
2486 healthDataLastCollectedAt:
2487 format: date-time
2488 type: string
gioc9b92b12025-05-22 08:57:18 +04002489 instanceManagerName:
2490 type: string
gio2539d9e2025-05-22 12:19:30 +04002491 scheduledBackingImage:
2492 additionalProperties:
2493 format: int64
2494 type: integer
2495 nullable: true
2496 type: object
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002497 scheduledReplica:
2498 additionalProperties:
2499 format: int64
2500 type: integer
2501 nullable: true
2502 type: object
2503 storageAvailable:
2504 format: int64
2505 type: integer
2506 storageMaximum:
2507 format: int64
2508 type: integer
2509 storageScheduled:
2510 format: int64
2511 type: integer
2512 type: object
2513 nullable: true
2514 type: object
2515 region:
2516 type: string
2517 snapshotCheckStatus:
2518 properties:
2519 lastPeriodicCheckedAt:
2520 format: date-time
2521 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002522 type: object
2523 zone:
2524 type: string
2525 type: object
2526 type: object
2527 served: true
2528 storage: true
2529 subresources:
2530 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002531---
2532apiVersion: apiextensions.k8s.io/v1
2533kind: CustomResourceDefinition
2534metadata:
2535 annotations:
gio3e1b96b2026-07-21 18:52:35 +04002536 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002537 labels: {{- include "longhorn.labels" . | nindent 4 }}
2538 longhorn-manager: ""
2539 name: orphans.longhorn.io
2540spec:
2541 group: longhorn.io
2542 names:
2543 kind: Orphan
2544 listKind: OrphanList
2545 plural: orphans
2546 shortNames:
2547 - lho
2548 singular: orphan
2549 scope: Namespaced
2550 versions:
2551 - additionalPrinterColumns:
2552 - description: The type of the orphan
2553 jsonPath: .spec.orphanType
2554 name: Type
2555 type: string
2556 - description: The node that the orphan is on
2557 jsonPath: .spec.nodeID
2558 name: Node
2559 type: string
2560 name: v1beta2
2561 schema:
2562 openAPIV3Schema:
2563 description: Orphan is where Longhorn stores orphan object.
2564 properties:
2565 apiVersion:
gio16bb6382025-05-21 18:42:40 +04002566 description: |-
2567 APIVersion defines the versioned schema of this representation of an object.
2568 Servers should convert recognized schemas to the latest internal value, and
2569 may reject unrecognized values.
2570 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002571 type: string
2572 kind:
gio16bb6382025-05-21 18:42:40 +04002573 description: |-
2574 Kind is a string value representing the REST resource this object represents.
2575 Servers may infer this from the endpoint the client submits requests to.
2576 Cannot be updated.
2577 In CamelCase.
2578 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002579 type: string
2580 metadata:
2581 type: object
2582 spec:
gioc9b92b12025-05-22 08:57:18 +04002583 description: OrphanSpec defines the desired state of the Longhorn orphaned
2584 data
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002585 properties:
giodbf4a852025-06-30 17:09:46 +04002586 dataEngine:
2587 description: |-
2588 The type of data engine for instance orphan.
2589 Can be "v1", "v2".
2590 enum:
2591 - v1
2592 - v2
2593 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002594 nodeID:
gioc9b92b12025-05-22 08:57:18 +04002595 description: The node ID on which the controller is responsible to
2596 reconcile this orphan CR.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002597 type: string
2598 orphanType:
gio16bb6382025-05-21 18:42:40 +04002599 description: |-
2600 The type of the orphaned data.
2601 Can be "replica".
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002602 type: string
2603 parameters:
2604 additionalProperties:
2605 type: string
2606 description: The parameters of the orphaned data
2607 type: object
2608 type: object
2609 status:
gioc9b92b12025-05-22 08:57:18 +04002610 description: OrphanStatus defines the observed state of the Longhorn orphaned
2611 data
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002612 properties:
2613 conditions:
2614 items:
2615 properties:
2616 lastProbeTime:
2617 description: Last time we probed the condition.
2618 type: string
2619 lastTransitionTime:
gioc9b92b12025-05-22 08:57:18 +04002620 description: Last time the condition transitioned from one status
2621 to another.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002622 type: string
2623 message:
gioc9b92b12025-05-22 08:57:18 +04002624 description: Human-readable message indicating details about
2625 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002626 type: string
2627 reason:
gioc9b92b12025-05-22 08:57:18 +04002628 description: Unique, one-word, CamelCase reason for the condition's
2629 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002630 type: string
2631 status:
gio16bb6382025-05-21 18:42:40 +04002632 description: |-
2633 Status is the status of the condition.
2634 Can be True, False, Unknown.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002635 type: string
2636 type:
2637 description: Type is the type of the condition.
2638 type: string
2639 type: object
2640 nullable: true
2641 type: array
2642 ownerID:
2643 type: string
2644 type: object
2645 type: object
2646 served: true
2647 storage: true
2648 subresources:
2649 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002650---
2651apiVersion: apiextensions.k8s.io/v1
2652kind: CustomResourceDefinition
2653metadata:
2654 annotations:
gio3e1b96b2026-07-21 18:52:35 +04002655 controller-gen.kubebuilder.io/version: v0.19.0
gioc9b92b12025-05-22 08:57:18 +04002656 labels: {{- include "longhorn.labels" . | nindent 4 }}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002657 longhorn-manager: ""
2658 name: recurringjobs.longhorn.io
2659spec:
2660 group: longhorn.io
2661 names:
2662 kind: RecurringJob
2663 listKind: RecurringJobList
2664 plural: recurringjobs
2665 shortNames:
2666 - lhrj
2667 singular: recurringjob
2668 scope: Namespaced
2669 versions:
2670 - additionalPrinterColumns:
gioc9b92b12025-05-22 08:57:18 +04002671 - description: Sets groupings to the jobs. When set to "default" group will be
2672 added to the volume label when no other job label exist in volume
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002673 jsonPath: .spec.groups
2674 name: Groups
2675 type: string
gioc9b92b12025-05-22 08:57:18 +04002676 - description: Should be one of "snapshot", "snapshot-force-create", "snapshot-cleanup",
giodbf4a852025-06-30 17:09:46 +04002677 "snapshot-delete", "backup", "backup-force-create", "filesystem-trim" or "system-backup"
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002678 jsonPath: .spec.task
2679 name: Task
2680 type: string
2681 - description: The cron expression represents recurring job scheduling
2682 jsonPath: .spec.cron
2683 name: Cron
2684 type: string
2685 - description: The number of snapshots/backups to keep for the volume
2686 jsonPath: .spec.retain
2687 name: Retain
2688 type: integer
2689 - description: The concurrent job to run by each cron job
2690 jsonPath: .spec.concurrency
2691 name: Concurrency
2692 type: integer
2693 - jsonPath: .metadata.creationTimestamp
2694 name: Age
2695 type: date
2696 - description: Specify the labels
2697 jsonPath: .spec.labels
2698 name: Labels
2699 type: string
2700 name: v1beta2
2701 schema:
2702 openAPIV3Schema:
2703 description: RecurringJob is where Longhorn stores recurring job object.
2704 properties:
2705 apiVersion:
gio16bb6382025-05-21 18:42:40 +04002706 description: |-
2707 APIVersion defines the versioned schema of this representation of an object.
2708 Servers should convert recognized schemas to the latest internal value, and
2709 may reject unrecognized values.
2710 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002711 type: string
2712 kind:
gio16bb6382025-05-21 18:42:40 +04002713 description: |-
2714 Kind is a string value representing the REST resource this object represents.
2715 Servers may infer this from the endpoint the client submits requests to.
2716 Cannot be updated.
2717 In CamelCase.
2718 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002719 type: string
2720 metadata:
2721 type: object
2722 spec:
gioc9b92b12025-05-22 08:57:18 +04002723 description: RecurringJobSpec defines the desired state of the Longhorn
2724 recurring job
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002725 properties:
2726 concurrency:
2727 description: The concurrency of taking the snapshot/backup.
2728 type: integer
2729 cron:
2730 description: The cron setting.
2731 type: string
2732 groups:
2733 description: The recurring job group.
2734 items:
2735 type: string
2736 type: array
2737 labels:
2738 additionalProperties:
2739 type: string
2740 description: The label of the snapshot/backup.
2741 type: object
2742 name:
2743 description: The recurring job name.
2744 type: string
gioc9b92b12025-05-22 08:57:18 +04002745 parameters:
2746 additionalProperties:
2747 type: string
2748 description: |-
2749 The parameters of the snapshot/backup.
giodbf4a852025-06-30 17:09:46 +04002750 Support parameters: "full-backup-interval", "volume-backup-policy".
gioc9b92b12025-05-22 08:57:18 +04002751 type: object
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002752 retain:
2753 description: The retain count of the snapshot/backup.
2754 type: integer
2755 task:
gio16bb6382025-05-21 18:42:40 +04002756 description: |-
2757 The recurring job task.
giodbf4a852025-06-30 17:09:46 +04002758 Can be "snapshot", "snapshot-force-create", "snapshot-cleanup", "snapshot-delete", "backup", "backup-force-create", "filesystem-trim" or "system-backup".
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002759 enum:
2760 - snapshot
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04002761 - snapshot-force-create
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002762 - snapshot-cleanup
2763 - snapshot-delete
2764 - backup
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04002765 - backup-force-create
2766 - filesystem-trim
giodbf4a852025-06-30 17:09:46 +04002767 - system-backup
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002768 type: string
2769 type: object
2770 status:
gioc9b92b12025-05-22 08:57:18 +04002771 description: RecurringJobStatus defines the observed state of the Longhorn
2772 recurring job
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002773 properties:
gioc9b92b12025-05-22 08:57:18 +04002774 executionCount:
2775 description: The number of jobs that have been triggered.
2776 type: integer
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002777 ownerID:
gioc9b92b12025-05-22 08:57:18 +04002778 description: The owner ID which is responsible to reconcile this recurring
2779 job CR.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002780 type: string
2781 type: object
2782 type: object
2783 served: true
2784 storage: true
2785 subresources:
2786 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002787---
2788apiVersion: apiextensions.k8s.io/v1
2789kind: CustomResourceDefinition
2790metadata:
2791 annotations:
gio3e1b96b2026-07-21 18:52:35 +04002792 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002793 labels: {{- include "longhorn.labels" . | nindent 4 }}
2794 longhorn-manager: ""
2795 name: replicas.longhorn.io
2796spec:
2797 group: longhorn.io
2798 names:
2799 kind: Replica
2800 listKind: ReplicaList
2801 plural: replicas
2802 shortNames:
2803 - lhr
2804 singular: replica
2805 scope: Namespaced
2806 versions:
2807 - additionalPrinterColumns:
gio16bb6382025-05-21 18:42:40 +04002808 - description: The data engine of the replica
2809 jsonPath: .spec.dataEngine
2810 name: Data Engine
2811 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002812 - description: The current state of the replica
2813 jsonPath: .status.currentState
2814 name: State
2815 type: string
2816 - description: The node that the replica is on
2817 jsonPath: .spec.nodeID
2818 name: Node
2819 type: string
2820 - description: The disk that the replica is on
2821 jsonPath: .spec.diskID
2822 name: Disk
2823 type: string
2824 - description: The instance manager of the replica
2825 jsonPath: .status.instanceManagerName
2826 name: InstanceManager
2827 type: string
2828 - description: The current image of the replica
2829 jsonPath: .status.currentImage
2830 name: Image
2831 type: string
2832 - jsonPath: .metadata.creationTimestamp
2833 name: Age
2834 type: date
2835 name: v1beta2
2836 schema:
2837 openAPIV3Schema:
2838 description: Replica is where Longhorn stores replica object.
2839 properties:
2840 apiVersion:
gio16bb6382025-05-21 18:42:40 +04002841 description: |-
2842 APIVersion defines the versioned schema of this representation of an object.
2843 Servers should convert recognized schemas to the latest internal value, and
2844 may reject unrecognized values.
2845 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002846 type: string
2847 kind:
gio16bb6382025-05-21 18:42:40 +04002848 description: |-
2849 Kind is a string value representing the REST resource this object represents.
2850 Servers may infer this from the endpoint the client submits requests to.
2851 Cannot be updated.
2852 In CamelCase.
2853 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002854 type: string
2855 metadata:
2856 type: object
2857 spec:
2858 description: ReplicaSpec defines the desired state of the Longhorn replica
2859 properties:
2860 active:
2861 type: boolean
2862 backingImage:
2863 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002864 dataDirectoryName:
2865 type: string
gio16bb6382025-05-21 18:42:40 +04002866 dataEngine:
2867 enum:
2868 - v1
2869 - v2
2870 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002871 desireState:
2872 type: string
2873 diskID:
2874 type: string
2875 diskPath:
2876 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002877 engineName:
2878 type: string
gio16bb6382025-05-21 18:42:40 +04002879 evictionRequested:
2880 type: boolean
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002881 failedAt:
gio16bb6382025-05-21 18:42:40 +04002882 description: |-
2883 FailedAt is set when a running replica fails or when a running engine is unable to use a replica for any reason.
2884 FailedAt indicates the time the failure occurred. When FailedAt is set, a replica is likely to have useful
2885 (though possibly stale) data. A replica with FailedAt set must be rebuilt from a non-failed replica (or it can
2886 be used in a salvage if all replicas are failed). FailedAt is cleared before a rebuild or salvage. FailedAt may
2887 be later than the corresponding entry in an engine's replicaTransitionTimeMap because it is set when the volume
2888 controller acknowledges the change.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002889 type: string
2890 hardNodeAffinity:
2891 type: string
2892 healthyAt:
gio16bb6382025-05-21 18:42:40 +04002893 description: |-
2894 HealthyAt is set the first time a replica becomes read/write in an engine after creation or rebuild. HealthyAt
2895 indicates the time the last successful rebuild occurred. When HealthyAt is set, a replica is likely to have
2896 useful (though possibly stale) data. HealthyAt is cleared before a rebuild. HealthyAt may be later than the
2897 corresponding entry in an engine's replicaTransitionTimeMap because it is set when the volume controller
2898 acknowledges the change.
2899 type: string
2900 image:
2901 type: string
2902 lastFailedAt:
2903 description: |-
2904 LastFailedAt is always set at the same time as FailedAt. Unlike FailedAt, LastFailedAt is never cleared.
2905 LastFailedAt is not a reliable indicator of the state of a replica's data. For example, a replica with
2906 LastFailedAt may already be healthy and in use again. However, because it is never cleared, it can be compared to
2907 LastHealthyAt to help prevent dangerous replica deletion in some corner cases. LastFailedAt may be later than the
2908 corresponding entry in an engine's replicaTransitionTimeMap because it is set when the volume controller
2909 acknowledges the change.
2910 type: string
2911 lastHealthyAt:
2912 description: |-
2913 LastHealthyAt is set every time a replica becomes read/write in an engine. Unlike HealthyAt, LastHealthyAt is
2914 never cleared. LastHealthyAt is not a reliable indicator of the state of a replica's data. For example, a
2915 replica with LastHealthyAt set may be in the middle of a rebuild. However, because it is never cleared, it can be
2916 compared to LastFailedAt to help prevent dangerous replica deletion in some corner cases. LastHealthyAt may be
2917 later than the corresponding entry in an engine's replicaTransitionTimeMap because it is set when the volume
2918 controller acknowledges the change.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002919 type: string
2920 logRequested:
2921 type: boolean
gio2539d9e2025-05-22 12:19:30 +04002922 migrationEngineName:
2923 description: |-
2924 MigrationEngineName is indicating the migrating engine which current connected to this replica. This is only
2925 used for live migration of v2 data engine
2926 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002927 nodeID:
2928 type: string
2929 rebuildRetryCount:
2930 type: integer
2931 revisionCounterDisabled:
2932 type: boolean
2933 salvageRequested:
2934 type: boolean
gio16bb6382025-05-21 18:42:40 +04002935 snapshotMaxCount:
2936 type: integer
2937 snapshotMaxSize:
2938 format: int64
2939 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002940 unmapMarkDiskChainRemovedEnabled:
2941 type: boolean
2942 volumeName:
2943 type: string
2944 volumeSize:
2945 format: int64
2946 type: string
2947 type: object
2948 status:
gioc9b92b12025-05-22 08:57:18 +04002949 description: ReplicaStatus defines the observed state of the Longhorn
2950 replica
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002951 properties:
2952 conditions:
2953 items:
2954 properties:
2955 lastProbeTime:
2956 description: Last time we probed the condition.
2957 type: string
2958 lastTransitionTime:
gioc9b92b12025-05-22 08:57:18 +04002959 description: Last time the condition transitioned from one status
2960 to another.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002961 type: string
2962 message:
gioc9b92b12025-05-22 08:57:18 +04002963 description: Human-readable message indicating details about
2964 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002965 type: string
2966 reason:
gioc9b92b12025-05-22 08:57:18 +04002967 description: Unique, one-word, CamelCase reason for the condition's
2968 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002969 type: string
2970 status:
gio16bb6382025-05-21 18:42:40 +04002971 description: |-
2972 Status is the status of the condition.
2973 Can be True, False, Unknown.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002974 type: string
2975 type:
2976 description: Type is the type of the condition.
2977 type: string
2978 type: object
2979 nullable: true
2980 type: array
2981 currentImage:
2982 type: string
2983 currentState:
2984 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04002985 instanceManagerName:
2986 type: string
2987 ip:
2988 type: string
2989 logFetched:
2990 type: boolean
2991 ownerID:
2992 type: string
2993 port:
2994 type: integer
2995 salvageExecuted:
2996 type: boolean
2997 started:
2998 type: boolean
gio3e1b96b2026-07-21 18:52:35 +04002999 starting:
3000 type: boolean
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003001 storageIP:
3002 type: string
giodbf4a852025-06-30 17:09:46 +04003003 ublkID:
3004 format: int32
3005 type: integer
3006 uuid:
3007 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003008 type: object
3009 type: object
3010 served: true
3011 storage: true
3012 subresources:
3013 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003014---
3015apiVersion: apiextensions.k8s.io/v1
3016kind: CustomResourceDefinition
3017metadata:
3018 annotations:
gio3e1b96b2026-07-21 18:52:35 +04003019 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003020 labels: {{- include "longhorn.labels" . | nindent 4 }}
3021 longhorn-manager: ""
3022 name: settings.longhorn.io
3023spec:
3024 group: longhorn.io
3025 names:
3026 kind: Setting
3027 listKind: SettingList
3028 plural: settings
3029 shortNames:
3030 - lhs
3031 singular: setting
3032 scope: Namespaced
3033 versions:
3034 - additionalPrinterColumns:
3035 - description: The value of the setting
3036 jsonPath: .value
3037 name: Value
3038 type: string
gioc9b92b12025-05-22 08:57:18 +04003039 - description: The setting is applied
3040 jsonPath: .status.applied
3041 name: Applied
3042 type: boolean
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003043 - jsonPath: .metadata.creationTimestamp
3044 name: Age
3045 type: date
3046 name: v1beta2
3047 schema:
3048 openAPIV3Schema:
3049 description: Setting is where Longhorn stores setting object.
3050 properties:
3051 apiVersion:
gio16bb6382025-05-21 18:42:40 +04003052 description: |-
3053 APIVersion defines the versioned schema of this representation of an object.
3054 Servers should convert recognized schemas to the latest internal value, and
3055 may reject unrecognized values.
3056 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003057 type: string
3058 kind:
gio16bb6382025-05-21 18:42:40 +04003059 description: |-
3060 Kind is a string value representing the REST resource this object represents.
3061 Servers may infer this from the endpoint the client submits requests to.
3062 Cannot be updated.
3063 In CamelCase.
3064 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003065 type: string
3066 metadata:
3067 type: object
gioc9b92b12025-05-22 08:57:18 +04003068 status:
3069 description: The status of the setting.
3070 properties:
3071 applied:
3072 description: The setting is applied.
3073 type: boolean
3074 required:
3075 - applied
3076 type: object
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003077 value:
gio3e1b96b2026-07-21 18:52:35 +04003078 description: |-
3079 The value of the setting.
3080 - It can be a non-JSON formatted string that is applied to all the applicable data engines listed in the setting definition.
3081 - It can be a JSON formatted string that contains values for applicable data engines listed in the setting definition's Default.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003082 type: string
3083 required:
3084 - value
3085 type: object
3086 served: true
3087 storage: true
3088 subresources:
3089 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003090---
3091apiVersion: apiextensions.k8s.io/v1
3092kind: CustomResourceDefinition
3093metadata:
3094 annotations:
gio3e1b96b2026-07-21 18:52:35 +04003095 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003096 labels: {{- include "longhorn.labels" . | nindent 4 }}
3097 longhorn-manager: ""
3098 name: sharemanagers.longhorn.io
3099spec:
3100 group: longhorn.io
3101 names:
3102 kind: ShareManager
3103 listKind: ShareManagerList
3104 plural: sharemanagers
3105 shortNames:
3106 - lhsm
3107 singular: sharemanager
3108 scope: Namespaced
3109 versions:
3110 - additionalPrinterColumns:
3111 - description: The state of the share manager
3112 jsonPath: .status.state
3113 name: State
3114 type: string
3115 - description: The node that the share manager is owned by
3116 jsonPath: .status.ownerID
3117 name: Node
3118 type: string
gio3e1b96b2026-07-21 18:52:35 +04003119 - description: The current image of the share manager
3120 jsonPath: .status.currentImage
3121 name: Image
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003122 type: string
3123 - jsonPath: .metadata.creationTimestamp
3124 name: Age
3125 type: date
3126 name: v1beta2
3127 schema:
3128 openAPIV3Schema:
3129 description: ShareManager is where Longhorn stores share manager object.
3130 properties:
3131 apiVersion:
gio16bb6382025-05-21 18:42:40 +04003132 description: |-
3133 APIVersion defines the versioned schema of this representation of an object.
3134 Servers should convert recognized schemas to the latest internal value, and
3135 may reject unrecognized values.
3136 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003137 type: string
3138 kind:
gio16bb6382025-05-21 18:42:40 +04003139 description: |-
3140 Kind is a string value representing the REST resource this object represents.
3141 Servers may infer this from the endpoint the client submits requests to.
3142 Cannot be updated.
3143 In CamelCase.
3144 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003145 type: string
3146 metadata:
3147 type: object
3148 spec:
gioc9b92b12025-05-22 08:57:18 +04003149 description: ShareManagerSpec defines the desired state of the Longhorn
3150 share manager
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003151 properties:
3152 image:
gioc9b92b12025-05-22 08:57:18 +04003153 description: Share manager image used for creating a share manager
3154 pod
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003155 type: string
3156 type: object
3157 status:
gioc9b92b12025-05-22 08:57:18 +04003158 description: ShareManagerStatus defines the observed state of the Longhorn
3159 share manager
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003160 properties:
gio3e1b96b2026-07-21 18:52:35 +04003161 currentImage:
3162 description: The image currently used by the share manager pod
3163 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003164 endpoint:
gioc9b92b12025-05-22 08:57:18 +04003165 description: NFS endpoint that can access the mounted filesystem of
3166 the volume
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003167 type: string
3168 ownerID:
gioc9b92b12025-05-22 08:57:18 +04003169 description: The node ID on which the controller is responsible to
3170 reconcile this share manager resource
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003171 type: string
3172 state:
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04003173 description: The state of the share manager resource
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003174 type: string
3175 type: object
3176 type: object
3177 served: true
3178 storage: true
3179 subresources:
3180 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003181---
3182apiVersion: apiextensions.k8s.io/v1
3183kind: CustomResourceDefinition
3184metadata:
3185 annotations:
gio3e1b96b2026-07-21 18:52:35 +04003186 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003187 labels: {{- include "longhorn.labels" . | nindent 4 }}
3188 longhorn-manager: ""
3189 name: snapshots.longhorn.io
3190spec:
3191 group: longhorn.io
3192 names:
3193 kind: Snapshot
3194 listKind: SnapshotList
3195 plural: snapshots
3196 shortNames:
3197 - lhsnap
3198 singular: snapshot
3199 scope: Namespaced
3200 versions:
3201 - additionalPrinterColumns:
3202 - description: The volume that this snapshot belongs to
3203 jsonPath: .spec.volume
3204 name: Volume
3205 type: string
3206 - description: Timestamp when the point-in-time snapshot was taken
3207 jsonPath: .status.creationTime
3208 name: CreationTime
3209 type: string
gioc9b92b12025-05-22 08:57:18 +04003210 - description: Indicates if the snapshot is ready to be used to restore/backup
3211 a volume
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003212 jsonPath: .status.readyToUse
3213 name: ReadyToUse
3214 type: boolean
gioc9b92b12025-05-22 08:57:18 +04003215 - description: Represents the minimum size of volume required to rehydrate from
3216 this snapshot
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003217 jsonPath: .status.restoreSize
3218 name: RestoreSize
3219 type: string
3220 - description: The actual size of the snapshot
3221 jsonPath: .status.size
3222 name: Size
3223 type: string
3224 - jsonPath: .metadata.creationTimestamp
3225 name: Age
3226 type: date
3227 name: v1beta2
3228 schema:
3229 openAPIV3Schema:
3230 description: Snapshot is the Schema for the snapshots API
3231 properties:
3232 apiVersion:
gio16bb6382025-05-21 18:42:40 +04003233 description: |-
3234 APIVersion defines the versioned schema of this representation of an object.
3235 Servers should convert recognized schemas to the latest internal value, and
3236 may reject unrecognized values.
3237 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003238 type: string
3239 kind:
gio16bb6382025-05-21 18:42:40 +04003240 description: |-
3241 Kind is a string value representing the REST resource this object represents.
3242 Servers may infer this from the endpoint the client submits requests to.
3243 Cannot be updated.
3244 In CamelCase.
3245 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003246 type: string
3247 metadata:
3248 type: object
3249 spec:
3250 description: SnapshotSpec defines the desired state of Longhorn Snapshot
3251 properties:
3252 createSnapshot:
3253 description: require creating a new snapshot
3254 type: boolean
3255 labels:
3256 additionalProperties:
3257 type: string
3258 description: The labels of snapshot
3259 nullable: true
3260 type: object
3261 volume:
gio16bb6382025-05-21 18:42:40 +04003262 description: |-
3263 the volume that this snapshot belongs to.
3264 This field is immutable after creation.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003265 type: string
3266 required:
3267 - volume
3268 type: object
3269 status:
3270 description: SnapshotStatus defines the observed state of Longhorn Snapshot
3271 properties:
3272 checksum:
3273 type: string
gio3e1b96b2026-07-21 18:52:35 +04003274 checksumCalculatedAt:
3275 description: |-
3276 ChecksumCalculatedAt is the RFC3339 timestamp indicating when the checksum
3277 for this snapshot was last calculated or updated.
3278 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003279 children:
3280 additionalProperties:
3281 type: boolean
3282 nullable: true
3283 type: object
3284 creationTime:
3285 type: string
3286 error:
3287 type: string
3288 labels:
3289 additionalProperties:
3290 type: string
3291 nullable: true
3292 type: object
3293 markRemoved:
3294 type: boolean
3295 ownerID:
3296 type: string
3297 parent:
3298 type: string
3299 readyToUse:
3300 type: boolean
gio3e1b96b2026-07-21 18:52:35 +04003301 requestedTime:
3302 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003303 restoreSize:
3304 format: int64
3305 type: integer
3306 size:
3307 format: int64
3308 type: integer
3309 userCreated:
3310 type: boolean
3311 type: object
3312 type: object
3313 served: true
3314 storage: true
3315 subresources:
3316 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003317---
3318apiVersion: apiextensions.k8s.io/v1
3319kind: CustomResourceDefinition
3320metadata:
3321 annotations:
gio3e1b96b2026-07-21 18:52:35 +04003322 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003323 labels: {{- include "longhorn.labels" . | nindent 4 }}
3324 longhorn-manager: ""
3325 name: supportbundles.longhorn.io
3326spec:
3327 group: longhorn.io
3328 names:
3329 kind: SupportBundle
3330 listKind: SupportBundleList
3331 plural: supportbundles
3332 shortNames:
3333 - lhbundle
3334 singular: supportbundle
3335 scope: Namespaced
3336 versions:
3337 - additionalPrinterColumns:
3338 - description: The state of the support bundle
3339 jsonPath: .status.state
3340 name: State
3341 type: string
3342 - description: The issue URL
3343 jsonPath: .spec.issueURL
3344 name: Issue
3345 type: string
3346 - description: A brief description of the issue
3347 jsonPath: .spec.description
3348 name: Description
3349 type: string
3350 - jsonPath: .metadata.creationTimestamp
3351 name: Age
3352 type: date
3353 name: v1beta2
3354 schema:
3355 openAPIV3Schema:
3356 description: SupportBundle is where Longhorn stores support bundle object
3357 properties:
3358 apiVersion:
gio16bb6382025-05-21 18:42:40 +04003359 description: |-
3360 APIVersion defines the versioned schema of this representation of an object.
3361 Servers should convert recognized schemas to the latest internal value, and
3362 may reject unrecognized values.
3363 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003364 type: string
3365 kind:
gio16bb6382025-05-21 18:42:40 +04003366 description: |-
3367 Kind is a string value representing the REST resource this object represents.
3368 Servers may infer this from the endpoint the client submits requests to.
3369 Cannot be updated.
3370 In CamelCase.
3371 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003372 type: string
3373 metadata:
3374 type: object
3375 spec:
gioc9b92b12025-05-22 08:57:18 +04003376 description: SupportBundleSpec defines the desired state of the Longhorn
3377 SupportBundle
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003378 properties:
3379 description:
3380 description: A brief description of the issue
3381 type: string
3382 issueURL:
3383 description: The issue URL
3384 nullable: true
3385 type: string
3386 nodeID:
3387 description: The preferred responsible controller node ID.
3388 type: string
3389 required:
3390 - description
3391 type: object
3392 status:
gioc9b92b12025-05-22 08:57:18 +04003393 description: SupportBundleStatus defines the observed state of the Longhorn
3394 SupportBundle
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003395 properties:
3396 conditions:
3397 items:
3398 properties:
3399 lastProbeTime:
3400 description: Last time we probed the condition.
3401 type: string
3402 lastTransitionTime:
gioc9b92b12025-05-22 08:57:18 +04003403 description: Last time the condition transitioned from one status
3404 to another.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003405 type: string
3406 message:
gioc9b92b12025-05-22 08:57:18 +04003407 description: Human-readable message indicating details about
3408 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003409 type: string
3410 reason:
gioc9b92b12025-05-22 08:57:18 +04003411 description: Unique, one-word, CamelCase reason for the condition's
3412 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003413 type: string
3414 status:
gio16bb6382025-05-21 18:42:40 +04003415 description: |-
3416 Status is the status of the condition.
3417 Can be True, False, Unknown.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003418 type: string
3419 type:
3420 description: Type is the type of the condition.
3421 type: string
3422 type: object
3423 type: array
3424 filename:
3425 type: string
3426 filesize:
3427 format: int64
3428 type: integer
3429 image:
3430 description: The support bundle manager image
3431 type: string
3432 managerIP:
3433 description: The support bundle manager IP
3434 type: string
3435 ownerID:
3436 description: The current responsible controller node ID
3437 type: string
3438 progress:
3439 type: integer
3440 state:
3441 type: string
3442 type: object
3443 type: object
3444 served: true
3445 storage: true
3446 subresources:
3447 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003448---
3449apiVersion: apiextensions.k8s.io/v1
3450kind: CustomResourceDefinition
3451metadata:
3452 annotations:
gio3e1b96b2026-07-21 18:52:35 +04003453 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003454 labels: {{- include "longhorn.labels" . | nindent 4 }}
3455 longhorn-manager: ""
3456 name: systembackups.longhorn.io
3457spec:
3458 group: longhorn.io
3459 names:
3460 kind: SystemBackup
3461 listKind: SystemBackupList
3462 plural: systembackups
3463 shortNames:
3464 - lhsb
3465 singular: systembackup
3466 scope: Namespaced
3467 versions:
3468 - additionalPrinterColumns:
3469 - description: The system backup Longhorn version
3470 jsonPath: .status.version
3471 name: Version
3472 type: string
3473 - description: The system backup state
3474 jsonPath: .status.state
3475 name: State
3476 type: string
3477 - description: The system backup creation time
3478 jsonPath: .status.createdAt
3479 name: Created
3480 type: string
3481 - description: The last time that the system backup was synced into the cluster
3482 jsonPath: .status.lastSyncedAt
3483 name: LastSyncedAt
3484 type: string
3485 name: v1beta2
3486 schema:
3487 openAPIV3Schema:
3488 description: SystemBackup is where Longhorn stores system backup object
3489 properties:
3490 apiVersion:
gio16bb6382025-05-21 18:42:40 +04003491 description: |-
3492 APIVersion defines the versioned schema of this representation of an object.
3493 Servers should convert recognized schemas to the latest internal value, and
3494 may reject unrecognized values.
3495 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003496 type: string
3497 kind:
gio16bb6382025-05-21 18:42:40 +04003498 description: |-
3499 Kind is a string value representing the REST resource this object represents.
3500 Servers may infer this from the endpoint the client submits requests to.
3501 Cannot be updated.
3502 In CamelCase.
3503 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003504 type: string
3505 metadata:
3506 type: object
3507 spec:
gioc9b92b12025-05-22 08:57:18 +04003508 description: SystemBackupSpec defines the desired state of the Longhorn
3509 SystemBackup
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04003510 properties:
3511 volumeBackupPolicy:
gio16bb6382025-05-21 18:42:40 +04003512 description: |-
3513 The create volume backup policy
3514 Can be "if-not-present", "always" or "disabled"
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04003515 nullable: true
3516 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003517 type: object
3518 status:
gioc9b92b12025-05-22 08:57:18 +04003519 description: SystemBackupStatus defines the observed state of the Longhorn
3520 SystemBackup
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003521 properties:
3522 conditions:
3523 items:
3524 properties:
3525 lastProbeTime:
3526 description: Last time we probed the condition.
3527 type: string
3528 lastTransitionTime:
gioc9b92b12025-05-22 08:57:18 +04003529 description: Last time the condition transitioned from one status
3530 to another.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003531 type: string
3532 message:
gioc9b92b12025-05-22 08:57:18 +04003533 description: Human-readable message indicating details about
3534 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003535 type: string
3536 reason:
gioc9b92b12025-05-22 08:57:18 +04003537 description: Unique, one-word, CamelCase reason for the condition's
3538 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003539 type: string
3540 status:
gio16bb6382025-05-21 18:42:40 +04003541 description: |-
3542 Status is the status of the condition.
3543 Can be True, False, Unknown.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003544 type: string
3545 type:
3546 description: Type is the type of the condition.
3547 type: string
3548 type: object
3549 nullable: true
3550 type: array
3551 createdAt:
3552 description: The system backup creation time.
3553 format: date-time
3554 type: string
3555 gitCommit:
3556 description: The saved Longhorn manager git commit.
3557 nullable: true
3558 type: string
3559 lastSyncedAt:
gioc9b92b12025-05-22 08:57:18 +04003560 description: The last time that the system backup was synced into
3561 the cluster.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003562 format: date-time
3563 nullable: true
3564 type: string
3565 managerImage:
3566 description: The saved manager image.
3567 type: string
3568 ownerID:
gioc9b92b12025-05-22 08:57:18 +04003569 description: The node ID of the responsible controller to reconcile
3570 this SystemBackup.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003571 type: string
3572 state:
3573 description: The system backup state.
3574 type: string
3575 version:
3576 description: The saved Longhorn version.
3577 nullable: true
3578 type: string
3579 type: object
3580 type: object
3581 served: true
3582 storage: true
3583 subresources:
3584 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003585---
3586apiVersion: apiextensions.k8s.io/v1
3587kind: CustomResourceDefinition
3588metadata:
3589 annotations:
gio3e1b96b2026-07-21 18:52:35 +04003590 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003591 labels: {{- include "longhorn.labels" . | nindent 4 }}
3592 longhorn-manager: ""
3593 name: systemrestores.longhorn.io
3594spec:
3595 group: longhorn.io
3596 names:
3597 kind: SystemRestore
3598 listKind: SystemRestoreList
3599 plural: systemrestores
3600 shortNames:
3601 - lhsr
3602 singular: systemrestore
3603 scope: Namespaced
3604 versions:
3605 - additionalPrinterColumns:
3606 - description: The system restore state
3607 jsonPath: .status.state
3608 name: State
3609 type: string
3610 - jsonPath: .metadata.creationTimestamp
3611 name: Age
3612 type: date
3613 name: v1beta2
3614 schema:
3615 openAPIV3Schema:
3616 description: SystemRestore is where Longhorn stores system restore object
3617 properties:
3618 apiVersion:
gio16bb6382025-05-21 18:42:40 +04003619 description: |-
3620 APIVersion defines the versioned schema of this representation of an object.
3621 Servers should convert recognized schemas to the latest internal value, and
3622 may reject unrecognized values.
3623 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003624 type: string
3625 kind:
gio16bb6382025-05-21 18:42:40 +04003626 description: |-
3627 Kind is a string value representing the REST resource this object represents.
3628 Servers may infer this from the endpoint the client submits requests to.
3629 Cannot be updated.
3630 In CamelCase.
3631 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003632 type: string
3633 metadata:
3634 type: object
3635 spec:
gioc9b92b12025-05-22 08:57:18 +04003636 description: SystemRestoreSpec defines the desired state of the Longhorn
3637 SystemRestore
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003638 properties:
3639 systemBackup:
3640 description: The system backup name in the object store.
3641 type: string
3642 required:
3643 - systemBackup
3644 type: object
3645 status:
gioc9b92b12025-05-22 08:57:18 +04003646 description: SystemRestoreStatus defines the observed state of the Longhorn
3647 SystemRestore
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003648 properties:
3649 conditions:
3650 items:
3651 properties:
3652 lastProbeTime:
3653 description: Last time we probed the condition.
3654 type: string
3655 lastTransitionTime:
gioc9b92b12025-05-22 08:57:18 +04003656 description: Last time the condition transitioned from one status
3657 to another.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003658 type: string
3659 message:
gioc9b92b12025-05-22 08:57:18 +04003660 description: Human-readable message indicating details about
3661 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003662 type: string
3663 reason:
gioc9b92b12025-05-22 08:57:18 +04003664 description: Unique, one-word, CamelCase reason for the condition's
3665 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003666 type: string
3667 status:
gio16bb6382025-05-21 18:42:40 +04003668 description: |-
3669 Status is the status of the condition.
3670 Can be True, False, Unknown.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003671 type: string
3672 type:
3673 description: Type is the type of the condition.
3674 type: string
3675 type: object
3676 nullable: true
3677 type: array
3678 ownerID:
gioc9b92b12025-05-22 08:57:18 +04003679 description: The node ID of the responsible controller to reconcile
3680 this SystemRestore.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003681 type: string
3682 sourceURL:
3683 description: The source system backup URL.
3684 type: string
3685 state:
3686 description: The system restore state.
3687 type: string
3688 type: object
3689 type: object
3690 served: true
3691 storage: true
3692 subresources:
3693 status: {}
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003694---
3695apiVersion: apiextensions.k8s.io/v1
3696kind: CustomResourceDefinition
3697metadata:
3698 annotations:
gio3e1b96b2026-07-21 18:52:35 +04003699 controller-gen.kubebuilder.io/version: v0.19.0
gio16bb6382025-05-21 18:42:40 +04003700 labels: {{- include "longhorn.labels" . | nindent 4 }}
3701 longhorn-manager: ""
3702 name: volumeattachments.longhorn.io
3703spec:
3704 group: longhorn.io
3705 names:
3706 kind: VolumeAttachment
3707 listKind: VolumeAttachmentList
3708 plural: volumeattachments
3709 shortNames:
3710 - lhva
3711 singular: volumeattachment
3712 scope: Namespaced
3713 versions:
3714 - additionalPrinterColumns:
3715 - jsonPath: .metadata.creationTimestamp
3716 name: Age
3717 type: date
3718 name: v1beta2
3719 schema:
3720 openAPIV3Schema:
gioc9b92b12025-05-22 08:57:18 +04003721 description: VolumeAttachment stores attachment information of a Longhorn
3722 volume
gio16bb6382025-05-21 18:42:40 +04003723 properties:
3724 apiVersion:
3725 description: |-
3726 APIVersion defines the versioned schema of this representation of an object.
3727 Servers should convert recognized schemas to the latest internal value, and
3728 may reject unrecognized values.
3729 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
3730 type: string
3731 kind:
3732 description: |-
3733 Kind is a string value representing the REST resource this object represents.
3734 Servers may infer this from the endpoint the client submits requests to.
3735 Cannot be updated.
3736 In CamelCase.
3737 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
3738 type: string
3739 metadata:
3740 type: object
3741 spec:
gioc9b92b12025-05-22 08:57:18 +04003742 description: VolumeAttachmentSpec defines the desired state of Longhorn
3743 VolumeAttachment
gio16bb6382025-05-21 18:42:40 +04003744 properties:
3745 attachmentTickets:
3746 additionalProperties:
3747 properties:
3748 generation:
3749 description: |-
3750 A sequence number representing a specific generation of the desired state.
3751 Populated by the system. Read-only.
3752 format: int64
3753 type: integer
3754 id:
gioc9b92b12025-05-22 08:57:18 +04003755 description: The unique ID of this attachment. Used to differentiate
3756 different attachments of the same volume.
gio16bb6382025-05-21 18:42:40 +04003757 type: string
3758 nodeID:
3759 description: The node that this attachment is requesting
3760 type: string
3761 parameters:
3762 additionalProperties:
3763 type: string
3764 description: Optional additional parameter for this attachment
3765 type: object
3766 type:
3767 type: string
3768 type: object
3769 type: object
3770 volume:
3771 description: The name of Longhorn volume of this VolumeAttachment
3772 type: string
3773 required:
3774 - volume
3775 type: object
3776 status:
gioc9b92b12025-05-22 08:57:18 +04003777 description: VolumeAttachmentStatus defines the observed state of Longhorn
3778 VolumeAttachment
gio16bb6382025-05-21 18:42:40 +04003779 properties:
3780 attachmentTicketStatuses:
3781 additionalProperties:
3782 properties:
3783 conditions:
3784 description: Record any error when trying to fulfill this attachment
3785 items:
3786 properties:
3787 lastProbeTime:
3788 description: Last time we probed the condition.
3789 type: string
3790 lastTransitionTime:
gioc9b92b12025-05-22 08:57:18 +04003791 description: Last time the condition transitioned from
3792 one status to another.
gio16bb6382025-05-21 18:42:40 +04003793 type: string
3794 message:
gioc9b92b12025-05-22 08:57:18 +04003795 description: Human-readable message indicating details
3796 about last transition.
gio16bb6382025-05-21 18:42:40 +04003797 type: string
3798 reason:
gioc9b92b12025-05-22 08:57:18 +04003799 description: Unique, one-word, CamelCase reason for the
3800 condition's last transition.
gio16bb6382025-05-21 18:42:40 +04003801 type: string
3802 status:
3803 description: |-
3804 Status is the status of the condition.
3805 Can be True, False, Unknown.
3806 type: string
3807 type:
3808 description: Type is the type of the condition.
3809 type: string
3810 type: object
3811 nullable: true
3812 type: array
3813 generation:
3814 description: |-
3815 A sequence number representing a specific generation of the desired state.
3816 Populated by the system. Read-only.
3817 format: int64
3818 type: integer
3819 id:
gioc9b92b12025-05-22 08:57:18 +04003820 description: The unique ID of this attachment. Used to differentiate
3821 different attachments of the same volume.
gio16bb6382025-05-21 18:42:40 +04003822 type: string
3823 satisfied:
gioc9b92b12025-05-22 08:57:18 +04003824 description: Indicate whether this attachment ticket has been
3825 satisfied
gio16bb6382025-05-21 18:42:40 +04003826 type: boolean
3827 required:
3828 - conditions
3829 - satisfied
3830 type: object
3831 type: object
3832 type: object
3833 type: object
3834 served: true
3835 storage: true
3836 subresources:
3837 status: {}
3838---
3839apiVersion: apiextensions.k8s.io/v1
3840kind: CustomResourceDefinition
3841metadata:
3842 annotations:
gio3e1b96b2026-07-21 18:52:35 +04003843 controller-gen.kubebuilder.io/version: v0.19.0
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003844 labels: {{- include "longhorn.labels" . | nindent 4 }}
3845 longhorn-manager: ""
3846 name: volumes.longhorn.io
3847spec:
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003848 group: longhorn.io
3849 names:
3850 kind: Volume
3851 listKind: VolumeList
3852 plural: volumes
3853 shortNames:
3854 - lhv
3855 singular: volume
3856 scope: Namespaced
3857 versions:
3858 - additionalPrinterColumns:
gio16bb6382025-05-21 18:42:40 +04003859 - description: The data engine of the volume
3860 jsonPath: .spec.dataEngine
3861 name: Data Engine
3862 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003863 - description: The state of the volume
3864 jsonPath: .status.state
3865 name: State
3866 type: string
3867 - description: The robustness of the volume
3868 jsonPath: .status.robustness
3869 name: Robustness
3870 type: string
3871 - description: The scheduled condition of the volume
3872 jsonPath: .status.conditions[?(@.type=='Schedulable')].status
3873 name: Scheduled
3874 type: string
3875 - description: The size of the volume
3876 jsonPath: .spec.size
3877 name: Size
3878 type: string
3879 - description: The node that the volume is currently attaching to
3880 jsonPath: .status.currentNodeID
3881 name: Node
3882 type: string
gio3e1b96b2026-07-21 18:52:35 +04003883 - description: The engine switchover state
3884 jsonPath: .status.switchoverState
3885 name: Switchover
3886 priority: 1
3887 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003888 - jsonPath: .metadata.creationTimestamp
3889 name: Age
3890 type: date
3891 name: v1beta2
3892 schema:
3893 openAPIV3Schema:
3894 description: Volume is where Longhorn stores volume object.
3895 properties:
3896 apiVersion:
gio16bb6382025-05-21 18:42:40 +04003897 description: |-
3898 APIVersion defines the versioned schema of this representation of an object.
3899 Servers should convert recognized schemas to the latest internal value, and
3900 may reject unrecognized values.
3901 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003902 type: string
3903 kind:
gio16bb6382025-05-21 18:42:40 +04003904 description: |-
3905 Kind is a string value representing the REST resource this object represents.
3906 Servers may infer this from the endpoint the client submits requests to.
3907 Cannot be updated.
3908 In CamelCase.
3909 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003910 type: string
3911 metadata:
3912 type: object
3913 spec:
3914 description: VolumeSpec defines the desired state of the Longhorn volume
3915 properties:
3916 Standby:
3917 type: boolean
3918 accessMode:
3919 enum:
3920 - rwo
gio3e1b96b2026-07-21 18:52:35 +04003921 - rwop
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003922 - rwx
3923 type: string
3924 backingImage:
3925 type: string
gio3e1b96b2026-07-21 18:52:35 +04003926 x-kubernetes-validations:
3927 - message: BackingImage is immutable
3928 rule: self == oldSelf
3929 backupBlockSize:
3930 description: BackupBlockSize indicate the block size to create backups.
3931 The block size is immutable.
3932 enum:
3933 - "2097152"
3934 - "16777216"
3935 format: int64
3936 type: string
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04003937 backupCompressionMethod:
3938 enum:
3939 - none
3940 - lz4
3941 - gzip
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003942 type: string
gio2539d9e2025-05-22 12:19:30 +04003943 backupTargetName:
3944 description: The backup target name that the volume will be backed
3945 up to or is synced.
3946 type: string
gio3e1b96b2026-07-21 18:52:35 +04003947 cloneMode:
3948 enum:
3949 - ""
3950 - full-copy
3951 - linked-clone
3952 type: string
gio16bb6382025-05-21 18:42:40 +04003953 dataEngine:
3954 enum:
3955 - v1
3956 - v2
3957 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003958 dataLocality:
3959 enum:
3960 - disabled
3961 - best-effort
3962 - strict-local
3963 type: string
3964 dataSource:
3965 type: string
3966 disableFrontend:
3967 type: boolean
3968 diskSelector:
3969 items:
3970 type: string
3971 type: array
3972 encrypted:
3973 type: boolean
gio3e1b96b2026-07-21 18:52:35 +04003974 x-kubernetes-validations:
3975 - message: Encrypted is immutable
3976 rule: self == oldSelf
3977 engineNodeID:
3978 description: |-
3979 engineNodeID defines the node where the backend engine (target) runs.
3980 If empty, falls back to NodeID.
3981 type: string
gioc9b92b12025-05-22 08:57:18 +04003982 freezeFilesystemForSnapshot:
3983 description: Setting that freezes the filesystem on the root partition
3984 before a snapshot is created.
3985 enum:
3986 - ignored
3987 - enabled
3988 - disabled
3989 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003990 fromBackup:
3991 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003992 frontend:
3993 enum:
3994 - blockdev
3995 - iscsi
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04003996 - nvmf
giodbf4a852025-06-30 17:09:46 +04003997 - ublk
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04003998 - ""
3999 type: string
gio16bb6382025-05-21 18:42:40 +04004000 image:
4001 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004002 lastAttachedBy:
4003 type: string
4004 migratable:
4005 type: boolean
4006 migrationNodeID:
4007 type: string
4008 nodeID:
gio3e1b96b2026-07-21 18:52:35 +04004009 description: nodeID defines the node where the volume is attached
4010 (where the frontend initiator runs).
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004011 type: string
4012 nodeSelector:
4013 items:
4014 type: string
4015 type: array
4016 numberOfReplicas:
4017 type: integer
giodbf4a852025-06-30 17:09:46 +04004018 offlineRebuilding:
4019 description: |-
4020 Specifies whether Longhorn should rebuild replicas while the detached volume is degraded.
4021 - ignored: Use the global setting for offline replica rebuilding.
4022 - enabled: Enable offline rebuilding for this volume, regardless of the global setting.
4023 - disabled: Disable offline rebuilding for this volume, regardless of the global setting
4024 enum:
4025 - ignored
4026 - disabled
4027 - enabled
4028 type: string
gio3e1b96b2026-07-21 18:52:35 +04004029 rebuildConcurrentSyncLimit:
4030 description: |-
4031 RebuildConcurrentSyncLimit controls the maximum number of file synchronization operations that can run
4032 concurrently during a single replica rebuild.
4033 When set to 0, it means following the global setting.
4034 maximum: 5
4035 minimum: 0
4036 type: integer
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004037 replicaAutoBalance:
4038 enum:
4039 - ignored
4040 - disabled
4041 - least-effort
4042 - best-effort
4043 type: string
gio16bb6382025-05-21 18:42:40 +04004044 replicaDiskSoftAntiAffinity:
gioc9b92b12025-05-22 08:57:18 +04004045 description: Replica disk soft anti affinity of the volume. Set enabled
4046 to allow replicas to be scheduled in the same disk.
gio16bb6382025-05-21 18:42:40 +04004047 enum:
4048 - ignored
4049 - enabled
4050 - disabled
4051 type: string
gio3e1b96b2026-07-21 18:52:35 +04004052 replicaRebuildingBandwidthLimit:
4053 description: ReplicaRebuildingBandwidthLimit controls the maximum
4054 write bandwidth (in megabytes per second) allowed on the destination
4055 replica during the rebuilding process. Set this value to 0 to disable
4056 bandwidth limiting.
4057 format: int64
4058 minimum: 0
4059 type: integer
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04004060 replicaSoftAntiAffinity:
gioc9b92b12025-05-22 08:57:18 +04004061 description: Replica soft anti affinity of the volume. Set enabled
4062 to allow replicas to be scheduled on the same node.
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04004063 enum:
4064 - ignored
4065 - enabled
4066 - disabled
4067 type: string
4068 replicaZoneSoftAntiAffinity:
gioc9b92b12025-05-22 08:57:18 +04004069 description: Replica zone soft anti affinity of the volume. Set enabled
4070 to allow replicas to be scheduled in the same zone.
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04004071 enum:
4072 - ignored
4073 - enabled
4074 - disabled
4075 type: string
4076 restoreVolumeRecurringJob:
4077 enum:
4078 - ignored
4079 - enabled
4080 - disabled
4081 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004082 revisionCounterDisabled:
4083 type: boolean
4084 size:
4085 format: int64
4086 type: string
4087 snapshotDataIntegrity:
4088 enum:
4089 - ignored
4090 - disabled
4091 - enabled
4092 - fast-check
4093 type: string
gio3e1b96b2026-07-21 18:52:35 +04004094 snapshotHashingRequestedAt:
4095 description: |-
4096 SnapshotHashingRequestedAt is the RFC3339 timestamp (e.g., "2026-03-16T10:30:00Z") when an on-demand snapshot checksum calculation is requested.
4097 When this value is set and is later than LastOnDemandSnapshotHashingCompleteAt, the system will calculate checksums
4098 for all user snapshots.
4099
4100 If SnapshotHashingRequestedAt differs from LastOnDemandSnapshotHashingCompleteAt, it indicates that a hashing request
4101 is still in progress, and a new request will be rejected.
4102 type: string
gio16bb6382025-05-21 18:42:40 +04004103 snapshotMaxCount:
4104 type: integer
4105 snapshotMaxSize:
4106 format: int64
4107 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004108 staleReplicaTimeout:
4109 type: integer
gio3e1b96b2026-07-21 18:52:35 +04004110 ublkNumberOfQueue:
4111 description: ublkNumberOfQueue controls the number of queues for ublk
4112 frontend.
4113 type: integer
4114 ublkQueueDepth:
4115 description: ublkQueueDepth controls the depth of each queue for ublk
4116 frontend.
4117 type: integer
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004118 unmapMarkSnapChainRemoved:
4119 enum:
4120 - ignored
4121 - disabled
4122 - enabled
4123 type: string
4124 type: object
4125 status:
4126 description: VolumeStatus defines the observed state of the Longhorn volume
4127 properties:
4128 actualSize:
4129 format: int64
4130 type: integer
4131 cloneStatus:
4132 properties:
gioc9b92b12025-05-22 08:57:18 +04004133 attemptCount:
4134 type: integer
4135 nextAllowedAttemptAt:
4136 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004137 snapshot:
4138 type: string
4139 sourceVolume:
4140 type: string
4141 state:
4142 type: string
4143 type: object
4144 conditions:
4145 items:
4146 properties:
4147 lastProbeTime:
4148 description: Last time we probed the condition.
4149 type: string
4150 lastTransitionTime:
gioc9b92b12025-05-22 08:57:18 +04004151 description: Last time the condition transitioned from one status
4152 to another.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004153 type: string
4154 message:
gioc9b92b12025-05-22 08:57:18 +04004155 description: Human-readable message indicating details about
4156 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004157 type: string
4158 reason:
gioc9b92b12025-05-22 08:57:18 +04004159 description: Unique, one-word, CamelCase reason for the condition's
4160 last transition.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004161 type: string
4162 status:
gio16bb6382025-05-21 18:42:40 +04004163 description: |-
4164 Status is the status of the condition.
4165 Can be True, False, Unknown.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004166 type: string
4167 type:
4168 description: Type is the type of the condition.
4169 type: string
4170 type: object
4171 nullable: true
4172 type: array
gio3e1b96b2026-07-21 18:52:35 +04004173 currentEngineNodeID:
4174 description: the node that the engine (target) is currently running
4175 on.
4176 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004177 currentImage:
4178 type: string
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04004179 currentMigrationNodeID:
4180 description: the node that this volume is currently migrating to
4181 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004182 currentNodeID:
4183 type: string
4184 expansionRequired:
4185 type: boolean
4186 frontendDisabled:
4187 type: boolean
4188 isStandby:
4189 type: boolean
4190 kubernetesStatus:
4191 properties:
4192 lastPVCRefAt:
4193 type: string
4194 lastPodRefAt:
4195 type: string
4196 namespace:
4197 description: determine if PVC/Namespace is history or not
4198 type: string
4199 pvName:
4200 type: string
4201 pvStatus:
4202 type: string
4203 pvcName:
4204 type: string
4205 workloadsStatus:
4206 description: determine if Pod/Workload is history or not
4207 items:
4208 properties:
4209 podName:
4210 type: string
4211 podStatus:
4212 type: string
4213 workloadName:
4214 type: string
4215 workloadType:
4216 type: string
4217 type: object
4218 nullable: true
4219 type: array
4220 type: object
gio3e1b96b2026-07-21 18:52:35 +04004221 lastAutoSalvagedAt:
4222 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004223 lastBackup:
4224 type: string
4225 lastBackupAt:
4226 type: string
4227 lastDegradedAt:
4228 type: string
gio3e1b96b2026-07-21 18:52:35 +04004229 lastOnDemandSnapshotHashingCompleteAt:
4230 description: |-
4231 LastOnDemandSnapshotHashingCompleteAt is the RFC3339 timestamp (e.g., "2026-03-16T10:30:00Z") when the
4232 most recent on-demand snapshot checksum calculation completed.
4233 When this value matches SnapshotHashingRequestedAt, the requested on-demand checksum calculation is considered complete.
4234 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004235 ownerID:
4236 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004237 remountRequestedAt:
4238 type: string
4239 restoreInitiated:
4240 type: boolean
4241 restoreRequired:
4242 type: boolean
4243 robustness:
4244 type: string
4245 shareEndpoint:
4246 type: string
4247 shareState:
4248 type: string
4249 state:
4250 type: string
gio3e1b96b2026-07-21 18:52:35 +04004251 switchoverState:
4252 description: |-
4253 SwitchoverState describes the current progress of a v2 engine live switchover.
4254 Empty when no switchover is in progress.
4255 type: string
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04004256 type: object
4257 type: object
4258 served: true
4259 storage: true
4260 subresources:
4261 status: {}