diff --git a/CHANGELOG.md b/CHANGELOG.md
index d109eddf..f237be76 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+### Changed
+
+- Changed schema to include a default nodeClass `default` used by a default nodePool `worker`. Customers and GS currently set these so they will be overwritten. These defaults are to be used by E2E tests. Other settings are defaulted in the chart such as Kubernetes version, VM template, catalog...
+
### Added
- Add teleport support to SSH into nodes (disabled by default)
diff --git a/README.md b/README.md
index 2a2bd732..8e67cf1f 100644
--- a/README.md
+++ b/README.md
@@ -6,6 +6,12 @@ This repository contains the Helm chart used for deploying CAPI clusters via [CA
- `cilium` as CNI in `kube-proxy` replacement mode (see [Limitations](#Limitations) section below)
- CPI and CSI for VMware Cloud Director
+## Cluster app components versions (defaults)
+
+| Cluster App Version | Kubernetes version | Flatcar Version | vApp Template Name | CPI / CSI | Comment |
+| ------------------- | ------------------ | --------------- | ------------------ | ----------- | ------- |
+| Update in release PR | v1.25.16 | 3602.2.1 | flatcar-stable-3602.2.1-kube-v1.25.16 | 1.2.0 / 1.3.2 |
+
## Authentication to VCD
Authentication to the VCD API is achieved as part of the cluster creation process to abide by user-defined resource quotas. It can be achieved by referencing a secret (preferred method) or specifying creds/token in the VCDCluster definition. **We only support referencing a secret in this app**.
@@ -100,3 +106,28 @@ k8sServiceHost: api.{{ include "resource.default.name" $ }}.{{ .Values.baseDomai
You can see it in [cilium-helmrelease.yaml](helm/cluster-cloud-director/templates/cilium-helmrelease.yaml).
This means cluster nodes won't come up Ready before this domain is set to the IP of the Kubernetes API server (it's defined in the `Cluster` CR under `.spec.controlPlaneEndpoint.host`). In Giant Swarm clusters we use [dns-operator-route53](https://github.com/giantswarm/dns-operator-route53) to create the records (public DNS resolution is then required).
+
+## Update chart's schema docs
+
+After making a change to the schema, run `schemadocs` to update the README documentation.
+
+https://github.com/giantswarm/schemadocs
+
+```yaml
+VALUES_SCHEMA=$(find ./helm -maxdepth 2 -name values.schema.json)
+CHART_README=$(find ./helm -maxdepth 2 -name README.md)
+
+schemadocs generate $VALUES_SCHEMA -o $CHART_README
+```
+
+## Generate values from schema
+
+Do not make changes to the `values.yaml` file manually. That file should be automatically generated from the schema.
+
+https://github.com/giantswarm/helm-values-gen
+
+```yaml
+cd helm/cluster-cloud-director
+
+helm-values-gen values.schema.json -o values.yaml -f
+```
\ No newline at end of file
diff --git a/helm/cluster-cloud-director/README.md b/helm/cluster-cloud-director/README.md
index 4ab55937..3e350e55 100644
--- a/helm/cluster-cloud-director/README.md
+++ b/helm/cluster-cloud-director/README.md
@@ -21,7 +21,7 @@ Properties within the `.internal` top-level object
| `internal.controllerManager.featureGates[*]` | **Feature gate**|**Type:** `object`
|
| `internal.controllerManager.featureGates[*].enabled` | **Enabled**|**Type:** `boolean`
|
| `internal.controllerManager.featureGates[*].name` | **Name**|**Type:** `string`
**Example:** `"UserNamespacesStatelessPodsSupport"`
**Value pattern:** `^[A-Za-z0-9]+$`
|
-| `internal.kubernetesVersion` | **Kubernetes version** - For cloud-init (Ubuntu), append the version with '+vmware.1'.|**Type:** `string`
|
+| `internal.kubernetesVersion` | **Kubernetes version** - For cloud-init (Ubuntu), append the version with '+vmware.1'.|**Type:** `string`
**Default:** `"v1.25.16"`|
| `internal.parentUid` | **Management cluster UID** - If set, create the cluster from a specific management cluster associated with this UID.|**Type:** `string`
|
| `internal.rdeId` | **Runtime defined entity (RDE) identifier** - This cluster's RDE ID in the VCD API.|**Type:** `string`
|
| `internal.sandboxContainerImage` | **Sandbox Container image (pause container)**|**Type:** `object`
|
@@ -92,7 +92,7 @@ Properties within the `.controlPlane` top-level object
| **Property** | **Description** | **More Details** |
| :----------- | :-------------- | :--------------- |
-| `controlPlane.catalog` | **Catalog** - Name of the VCD catalog in which the VM template is stored.|**Type:** `string`
**Example:** `"giantswarm"`
|
+| `controlPlane.catalog` | **Catalog** - Name of the VCD catalog in which the VM template is stored.|**Type:** `string`
**Default:** `"giantswarm"`|
| `controlPlane.certSANs` | **Subject alternative names (SAN)** - Alternative names to encode in the API server's certificate.|**Type:** `array`
|
| `controlPlane.certSANs[*]` | **SAN**|**Type:** `string`
|
| `controlPlane.customNodeLabels` | **Node labels**|**Type:** `array`
|
@@ -102,10 +102,10 @@ Properties within the `.controlPlane` top-level object
| `controlPlane.dns.imageRepository` | **Repository**|**Type:** `string`
**Default:** `"gsoci.azurecr.io/giantswarm"`|
| `controlPlane.dns.imageTag` | **Tag**|**Type:** `string`
**Default:** `"1.9.4-giantswarm"`|
| `controlPlane.etcd` | **Etcd container image**|**Type:** `object`
|
-| `controlPlane.etcd.imageRepository` | **Repository**|**Type:** `string`
**Example:** `"gsoci.azurecr.io/giantswarm"`
**Default:** `"gsoci.azurecr.io/giantswarm"`|
-| `controlPlane.etcd.imageTag` | **Tag**|**Type:** `string`
**Example:** `"3.5.4-0-k8s"`
**Default:** `"3.5.4-0-k8s"`|
-| `controlPlane.image` | **Node container image** - Set to 'giantswarm' for ignition (Flatcar) and 'projects.registry.vmware.com/tkg' for cloud-init (Ubuntu).|**Type:** `object`
|
-| `controlPlane.image.repository` | **Repository**|**Type:** `string`
**Default:** `"projects.registry.vmware.com/tkg"`|
+| `controlPlane.etcd.imageRepository` | **Repository**|**Type:** `string`
**Default:** `"gsoci.azurecr.io/giantswarm"`|
+| `controlPlane.etcd.imageTag` | **Tag**|**Type:** `string`
**Default:** `"3.5.4-0-k8s"`|
+| `controlPlane.image` | **Node container image** - Set to 'gsoci.azurecr.io/giantswarm' for ignition (Flatcar) and 'projects.registry.vmware.com/tkg' for cloud-init (Ubuntu).|**Type:** `object`
|
+| `controlPlane.image.repository` | **Repository**|**Type:** `string`
**Default:** `"gsoci.azurecr.io/giantswarm"`|
| `controlPlane.oidc` | **OIDC authentication**|**Type:** `object`
|
| `controlPlane.oidc.caFile` | **Certificate authority file** - Path to identity provider's CA certificate in PEM format.|**Type:** `string`
|
| `controlPlane.oidc.clientId` | **Client ID** - OIDC client identifier to identify with.|**Type:** `string`
|
@@ -119,7 +119,7 @@ Properties within the `.controlPlane` top-level object
| `controlPlane.resourceRatio` | **Resource ratio** - Ratio between node resources and apiserver resource requests.|**Type:** `integer`
**Default:** `8`|
| `controlPlane.sizingPolicy` | **Sizing policy** - Name of the VCD sizing policy to use.|**Type:** `string`
**Example:** `"m1.medium"`
|
| `controlPlane.storageProfile` | **Storage profile** - Name of the VCD storage profile to use.|**Type:** `string`
|
-| `controlPlane.template` | **Template** - Name of the template used to create the node VMs.|**Type:** `string`
**Example:** `"ubuntu-2004-kube-v1.22.5"`
|
+| `controlPlane.template` | **Template** - Name of the template used to create the node VMs.|**Type:** `string`
**Default:** `"flatcar-stable-3602.2.1-kube-v1.25.16"`|
### Kubectl image
Properties within the `.kubectlImage` top-level object
@@ -152,6 +152,9 @@ Groups of worker nodes with identical configuration.
| `nodePools.PATTERN` |**None**|**Type:** `object`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]{3,10}$`
|
| `nodePools.PATTERN.class` | **Node class** - A valid node class name, as specified in VMware Cloud Director (VCD) settings > Node classes.|**Type:** `string`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]{3,10}$`
**Value pattern:** `^[a-z0-9-]+$`
|
| `nodePools.PATTERN.replicas` | **Number of nodes**|**Type:** `integer`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]{3,10}$`
**Default:** `1`|
+| `nodePools.worker` | **Default nodePool**|**Type:** `object`
|
+| `nodePools.worker.class` | **Node class** - A valid node class name, as specified in VMware Cloud Director (VCD) settings > Node classes.|**Type:** `string`
**Default:** `"default"`|
+| `nodePools.worker.replicas` | **Number of nodes**|**Type:** `integer`
**Default:** `2`|
### Pod Security Standards
Properties within the `.global.podSecurityStandards` object
@@ -180,19 +183,33 @@ Properties within the `.providerSpecific` top-level object
| `providerSpecific.containerStorageInterface.storageClass.retain.vcdStorageProfileName` | **Name of storage profile in VCD**|**Type:** `string`
**Default:** `""`|
| `providerSpecific.nodeClasses` | **Node classes** - Re-usable node configuration.|**Type:** `object`
|
| `providerSpecific.nodeClasses.PATTERN` |**None**|**Type:** `object`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
|
-| `providerSpecific.nodeClasses.PATTERN.catalog` | **Catalog** - Name of the VCD catalog in which the VM template is stored.|**Type:** `string`
**Example:** `"giantswarm"`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
|
+| `providerSpecific.nodeClasses.PATTERN.catalog` | **Catalog** - Name of the VCD catalog in which the VM template is stored.|**Type:** `string`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
**Default:** `"giantswarm"`|
| `providerSpecific.nodeClasses.PATTERN.customNodeLabels` | **Node labels**|**Type:** `array`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
|
| `providerSpecific.nodeClasses.PATTERN.customNodeLabels[*]` | **Custom node label**|**Type:** `string`
**Example:** `"key=value"`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
**Value pattern:** `^[A-Za-z0-9-_\./]{1,63}=[A-Za-z0-9-_\.]{0,63}$`
|
| `providerSpecific.nodeClasses.PATTERN.customNodeTaints` | **Node taints**|**Type:** `array`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
|
| `providerSpecific.nodeClasses.PATTERN.customNodeTaints[*]` | **Custom node taint**|**Type:** `object`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
|
-| `providerSpecific.nodeClasses.PATTERN.customNodeTaints[*].effect` |One of NoSchedule, PreferNoSchedule or NoExecute|**Type:** `string`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
|
-| `providerSpecific.nodeClasses.PATTERN.customNodeTaints[*].key` |Name of the label on a node|**Type:** `string`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
|
-| `providerSpecific.nodeClasses.PATTERN.customNodeTaints[*].value` |value of the label identified by the key|**Type:** `string`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
|
+| `providerSpecific.nodeClasses.PATTERN.customNodeTaints[*].effect` | **Node taint effect** - One of NoSchedule, PreferNoSchedule or NoExecute.|**Type:** `string`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
|
+| `providerSpecific.nodeClasses.PATTERN.customNodeTaints[*].key` | **Node taint key** - Name of the label on a node.|**Type:** `string`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
|
+| `providerSpecific.nodeClasses.PATTERN.customNodeTaints[*].value` | **Node taint value** - Value of the label identified by the key.|**Type:** `string`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
|
| `providerSpecific.nodeClasses.PATTERN.diskSizeGB` | **Disk size**|**Type:** `integer`
**Example:** `30`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
|
| `providerSpecific.nodeClasses.PATTERN.placementPolicy` | **VM placement policy** - Name of the VCD VM placement policy to use.|**Type:** `string`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
|
| `providerSpecific.nodeClasses.PATTERN.sizingPolicy` | **Sizing policy** - Name of the VCD sizing policy to use.|**Type:** `string`
**Example:** `"m1.medium"`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
|
| `providerSpecific.nodeClasses.PATTERN.storageProfile` | **Storage profile** - Name of the VCD storage profile to use.|**Type:** `string`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
|
-| `providerSpecific.nodeClasses.PATTERN.template` | **Template** - Name of the template used to create the node VMs.|**Type:** `string`
**Example:** `"ubuntu-2004-kube-v1.22.5"`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
|
+| `providerSpecific.nodeClasses.PATTERN.template` | **Template** - Name of the template used to create the node VMs.|**Type:** `string`
**Key pattern:**
`PATTERN`=`^[a-z0-9-]+$`
**Default:** `"flatcar-stable-3602.2.1-kube-v1.25.16"`|
+| `providerSpecific.nodeClasses.default` | **Default nodeClass**|**Type:** `object`
|
+| `providerSpecific.nodeClasses.default.catalog` | **Catalog** - Name of the VCD catalog in which the VM template is stored.|**Type:** `string`
**Default:** `"giantswarm"`|
+| `providerSpecific.nodeClasses.default.customNodeLabels` | **Node labels**|**Type:** `array`
|
+| `providerSpecific.nodeClasses.default.customNodeLabels[*]` | **Custom node label**|**Type:** `string`
**Example:** `"key=value"`
**Value pattern:** `^[A-Za-z0-9-_\./]{1,63}=[A-Za-z0-9-_\.]{0,63}$`
|
+| `providerSpecific.nodeClasses.default.customNodeTaints` | **Node taints**|**Type:** `array`
|
+| `providerSpecific.nodeClasses.default.customNodeTaints[*]` | **Custom node taint**|**Type:** `object`
|
+| `providerSpecific.nodeClasses.default.customNodeTaints[*].effect` | **Node taint effect** - One of NoSchedule, PreferNoSchedule or NoExecute.|**Type:** `string`
|
+| `providerSpecific.nodeClasses.default.customNodeTaints[*].key` | **Node taint key** - Name of the label on a node.|**Type:** `string`
|
+| `providerSpecific.nodeClasses.default.customNodeTaints[*].value` | **Node taint value** - Value of the label identified by the key.|**Type:** `string`
|
+| `providerSpecific.nodeClasses.default.diskSizeGB` | **Disk size**|**Type:** `integer`
**Example:** `30`
|
+| `providerSpecific.nodeClasses.default.placementPolicy` | **VM placement policy** - Name of the VCD VM placement policy to use.|**Type:** `string`
|
+| `providerSpecific.nodeClasses.default.sizingPolicy` | **Sizing policy** - Name of the VCD sizing policy to use.|**Type:** `string`
**Example:** `"m1.medium"`
|
+| `providerSpecific.nodeClasses.default.storageProfile` | **Storage profile** - Name of the VCD storage profile to use.|**Type:** `string`
|
+| `providerSpecific.nodeClasses.default.template` | **Template** - Name of the template used to create the node VMs.|**Type:** `string`
**Default:** `"flatcar-stable-3602.2.1-kube-v1.25.16"`|
| `providerSpecific.org` | **Organization** - VCD organization name.|**Type:** `string`
|
| `providerSpecific.ovdc` | **OvDC name** - Name of the organization virtual datacenter (OvDC) to create this cluster in.|**Type:** `string`
|
| `providerSpecific.ovdcNetwork` | **OvDC network** - VCD network to connect VMs.|**Type:** `string`
|
@@ -200,7 +217,7 @@ Properties within the `.providerSpecific` top-level object
| `providerSpecific.userContext` | **VCD API access token**|**Type:** `object`
|
| `providerSpecific.userContext.secretRef` | **Secret reference**|**Type:** `object`
|
| `providerSpecific.userContext.secretRef.secretName` | **Name** - Name of the secret containing the VCD API token.|**Type:** `string`
|
-| `providerSpecific.vmBootstrapFormat` | **Ignition or cloud-init for OS initialization** - Select either 'ignition' for Flatcar or 'cloud-config' for other OSes (e.g. Ubuntu).|**Type:** `string`
**Default:** `"cloud-config"`|
+| `providerSpecific.vmBootstrapFormat` | **Ignition or cloud-init for OS initialization** - Select either 'ignition' for Flatcar or 'cloud-config' for other OSes (e.g. Ubuntu).|**Type:** `string`
**Default:** `"ignition"`|
| `providerSpecific.vmNamingTemplate` | **VM naming template** - Go template to specify the VM naming convention.|**Type:** `string`
**Example:** `"mytenant-{{ .machine.Name | sha256sum | trunc 7 }}"`
|
### Other
diff --git a/helm/cluster-cloud-director/templates/_helpers.tpl b/helm/cluster-cloud-director/templates/_helpers.tpl
index 02f8590f..9800cdf4 100644
--- a/helm/cluster-cloud-director/templates/_helpers.tpl
+++ b/helm/cluster-cloud-director/templates/_helpers.tpl
@@ -225,7 +225,7 @@ postKubeadmCommands:
{{- define "kubeadmConfigTemplateRevision" -}}
{{- $inputs := (dict
- "data" (include "kubeadmConfigTemplateSpec" .) ) }}
+ "data" (replace "\n\n" "\n" (include "kubeadmConfigTemplateSpec" .)) ) }}
{{- mustToJson $inputs | toString | quote | sha1sum | trunc 8 }}
{{- end -}}
diff --git a/helm/cluster-cloud-director/values.schema.json b/helm/cluster-cloud-director/values.schema.json
index fdb28eaf..b16a33ee 100644
--- a/helm/cluster-cloud-director/values.schema.json
+++ b/helm/cluster-cloud-director/values.schema.json
@@ -5,9 +5,7 @@
"type": "string",
"title": "Catalog",
"description": "Name of the VCD catalog in which the VM template is stored.",
- "examples": [
- "giantswarm"
- ]
+ "default": "giantswarm"
},
"cidrBlocks": {
"type": "array",
@@ -74,7 +72,8 @@
"properties": {
"effect": {
"type": "string",
- "description": "One of NoSchedule, PreferNoSchedule or NoExecute",
+ "title": "Node taint effect",
+ "description": "One of NoSchedule, PreferNoSchedule or NoExecute.",
"enum": [
"NoSchedule",
"PreferNoSchedule",
@@ -83,12 +82,14 @@
},
"key": {
"type": "string",
- "description": "Name of the label on a node",
+ "title": "Node taint key",
+ "description": "Name of the label on a node.",
"minLength": 1
},
"value": {
"type": "string",
- "description": "value of the label identified by the key"
+ "title": "Node taint value",
+ "description": "Value of the label identified by the key."
}
}
}
@@ -115,9 +116,7 @@
"type": "string",
"title": "Template",
"description": "Name of the template used to create the node VMs.",
- "examples": [
- "ubuntu-2004-kube-v1.22.5"
- ]
+ "default": "flatcar-stable-3602.2.1-kube-v1.25.16"
}
},
"type": "object",
@@ -466,8 +465,7 @@
"diskSizeGB": {
"$ref": "#/$defs/diskSizeGB",
"title": "Disk size",
- "description": "Control plane node root volume size, in GB.",
- "default": 30
+ "description": "Control plane node root volume size, in GB."
},
"dns": {
"type": "object",
@@ -494,17 +492,11 @@
"imageRepository": {
"type": "string",
"title": "Repository",
- "examples": [
- "gsoci.azurecr.io/giantswarm"
- ],
"default": "gsoci.azurecr.io/giantswarm"
},
"imageTag": {
"type": "string",
"title": "Tag",
- "examples": [
- "3.5.4-0-k8s"
- ],
"default": "3.5.4-0-k8s"
}
}
@@ -512,13 +504,13 @@
"image": {
"type": "object",
"title": "Node container image",
- "description": "Set to 'giantswarm' for ignition (Flatcar) and 'projects.registry.vmware.com/tkg' for cloud-init (Ubuntu).",
+ "description": "Set to 'gsoci.azurecr.io/giantswarm' for ignition (Flatcar) and 'projects.registry.vmware.com/tkg' for cloud-init (Ubuntu).",
"additionalProperties": false,
"properties": {
"repository": {
"type": "string",
"title": "Repository",
- "default": "projects.registry.vmware.com/tkg"
+ "default": "gsoci.azurecr.io/giantswarm"
}
}
},
@@ -692,7 +684,8 @@
"kubernetesVersion": {
"type": "string",
"title": "Kubernetes version",
- "description": "For cloud-init (Ubuntu), append the version with '+vmware.1'."
+ "description": "For cloud-init (Ubuntu), append the version with '+vmware.1'.",
+ "default": "v1.25.16"
},
"parentUid": {
"type": "string",
@@ -853,6 +846,27 @@
}
}
}
+ },
+ "properties": {
+ "worker": {
+ "type": "object",
+ "title": "Default nodePool",
+ "additionalProperties": false,
+ "properties": {
+ "class": {
+ "type": "string",
+ "title": "Node class",
+ "description": "A valid node class name, as specified in VMware Cloud Director (VCD) settings > Node classes.",
+ "default": "default"
+ },
+ "replicas": {
+ "type": "integer",
+ "title": "Number of nodes",
+ "default": 2,
+ "minimum": 1
+ }
+ }
+ }
}
},
"provider": {
@@ -976,8 +990,41 @@
},
"diskSizeGB": {
"$ref": "#/$defs/diskSizeGB",
- "description": "Node root volume size, in GB.",
- "default": 30
+ "description": "Node root volume size, in GB."
+ },
+ "placementPolicy": {
+ "$ref": "#/$defs/placementPolicy"
+ },
+ "sizingPolicy": {
+ "$ref": "#/$defs/sizingPolicy"
+ },
+ "storageProfile": {
+ "$ref": "#/$defs/storageProfile"
+ },
+ "template": {
+ "$ref": "#/$defs/template"
+ }
+ }
+ }
+ },
+ "properties": {
+ "default": {
+ "type": "object",
+ "title": "Default nodeClass",
+ "additionalProperties": false,
+ "properties": {
+ "catalog": {
+ "$ref": "#/$defs/catalog"
+ },
+ "customNodeLabels": {
+ "$ref": "#/$defs/nodeLabels"
+ },
+ "customNodeTaints": {
+ "$ref": "#/$defs/nodeTaints"
+ },
+ "diskSizeGB": {
+ "$ref": "#/$defs/diskSizeGB",
+ "description": "Node root volume size, in GB."
},
"placementPolicy": {
"$ref": "#/$defs/placementPolicy"
@@ -1042,7 +1089,7 @@
"cloud-config",
"ignition"
],
- "default": "cloud-config"
+ "default": "ignition"
},
"vmNamingTemplate": {
"type": "string",
diff --git a/helm/cluster-cloud-director/values.yaml b/helm/cluster-cloud-director/values.yaml
index 5ba722e2..c494a0de 100644
--- a/helm/cluster-cloud-director/values.yaml
+++ b/helm/cluster-cloud-director/values.yaml
@@ -22,7 +22,7 @@ connectivity:
sshTrustedUserCAKeys:
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM4cvZ01fLmO9cJbWUj7sfF+NhECgy+Cl0bazSrZX7sU vault-ca@vault.operations.giantswarm.io
controlPlane:
- diskSizeGB: 30
+ catalog: giantswarm
dns:
imageRepository: gsoci.azurecr.io/giantswarm
imageTag: 1.9.4-giantswarm
@@ -30,10 +30,11 @@ controlPlane:
imageRepository: gsoci.azurecr.io/giantswarm
imageTag: 3.5.4-0-k8s
image:
- repository: projects.registry.vmware.com/tkg
+ repository: gsoci.azurecr.io/giantswarm
oidc: {}
replicas: 1
resourceRatio: 8
+ template: flatcar-stable-3602.2.1-kube-v1.25.16
global:
podSecurityStandards:
enforced: true
@@ -55,6 +56,7 @@ internal:
enabled: true
controllerManager:
featureGates: []
+ kubernetesVersion: v1.25.16
sandboxContainerImage:
name: giantswarm/pause
registry: gsoci.azurecr.io
@@ -70,6 +72,10 @@ kubectlImage:
metadata:
preventDeletion: false
servicePriority: highest
+nodePools:
+ worker:
+ class: default
+ replicas: 2
providerSpecific:
cloudProviderInterface:
enableVirtualServiceSharedIP: true
@@ -84,6 +90,10 @@ providerSpecific:
retain:
isDefault: false
vcdStorageProfileName: ""
+ nodeClasses:
+ default:
+ catalog: giantswarm
+ template: flatcar-stable-3602.2.1-kube-v1.25.16
userContext:
secretRef: {}
- vmBootstrapFormat: cloud-config
+ vmBootstrapFormat: ignition