|
292 | 292 | "additionalProperties": false, |
293 | 293 | "type": "object" |
294 | 294 | }, |
295 | | - "ClusterStoresSyncConfig": { |
296 | | - "properties": { |
297 | | - "enabled": { |
298 | | - "type": "boolean", |
299 | | - "description": "Enabled defines if this option should be enabled." |
300 | | - }, |
301 | | - "selector": { |
302 | | - "$ref": "#/$defs/LabelSelector", |
303 | | - "description": "Selector defines what cluster stores should be synced" |
304 | | - } |
305 | | - }, |
306 | | - "additionalProperties": false, |
307 | | - "type": "object" |
308 | | - }, |
309 | 295 | "ContainerStorage": { |
310 | 296 | "properties": { |
311 | 297 | "path": { |
|
560 | 546 | "globalMetadata": { |
561 | 547 | "$ref": "#/$defs/ControlPlaneGlobalMetadata", |
562 | 548 | "description": "GlobalMetadata is metadata that will be added to all resources deployed by Helm." |
| 549 | + }, |
| 550 | + "kubeVip": { |
| 551 | + "$ref": "#/$defs/KubeVip", |
| 552 | + "description": "KubeVip holds configuration for embedded kube-vip that announces the virtual cluster endpoint IP on layer 2." |
563 | 553 | } |
564 | 554 | }, |
565 | 555 | "additionalProperties": false, |
|
947 | 937 | "dnsConfig": { |
948 | 938 | "$ref": "#/$defs/PodDNSConfig", |
949 | 939 | "description": "Specifies the DNS parameters of a pod." |
| 940 | + }, |
| 941 | + "initContainers": { |
| 942 | + "items": true, |
| 943 | + "type": "array", |
| 944 | + "description": "InitContainers are additional init containers for the statefulSet." |
| 945 | + }, |
| 946 | + "sidecarContainers": { |
| 947 | + "items": true, |
| 948 | + "type": "array", |
| 949 | + "description": "SidecarContainers are additional sidecar containers for the statefulSet." |
950 | 950 | } |
951 | 951 | }, |
952 | 952 | "additionalProperties": false, |
|
1130 | 1130 | }, |
1131 | 1131 | "dataSource": { |
1132 | 1132 | "type": "string", |
1133 | | - "description": "DataSource is the kine dataSource to use for the database. This depends on the database format.\nThis is optional for the embedded database. Examples:\n* mysql: mysql://username:password@tcp(hostname:3306)/k3s\n* postgres: postgres://username:password@hostname:5432/k3s" |
| 1133 | + "description": "DataSource is the kine dataSource to use for the database. This depends on the database format.\nThis is optional for the external database. Examples:\n* mysql: mysql://username:password@tcp(hostname:3306)/k3s\n* postgres: postgres://username:password@hostname:5432/k3s" |
| 1134 | + }, |
| 1135 | + "identityProvider": { |
| 1136 | + "type": "string", |
| 1137 | + "description": "IdentityProvider is the kine identity provider to use when generating temporary authentication tokens for enhanced security.\nThis is optional for the external database. Examples:\n* aws: RDS IAM Authentication" |
1134 | 1138 | }, |
1135 | 1139 | "keyFile": { |
1136 | 1140 | "type": "string", |
|
1211 | 1215 | "metricsServer": { |
1212 | 1216 | "$ref": "#/$defs/DeployMetricsServer", |
1213 | 1217 | "description": "MetricsServer holds dedicated metrics server configuration." |
| 1218 | + }, |
| 1219 | + "volumeSnapshotController": { |
| 1220 | + "$ref": "#/$defs/VolumeSnapshotController", |
| 1221 | + "description": "VolumeSnapshotController holds dedicated CSI snapshot-controller configuration." |
1214 | 1222 | } |
1215 | 1223 | }, |
1216 | 1224 | "additionalProperties": false, |
|
1370 | 1378 | "type": "string", |
1371 | 1379 | "description": "Name is the name of this NodePool" |
1372 | 1380 | }, |
1373 | | - "provider": { |
1374 | | - "type": "string", |
1375 | | - "description": "Provider is the node provider of the nodes in this pool." |
1376 | | - }, |
1377 | | - "requirements": { |
| 1381 | + "nodeTypeSelector": { |
1378 | 1382 | "items": { |
1379 | 1383 | "$ref": "#/$defs/Requirement" |
1380 | 1384 | }, |
1381 | 1385 | "type": "array", |
1382 | | - "description": "Requirements filter the types of nodes that can be provisioned by this pool.\nAll requirements must be met for a node type to be eligible." |
| 1386 | + "description": "NodeTypeSelector filters the types of nodes that can be provisioned by this pool.\nAll requirements must be met for a node type to be eligible." |
1383 | 1387 | }, |
1384 | 1388 | "taints": { |
1385 | 1389 | "items": { |
|
1422 | 1426 | "additionalProperties": false, |
1423 | 1427 | "type": "object", |
1424 | 1428 | "required": [ |
1425 | | - "name", |
1426 | | - "provider" |
| 1429 | + "name" |
1427 | 1430 | ] |
1428 | 1431 | }, |
1429 | 1432 | "DynamicNodePoolDisruption": { |
|
1465 | 1468 | "additionalProperties": false, |
1466 | 1469 | "type": "object" |
1467 | 1470 | }, |
| 1471 | + "EnableAutoSwitch": { |
| 1472 | + "properties": { |
| 1473 | + "enabled": { |
| 1474 | + "oneOf": [ |
| 1475 | + { |
| 1476 | + "type": "string" |
| 1477 | + }, |
| 1478 | + { |
| 1479 | + "type": "boolean" |
| 1480 | + } |
| 1481 | + ], |
| 1482 | + "description": "Enabled defines if this option should be enabled." |
| 1483 | + } |
| 1484 | + }, |
| 1485 | + "additionalProperties": false, |
| 1486 | + "type": "object" |
| 1487 | + }, |
1468 | 1488 | "EnableAutoSwitchWithPatches": { |
1469 | 1489 | "properties": { |
1470 | 1490 | "enabled": { |
|
1945 | 1965 | }, |
1946 | 1966 | "ExperimentalSyncSettings": { |
1947 | 1967 | "properties": { |
1948 | | - "targetNamespace": { |
1949 | | - "type": "string", |
1950 | | - "description": "TargetNamespace is the namespace where the workloads should get synced to.\nDeprecated: Removed in 0.29.0." |
1951 | | - }, |
1952 | 1968 | "setOwner": { |
1953 | 1969 | "type": "boolean", |
1954 | 1970 | "description": "SetOwner specifies if vCluster should set an owner reference on the synced objects to the vCluster service. This allows for easy garbage collection." |
|
2082 | 2098 | }, |
2083 | 2099 | "dataSource": { |
2084 | 2100 | "type": "string", |
2085 | | - "description": "DataSource is the kine dataSource to use for the database. This depends on the database format.\nThis is optional for the embedded database. Examples:\n* mysql: mysql://username:password@tcp(hostname:3306)/k3s\n* postgres: postgres://username:password@hostname:5432/k3s" |
| 2101 | + "description": "DataSource is the kine dataSource to use for the database. This depends on the database format.\nThis is optional for the external database. Examples:\n* mysql: mysql://username:password@tcp(hostname:3306)/k3s\n* postgres: postgres://username:password@hostname:5432/k3s" |
| 2102 | + }, |
| 2103 | + "identityProvider": { |
| 2104 | + "type": "string", |
| 2105 | + "description": "IdentityProvider is the kine identity provider to use when generating temporary authentication tokens for enhanced security.\nThis is optional for the external database. Examples:\n* aws: RDS IAM Authentication" |
2086 | 2106 | }, |
2087 | 2107 | "keyFile": { |
2088 | 2108 | "type": "string", |
|
2213 | 2233 | "fromHost": { |
2214 | 2234 | "$ref": "#/$defs/ExternalSecretsSyncFromHostConfig", |
2215 | 2235 | "description": "FromHost defines what resources are synced from the host cluster to the virtual cluster" |
2216 | | - }, |
2217 | | - "externalSecrets": { |
2218 | | - "$ref": "#/$defs/EnableSwitch", |
2219 | | - "description": "ExternalSecrets defines if external secrets should get synced from the virtual cluster to the host cluster." |
2220 | | - }, |
2221 | | - "stores": { |
2222 | | - "$ref": "#/$defs/EnableSwitch", |
2223 | | - "description": "Stores defines if secret stores should get synced from the virtual cluster to the host cluster and then bi-directionally.\nDeprecated: Use Integrations.ExternalSecrets.Sync.ToHost.Stores instead." |
2224 | | - }, |
2225 | | - "clusterStores": { |
2226 | | - "$ref": "#/$defs/ClusterStoresSyncConfig", |
2227 | | - "description": "ClusterStores defines if cluster secrets stores should get synced from the host cluster to the virtual cluster.\nDeprecated: Use Integrations.ExternalSecrets.Sync.FromHost.ClusterStores instead." |
2228 | 2236 | } |
2229 | 2237 | }, |
2230 | 2238 | "additionalProperties": false, |
|
2378 | 2386 | "istio": { |
2379 | 2387 | "$ref": "#/$defs/Istio", |
2380 | 2388 | "description": "Istio syncs DestinationRules, Gateways and VirtualServices from virtual cluster to the host." |
| 2389 | + }, |
| 2390 | + "netris": { |
| 2391 | + "type": "object", |
| 2392 | + "description": "Netris integration helps configuring netris networking for vCluster." |
2381 | 2393 | } |
2382 | 2394 | }, |
2383 | 2395 | "additionalProperties": false, |
|
2598 | 2610 | "additionalProperties": false, |
2599 | 2611 | "type": "object" |
2600 | 2612 | }, |
| 2613 | + "KubeVip": { |
| 2614 | + "properties": { |
| 2615 | + "enabled": { |
| 2616 | + "type": "boolean", |
| 2617 | + "description": "Enabled defines if embedded kube-vip should be enabled." |
| 2618 | + }, |
| 2619 | + "interface": { |
| 2620 | + "type": "string", |
| 2621 | + "description": "Interface is the network interface on which the VIP is announced." |
| 2622 | + }, |
| 2623 | + "gateway": { |
| 2624 | + "type": "string", |
| 2625 | + "description": "Gateway is the gateway address in CIDR notation (e.g., 10.100.0.1/24).\nThis is used to configure policy-based routing for the VIP and must include the subnet prefix." |
| 2626 | + } |
| 2627 | + }, |
| 2628 | + "additionalProperties": false, |
| 2629 | + "type": "object" |
| 2630 | + }, |
2601 | 2631 | "KubeVirt": { |
2602 | 2632 | "properties": { |
2603 | 2633 | "enabled": { |
|
3505 | 3535 | "description": "JoinNode holds configuration specifically used during joining the node (see \"kubeadm join\")." |
3506 | 3536 | }, |
3507 | 3537 | "autoNodes": { |
3508 | | - "$ref": "#/$defs/PrivateNodesAutoNodes", |
3509 | | - "description": "AutoNodes stores Auto Nodes configuration static and dynamic NodePools managed by Karpenter" |
| 3538 | + "items": { |
| 3539 | + "$ref": "#/$defs/PrivateNodesAutoNodes" |
| 3540 | + }, |
| 3541 | + "type": "array", |
| 3542 | + "description": "AutoNodes stores auto nodes configuration." |
3510 | 3543 | }, |
3511 | 3544 | "vpn": { |
3512 | 3545 | "$ref": "#/$defs/PrivateNodesVPN", |
|
3519 | 3552 | }, |
3520 | 3553 | "PrivateNodesAutoNodes": { |
3521 | 3554 | "properties": { |
| 3555 | + "provider": { |
| 3556 | + "type": "string", |
| 3557 | + "description": "Provider is the node provider of the nodes in this pool." |
| 3558 | + }, |
| 3559 | + "properties": { |
| 3560 | + "additionalProperties": { |
| 3561 | + "type": "string" |
| 3562 | + }, |
| 3563 | + "type": "object", |
| 3564 | + "description": "Properties are the node provider properties. This is a simple key value map and can contain things\nlike region, subscription, etc. that is then used by the node provider to create the nodes and node environment." |
| 3565 | + }, |
3522 | 3566 | "static": { |
3523 | 3567 | "items": { |
3524 | 3568 | "$ref": "#/$defs/StaticNodePool" |
|
3536 | 3580 | }, |
3537 | 3581 | "additionalProperties": false, |
3538 | 3582 | "type": "object", |
| 3583 | + "required": [ |
| 3584 | + "provider" |
| 3585 | + ], |
3539 | 3586 | "description": "PrivateNodesAutoNodes defines auto nodes" |
3540 | 3587 | }, |
3541 | 3588 | "PrivateNodesVPN": { |
|
3571 | 3618 | "clusterRole": { |
3572 | 3619 | "$ref": "#/$defs/RBACClusterRole", |
3573 | 3620 | "description": "ClusterRole holds virtual cluster cluster role configuration" |
| 3621 | + }, |
| 3622 | + "enableVolumeSnapshotRules": { |
| 3623 | + "$ref": "#/$defs/EnableAutoSwitch", |
| 3624 | + "description": "EnableVolumeSnapshotRules enables all required volume snapshot rules in the Role and\nClusterRole." |
3574 | 3625 | } |
3575 | 3626 | }, |
3576 | 3627 | "additionalProperties": false, |
|
4092 | 4143 | "type": "integer", |
4093 | 4144 | "description": "Quantity is the number of nodes to deploy for standalone mode." |
4094 | 4145 | }, |
4095 | | - "requirements": { |
| 4146 | + "nodeTypeSelector": { |
4096 | 4147 | "items": { |
4097 | 4148 | "$ref": "#/$defs/Requirement" |
4098 | 4149 | }, |
4099 | 4150 | "type": "array", |
4100 | | - "description": "Requirements filter the types of nodes that can be provisioned by this pool.\nAll requirements must be met for a node type to be eligible." |
| 4151 | + "description": "NodeTypeSelector filters the types of nodes that can be provisioned by this pool.\nAll requirements must be met for a node type to be eligible." |
4101 | 4152 | } |
4102 | 4153 | }, |
4103 | 4154 | "additionalProperties": false, |
|
4200 | 4251 | "type": "string", |
4201 | 4252 | "description": "Name is the name of this static nodePool" |
4202 | 4253 | }, |
4203 | | - "provider": { |
4204 | | - "type": "string", |
4205 | | - "description": "Provider is the node provider of the nodes in this pool." |
4206 | | - }, |
4207 | | - "requirements": { |
| 4254 | + "nodeTypeSelector": { |
4208 | 4255 | "items": { |
4209 | 4256 | "$ref": "#/$defs/Requirement" |
4210 | 4257 | }, |
4211 | 4258 | "type": "array", |
4212 | | - "description": "Requirements filter the types of nodes that can be provisioned by this pool.\nAll requirements must be met for a node type to be eligible." |
| 4259 | + "description": "NodeTypeSelector filters the types of nodes that can be provisioned by this pool.\nAll requirements must be met for a node type to be eligible." |
4213 | 4260 | }, |
4214 | 4261 | "taints": { |
4215 | 4262 | "items": { |
|
4238 | 4285 | "type": "object", |
4239 | 4286 | "required": [ |
4240 | 4287 | "name", |
4241 | | - "provider", |
4242 | 4288 | "quantity" |
4243 | 4289 | ] |
4244 | 4290 | }, |
|
4518 | 4564 | "$ref": "#/$defs/EnableSwitchWithPatches", |
4519 | 4565 | "description": "Endpoints defines if endpoints created within the virtual cluster should get synced to the host cluster." |
4520 | 4566 | }, |
| 4567 | + "endpointSlices": { |
| 4568 | + "$ref": "#/$defs/EnableSwitchWithPatches", |
| 4569 | + "description": "EndpointSlices defines if endpointslices created within the virtual cluster should get synced to the host cluster." |
| 4570 | + }, |
4521 | 4571 | "networkPolicies": { |
4522 | 4572 | "$ref": "#/$defs/EnableSwitchWithPatches", |
4523 | 4573 | "description": "NetworkPolicies defines if network policies created within the virtual cluster should get synced to the host cluster." |
|
4941 | 4991 | }, |
4942 | 4992 | "additionalProperties": false, |
4943 | 4993 | "type": "object" |
| 4994 | + }, |
| 4995 | + "VolumeSnapshotController": { |
| 4996 | + "properties": { |
| 4997 | + "enabled": { |
| 4998 | + "type": "boolean", |
| 4999 | + "description": "Enabled defines if the CSI volumes snapshot-controller should be enabled." |
| 5000 | + } |
| 5001 | + }, |
| 5002 | + "additionalProperties": false, |
| 5003 | + "type": "object", |
| 5004 | + "description": "VolumeSnapshotController defines CSI volumes snapshot-controller configuration." |
4944 | 5005 | } |
4945 | 5006 | }, |
4946 | 5007 | "properties": { |
|
0 commit comments