mirror of
https://github.com/cozystack/cozystack.git
synced 2026-11-09 05:25:14 +09:00
`make update` stripped `persistent: true` from upstream's
`preferredTPM: { persistent: true }`, leaving the parent key with a null value.
KubeVirt v1.6's CRD tolerated it; v1.8 (the operator version we bumped to in
6af0bf71) enforces structural schema and rejects null:
VirtualMachineClusterPreference "windows.11" is invalid:
spec.devices.preferredTPM: Invalid value: "null": spec.devices.preferredTPM
in body must be of type object: "null"
Stop stripping the line and regenerate the templates from upstream
common-instancetypes. Persistent TPM state falls back to the cluster default
StorageClass with RWO access mode when `vmStateStorageClass` is unset on the
KubeVirt CR, per pkg/storage/backend-storage/backend-storage.go.
Drive-by from the regen:
- Removed (upstream EOL): centos.7*, centos.stream8*
- Added: debian, oraclelinux, legacy, linux*, fedora.s390x, rhel.{9,10}.s390x,
windows.{xp,7,7.virtio,2k3,2k8,2k8.virtio,2k12,2k12.virtio}, plus new
cx1.*1gi and d1 instancetype variants.
Also regenerates packages/apps/vm-instance instanceProfile enum
(values.schema.json / README.md) from the refreshed preferences.yaml.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
250 lines
6.4 KiB
JSON
250 lines
6.4 KiB
JSON
{
|
|
"title": "Chart Values",
|
|
"type": "object",
|
|
"properties": {
|
|
"external": {
|
|
"description": "Enable external access from outside the cluster.",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"externalMethod": {
|
|
"description": "Method to pass through traffic to the VM.",
|
|
"type": "string",
|
|
"default": "PortList",
|
|
"enum": [
|
|
"PortList",
|
|
"WholeIP"
|
|
]
|
|
},
|
|
"externalPorts": {
|
|
"description": "Ports to forward from outside the cluster.",
|
|
"type": "array",
|
|
"default": [
|
|
22
|
|
],
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"externalAllowICMP": {
|
|
"description": "Whether to accept ICMP traffic to the VM in PortList mode (preserves ping and PMTU discovery). No effect in WholeIP mode. Default true so ping behaves as users expect even when port filtering is in effect.",
|
|
"type": "boolean",
|
|
"default": true
|
|
},
|
|
"runStrategy": {
|
|
"description": "Requested running state of the VirtualMachineInstance",
|
|
"type": "string",
|
|
"default": "Always",
|
|
"enum": [
|
|
"Always",
|
|
"Halted",
|
|
"Manual",
|
|
"RerunOnFailure",
|
|
"Once"
|
|
]
|
|
},
|
|
"instanceType": {
|
|
"description": "Virtual Machine instance type.",
|
|
"type": "string",
|
|
"default": "u1.medium"
|
|
},
|
|
"instanceProfile": {
|
|
"description": "Virtual Machine preferences profile.",
|
|
"type": "string",
|
|
"default": "ubuntu",
|
|
"enum": [
|
|
"alpine",
|
|
"centos.stream10",
|
|
"centos.stream10.desktop",
|
|
"centos.stream9",
|
|
"centos.stream9.desktop",
|
|
"centos.stream9.dpdk",
|
|
"cirros",
|
|
"debian",
|
|
"fedora",
|
|
"fedora.arm64",
|
|
"fedora.s390x",
|
|
"legacy",
|
|
"linux",
|
|
"linux.efi",
|
|
"linux.virtiotransitional",
|
|
"opensuse.leap",
|
|
"opensuse.tumbleweed",
|
|
"oraclelinux",
|
|
"rhel.10",
|
|
"rhel.10.arm64",
|
|
"rhel.10.s390x",
|
|
"rhel.7",
|
|
"rhel.7.desktop",
|
|
"rhel.8",
|
|
"rhel.8.desktop",
|
|
"rhel.8.dpdk",
|
|
"rhel.9",
|
|
"rhel.9.arm64",
|
|
"rhel.9.desktop",
|
|
"rhel.9.dpdk",
|
|
"rhel.9.realtime",
|
|
"rhel.9.s390x",
|
|
"sles",
|
|
"ubuntu",
|
|
"windows.10",
|
|
"windows.10.virtio",
|
|
"windows.11",
|
|
"windows.11.virtio",
|
|
"windows.2k12",
|
|
"windows.2k12.virtio",
|
|
"windows.2k16",
|
|
"windows.2k16.virtio",
|
|
"windows.2k19",
|
|
"windows.2k19.virtio",
|
|
"windows.2k22",
|
|
"windows.2k22.virtio",
|
|
"windows.2k25",
|
|
"windows.2k25.virtio",
|
|
"windows.2k3",
|
|
"windows.2k8",
|
|
"windows.2k8.virtio",
|
|
"windows.7",
|
|
"windows.7.virtio",
|
|
"windows.xp",
|
|
""
|
|
]
|
|
},
|
|
"disks": {
|
|
"description": "List of disks to attach.",
|
|
"type": "array",
|
|
"default": [],
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"bus": {
|
|
"description": "Disk bus type (e.g. \"sata\").",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "Disk name.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"networks": {
|
|
"description": "Networks to attach the VM to.",
|
|
"type": "array",
|
|
"default": [],
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"description": "Network attachment name.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"subnets": {
|
|
"description": "Deprecated: use networks instead.",
|
|
"type": "array",
|
|
"default": [],
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"description": "Network attachment name.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"gpus": {
|
|
"description": "List of GPUs to attach (NVIDIA driver requires at least 4 GiB RAM).",
|
|
"type": "array",
|
|
"default": [],
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"description": "The name of the GPU resource to attach.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"cpuModel": {
|
|
"description": "Model specifies the CPU model inside the VMI. List of available models https://github.com/libvirt/libvirt/tree/master/src/cpu_map",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"resources": {
|
|
"description": "Resource configuration for the virtual machine.",
|
|
"type": "object",
|
|
"default": {},
|
|
"properties": {
|
|
"cpu": {
|
|
"description": "Number of CPU cores allocated.",
|
|
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
],
|
|
"x-kubernetes-int-or-string": true
|
|
},
|
|
"memory": {
|
|
"description": "Amount of memory allocated.",
|
|
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
],
|
|
"x-kubernetes-int-or-string": true
|
|
},
|
|
"sockets": {
|
|
"description": "Number of CPU sockets (vCPU topology).",
|
|
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
],
|
|
"x-kubernetes-int-or-string": true
|
|
}
|
|
}
|
|
},
|
|
"sshKeys": {
|
|
"description": "List of SSH public keys for authentication.",
|
|
"type": "array",
|
|
"default": [],
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"cloudInit": {
|
|
"description": "Cloud-init user data.",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"cloudInitSeed": {
|
|
"description": "Seed string to generate SMBIOS UUID for the VM.",
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
}
|
|
}
|