feat(kubernetes)!: rename ephemeralStorage to diskSize in node group config

Rename the ephemeralStorage field to diskSize in the NodeGroup typedef
and default values to reflect the upcoming switch from ephemeral
emptyDisk volumes to persistent dataVolumeTemplates for worker nodes.

BREAKING CHANGE: The nodeGroups.*.ephemeralStorage field has been renamed
to nodeGroups.*.diskSize. Users must update their values overrides.

Assisted-By: Claude <noreply@anthropic.com>
Signed-off-by: Arsolitt <arsolitt@gmail.com>
This commit is contained in:
Arsolitt 2026-04-22 13:09:52 +03:00
parent 7e887ed723
commit dfa6fd9911
No known key found for this signature in database
GPG key ID: 4D8302CE6A9247C4
5 changed files with 12 additions and 12 deletions

View file

@ -22,7 +22,7 @@ type ConfigSpec struct {
// +kubebuilder:default:="replicated"
StorageClass string `json:"storageClass"`
// Worker nodes configuration map.
// +kubebuilder:default:={"md0":{"ephemeralStorage":"20Gi","gpus":{},"instanceType":"u1.medium","maxReplicas":10,"minReplicas":0,"resources":{},"roles":{"ingress-nginx"}}}
// +kubebuilder:default:={"md0":{"diskSize":"20Gi","gpus":{},"instanceType":"u1.medium","maxReplicas":10,"minReplicas":0,"resources":{},"roles":{"ingress-nginx"}}}
NodeGroups map[string]NodeGroup `json:"nodeGroups,omitempty"`
// Kubernetes major.minor version to deploy
// +kubebuilder:default:="v1.35"
@ -197,9 +197,9 @@ type MonitoringAgentsAddon struct {
}
type NodeGroup struct {
// Ephemeral storage size.
// Persistent disk size for kubelet and containerd data.
// +kubebuilder:default:="20Gi"
EphemeralStorage resource.Quantity `json:"ephemeralStorage"`
DiskSize resource.Quantity `json:"diskSize"`
// List of GPUs to attach (NVIDIA driver requires at least 4 GiB RAM).
Gpus []GPU `json:"gpus,omitempty"`
// Virtual machine instance type.

View file

@ -97,7 +97,7 @@ See the reference for components utilized in this service:
| `nodeGroups[name].minReplicas` | Minimum number of replicas. | `int` | `0` |
| `nodeGroups[name].maxReplicas` | Maximum number of replicas. | `int` | `10` |
| `nodeGroups[name].instanceType` | Virtual machine instance type. | `string` | `u1.medium` |
| `nodeGroups[name].ephemeralStorage` | Ephemeral storage size. | `quantity` | `20Gi` |
| `nodeGroups[name].diskSize` | Persistent disk size for kubelet and containerd data. | `quantity` | `20Gi` |
| `nodeGroups[name].roles` | List of node roles. | `[]string` | `[]` |
| `nodeGroups[name].resources` | CPU and memory resources for each worker node. | `object` | `{}` |
| `nodeGroups[name].resources.cpu` | CPU available. | `quantity` | `""` |

View file

@ -12,7 +12,7 @@
"type": "object",
"default": {
"md0": {
"ephemeralStorage": "20Gi",
"diskSize": "20Gi",
"gpus": [],
"instanceType": "u1.medium",
"maxReplicas": 10,
@ -26,15 +26,15 @@
"additionalProperties": {
"type": "object",
"required": [
"ephemeralStorage",
"diskSize",
"instanceType",
"maxReplicas",
"minReplicas",
"resources"
],
"properties": {
"ephemeralStorage": {
"description": "Ephemeral storage size.",
"diskSize": {
"description": "Persistent disk size for kubelet and containerd data.",
"default": "20Gi",
"pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
"anyOf": [

View file

@ -29,7 +29,7 @@ storageClass: replicated
## @field {int} minReplicas=0 - Minimum number of replicas.
## @field {int} maxReplicas=10 - Maximum number of replicas.
## @field {string} instanceType="u1.medium" - Virtual machine instance type.
## @field {quantity} ephemeralStorage="20Gi" - Ephemeral storage size.
## @field {quantity} diskSize="20Gi" - Persistent disk size for kubelet and containerd data.
## @field {[]string} roles - List of node roles.
## @field {Resources} resources - CPU and memory resources for each worker node.
## @field {[]GPU} gpus - List of GPUs to attach (NVIDIA driver requires at least 4 GiB RAM).
@ -40,7 +40,7 @@ nodeGroups:
minReplicas: 0
maxReplicas: 10
instanceType: "u1.medium"
ephemeralStorage: 20Gi
diskSize: 20Gi
roles:
- ingress-nginx
resources: {}

File diff suppressed because one or more lines are too long