first commit
This commit is contained in:
@@ -0,0 +1,428 @@
|
||||
{
|
||||
"description": "Volume is where Longhorn stores volume object.",
|
||||
"properties": {
|
||||
"apiVersion": {
|
||||
"description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
|
||||
"type": "string"
|
||||
},
|
||||
"kind": {
|
||||
"description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
|
||||
"type": "string"
|
||||
},
|
||||
"metadata": {
|
||||
"type": "object"
|
||||
},
|
||||
"spec": {
|
||||
"description": "VolumeSpec defines the desired state of the Longhorn volume",
|
||||
"properties": {
|
||||
"Standby": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"accessMode": {
|
||||
"enum": [
|
||||
"rwo",
|
||||
"rwop",
|
||||
"rwx"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"backingImage": {
|
||||
"type": "string",
|
||||
"x-kubernetes-validations": [
|
||||
{
|
||||
"message": "BackingImage is immutable",
|
||||
"rule": "self == oldSelf"
|
||||
}
|
||||
]
|
||||
},
|
||||
"backupBlockSize": {
|
||||
"description": "BackupBlockSize indicate the block size to create backups. The block size is immutable.",
|
||||
"enum": [
|
||||
"2097152",
|
||||
"16777216"
|
||||
],
|
||||
"format": "int64",
|
||||
"type": "string"
|
||||
},
|
||||
"backupCompressionMethod": {
|
||||
"enum": [
|
||||
"none",
|
||||
"lz4",
|
||||
"gzip"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"backupTargetName": {
|
||||
"description": "The backup target name that the volume will be backed up to or is synced.",
|
||||
"type": "string"
|
||||
},
|
||||
"cloneMode": {
|
||||
"enum": [
|
||||
"",
|
||||
"full-copy",
|
||||
"linked-clone"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"dataEngine": {
|
||||
"enum": [
|
||||
"v1",
|
||||
"v2"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"dataLocality": {
|
||||
"enum": [
|
||||
"disabled",
|
||||
"best-effort",
|
||||
"strict-local"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"dataSource": {
|
||||
"type": "string"
|
||||
},
|
||||
"disableFrontend": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"diskSelector": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"encrypted": {
|
||||
"type": "boolean",
|
||||
"x-kubernetes-validations": [
|
||||
{
|
||||
"message": "Encrypted is immutable",
|
||||
"rule": "self == oldSelf"
|
||||
}
|
||||
]
|
||||
},
|
||||
"freezeFilesystemForSnapshot": {
|
||||
"description": "Setting that freezes the filesystem on the root partition before a snapshot is created.",
|
||||
"enum": [
|
||||
"ignored",
|
||||
"enabled",
|
||||
"disabled"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"fromBackup": {
|
||||
"type": "string"
|
||||
},
|
||||
"frontend": {
|
||||
"enum": [
|
||||
"blockdev",
|
||||
"iscsi",
|
||||
"nvmf",
|
||||
"ublk",
|
||||
""
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"image": {
|
||||
"type": "string"
|
||||
},
|
||||
"lastAttachedBy": {
|
||||
"type": "string"
|
||||
},
|
||||
"migratable": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"migrationNodeID": {
|
||||
"type": "string"
|
||||
},
|
||||
"nodeID": {
|
||||
"type": "string"
|
||||
},
|
||||
"nodeSelector": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"numberOfReplicas": {
|
||||
"type": "integer"
|
||||
},
|
||||
"offlineRebuilding": {
|
||||
"description": "Specifies whether Longhorn should rebuild replicas while the detached volume is degraded.\n- ignored: Use the global setting for offline replica rebuilding.\n- enabled: Enable offline rebuilding for this volume, regardless of the global setting.\n- disabled: Disable offline rebuilding for this volume, regardless of the global setting",
|
||||
"enum": [
|
||||
"ignored",
|
||||
"disabled",
|
||||
"enabled"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"rebuildConcurrentSyncLimit": {
|
||||
"description": "RebuildConcurrentSyncLimit controls the maximum number of file synchronization operations that can run\nconcurrently during a single replica rebuild.\nWhen set to 0, it means following the global setting.",
|
||||
"maximum": 5,
|
||||
"minimum": 0,
|
||||
"type": "integer"
|
||||
},
|
||||
"replicaAutoBalance": {
|
||||
"enum": [
|
||||
"ignored",
|
||||
"disabled",
|
||||
"least-effort",
|
||||
"best-effort"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"replicaDiskSoftAntiAffinity": {
|
||||
"description": "Replica disk soft anti affinity of the volume. Set enabled to allow replicas to be scheduled in the same disk.",
|
||||
"enum": [
|
||||
"ignored",
|
||||
"enabled",
|
||||
"disabled"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"replicaRebuildingBandwidthLimit": {
|
||||
"description": "ReplicaRebuildingBandwidthLimit controls the maximum write bandwidth (in megabytes per second) allowed on the destination replica during the rebuilding process. Set this value to 0 to disable bandwidth limiting.",
|
||||
"format": "int64",
|
||||
"minimum": 0,
|
||||
"type": "integer"
|
||||
},
|
||||
"replicaSoftAntiAffinity": {
|
||||
"description": "Replica soft anti affinity of the volume. Set enabled to allow replicas to be scheduled on the same node.",
|
||||
"enum": [
|
||||
"ignored",
|
||||
"enabled",
|
||||
"disabled"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"replicaZoneSoftAntiAffinity": {
|
||||
"description": "Replica zone soft anti affinity of the volume. Set enabled to allow replicas to be scheduled in the same zone.",
|
||||
"enum": [
|
||||
"ignored",
|
||||
"enabled",
|
||||
"disabled"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"restoreVolumeRecurringJob": {
|
||||
"enum": [
|
||||
"ignored",
|
||||
"enabled",
|
||||
"disabled"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"revisionCounterDisabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"size": {
|
||||
"format": "int64",
|
||||
"type": "string"
|
||||
},
|
||||
"snapshotDataIntegrity": {
|
||||
"enum": [
|
||||
"ignored",
|
||||
"disabled",
|
||||
"enabled",
|
||||
"fast-check"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"snapshotMaxCount": {
|
||||
"type": "integer"
|
||||
},
|
||||
"snapshotMaxSize": {
|
||||
"format": "int64",
|
||||
"type": "string"
|
||||
},
|
||||
"staleReplicaTimeout": {
|
||||
"type": "integer"
|
||||
},
|
||||
"ublkNumberOfQueue": {
|
||||
"description": "ublkNumberOfQueue controls the number of queues for ublk frontend.",
|
||||
"type": "integer"
|
||||
},
|
||||
"ublkQueueDepth": {
|
||||
"description": "ublkQueueDepth controls the depth of each queue for ublk frontend.",
|
||||
"type": "integer"
|
||||
},
|
||||
"unmapMarkSnapChainRemoved": {
|
||||
"enum": [
|
||||
"ignored",
|
||||
"disabled",
|
||||
"enabled"
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"status": {
|
||||
"description": "VolumeStatus defines the observed state of the Longhorn volume",
|
||||
"properties": {
|
||||
"actualSize": {
|
||||
"format": "int64",
|
||||
"type": "integer"
|
||||
},
|
||||
"cloneStatus": {
|
||||
"properties": {
|
||||
"attemptCount": {
|
||||
"type": "integer"
|
||||
},
|
||||
"nextAllowedAttemptAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"snapshot": {
|
||||
"type": "string"
|
||||
},
|
||||
"sourceVolume": {
|
||||
"type": "string"
|
||||
},
|
||||
"state": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"conditions": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"lastProbeTime": {
|
||||
"description": "Last time we probed the condition.",
|
||||
"type": "string"
|
||||
},
|
||||
"lastTransitionTime": {
|
||||
"description": "Last time the condition transitioned from one status to another.",
|
||||
"type": "string"
|
||||
},
|
||||
"message": {
|
||||
"description": "Human-readable message indicating details about last transition.",
|
||||
"type": "string"
|
||||
},
|
||||
"reason": {
|
||||
"description": "Unique, one-word, CamelCase reason for the condition's last transition.",
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"description": "Status is the status of the condition.\nCan be True, False, Unknown.",
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"description": "Type is the type of the condition.",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"nullable": true,
|
||||
"type": "array"
|
||||
},
|
||||
"currentImage": {
|
||||
"type": "string"
|
||||
},
|
||||
"currentMigrationNodeID": {
|
||||
"description": "the node that this volume is currently migrating to",
|
||||
"type": "string"
|
||||
},
|
||||
"currentNodeID": {
|
||||
"type": "string"
|
||||
},
|
||||
"expansionRequired": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"frontendDisabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"isStandby": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"kubernetesStatus": {
|
||||
"properties": {
|
||||
"lastPVCRefAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"lastPodRefAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"namespace": {
|
||||
"description": "determine if PVC/Namespace is history or not",
|
||||
"type": "string"
|
||||
},
|
||||
"pvName": {
|
||||
"type": "string"
|
||||
},
|
||||
"pvStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"pvcName": {
|
||||
"type": "string"
|
||||
},
|
||||
"workloadsStatus": {
|
||||
"description": "determine if Pod/Workload is history or not",
|
||||
"items": {
|
||||
"properties": {
|
||||
"podName": {
|
||||
"type": "string"
|
||||
},
|
||||
"podStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"workloadName": {
|
||||
"type": "string"
|
||||
},
|
||||
"workloadType": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"nullable": true,
|
||||
"type": "array"
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
},
|
||||
"lastBackup": {
|
||||
"type": "string"
|
||||
},
|
||||
"lastBackupAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"lastDegradedAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"ownerID": {
|
||||
"type": "string"
|
||||
},
|
||||
"remountRequestedAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"restoreInitiated": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"restoreRequired": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"robustness": {
|
||||
"type": "string"
|
||||
},
|
||||
"shareEndpoint": {
|
||||
"type": "string"
|
||||
},
|
||||
"shareState": {
|
||||
"type": "string"
|
||||
},
|
||||
"state": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
Reference in New Issue
Block a user