diff --git a/docs/input-manifest/example.md b/docs/input-manifest/example.md index 9a8f34ce1..6772bfbc9 100644 --- a/docs/input-manifest/example.md +++ b/docs/input-manifest/example.md @@ -2,7 +2,7 @@ apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: ExampleManifest + name: example-manifest labels: app.kubernetes.io/part-of: claudie spec: diff --git a/docs/input-manifest/external-templates.md b/docs/input-manifest/external-templates.md index 3cef29011..127b8bf3d 100644 --- a/docs/input-manifest/external-templates.md +++ b/docs/input-manifest/external-templates.md @@ -93,7 +93,7 @@ Rolling updates of nodepools are performed when a change to a provider's externa apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: HetznerExampleManifest + name: hetzner-example-manifest labels: app.kubernetes.io/part-of: claudie spec: @@ -166,4 +166,4 @@ spec: compute: - compute-1-htz - compute-2-htz -``` \ No newline at end of file +``` diff --git a/docs/input-manifest/providers/aws.md b/docs/input-manifest/providers/aws.md index ccba1de87..9ba924677 100644 --- a/docs/input-manifest/providers/aws.md +++ b/docs/input-manifest/providers/aws.md @@ -97,7 +97,7 @@ kubectl create secret generic aws-secret-1 --namespace=mynamespace --from-litera apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: AWSExampleManifest + name: aws-example-manifest labels: app.kubernetes.io/part-of: claudie spec: @@ -183,7 +183,7 @@ kubectl create secret generic aws-secret-2 --namespace=mynamespace --from-litera apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: AWSExampleManifest + name: aws-example-manifest labels: app.kubernetes.io/part-of: claudie spec: diff --git a/docs/input-manifest/providers/azure.md b/docs/input-manifest/providers/azure.md index b934cc854..4e8af0180 100644 --- a/docs/input-manifest/providers/azure.md +++ b/docs/input-manifest/providers/azure.md @@ -92,7 +92,7 @@ kubectl create secret generic azure-secret-1 --namespace=mynamespace --from-lite apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: AzureExampleManifest + name: azure-example-manifest labels: app.kubernetes.io/part-of: claudie spec: @@ -170,11 +170,10 @@ kubectl create secret generic azure-secret-2 --namespace=mynamespace --from-lite ``` ```yaml -name: AzureExampleManifest apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: AzureExampleManifest + name: azure-example-manifest labels: app.kubernetes.io/part-of: claudie spec: diff --git a/docs/input-manifest/providers/cloudflare.md b/docs/input-manifest/providers/cloudflare.md index bceefc9e1..6b5f858db 100644 --- a/docs/input-manifest/providers/cloudflare.md +++ b/docs/input-manifest/providers/cloudflare.md @@ -49,7 +49,7 @@ kubectl create secret generic aws-secret-1 --namespace=mynamespace --from-litera apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: CloudflareExampleManifest + name: cloudflare-example-manifest labels: app.kubernetes.io/part-of: claudie spec: @@ -105,4 +105,4 @@ spec: pools: - loadbalancer -``` \ No newline at end of file +``` diff --git a/docs/input-manifest/providers/gcp.md b/docs/input-manifest/providers/gcp.md index ba0f3b7cd..bafbe2213 100644 --- a/docs/input-manifest/providers/gcp.md +++ b/docs/input-manifest/providers/gcp.md @@ -84,7 +84,7 @@ kubectl create secret generic gcp-secret-1 --namespace=mynamespace --from-litera apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: GCPExampleManifest + name: gcp-example-manifest labels: app.kubernetes.io/part-of: claudie spec: @@ -168,7 +168,7 @@ kubectl create secret generic gcp-secret-2 --namespace=mynamespace --from-litera apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: GCPExampleManifest + name: gcp-example-manifest labels: app.kubernetes.io/part-of: claudie spec: diff --git a/docs/input-manifest/providers/hetzner.md b/docs/input-manifest/providers/hetzner.md index 6a6076d43..1348fdb5a 100644 --- a/docs/input-manifest/providers/hetzner.md +++ b/docs/input-manifest/providers/hetzner.md @@ -57,7 +57,7 @@ kubectl create secret generic hetzner-secret-1 --namespace=mynamespace --from-li apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: HetznerExampleManifest + name: hetzner-example-manifest labels: app.kubernetes.io/part-of: claudie spec: @@ -140,7 +140,7 @@ kubectl create secret generic hetzner-secret-2 --namespace=mynamespace --from-li apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: HetznerExampleManifest + name: hetzner-example-manifest labels: app.kubernetes.io/part-of: claudie spec: diff --git a/docs/input-manifest/providers/oci.md b/docs/input-manifest/providers/oci.md index e794135c4..a8f8bc41c 100644 --- a/docs/input-manifest/providers/oci.md +++ b/docs/input-manifest/providers/oci.md @@ -130,7 +130,7 @@ kubectl create secret generic oci-secret-1 --namespace=mynamespace --from-litera apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: OCIExampleManifest + name: oci-example-manifest labels: app.kubernetes.io/part-of: claudie spec: @@ -218,7 +218,7 @@ kubectl create secret generic oci-secret-2 --namespace=mynamespace --from-litera apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: OCIExampleManifest + name: oci-example-manifest labels: app.kubernetes.io/part-of: claudie spec: @@ -325,7 +325,7 @@ kubectl create secret generic oci-secret-1 --namespace=mynamespace --from-litera apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: OCIExampleManifest + name: oci-example-manifest labels: app.kubernetes.io/part-of: claudie spec: diff --git a/docs/input-manifest/providers/on-prem.md b/docs/input-manifest/providers/on-prem.md index 9138782f0..cdf473b76 100644 --- a/docs/input-manifest/providers/on-prem.md +++ b/docs/input-manifest/providers/on-prem.md @@ -36,7 +36,7 @@ kubectl create secret generic static-node-key --namespace=mynamespace --from-fil apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: PrivateClusterExample + name: private-cluster-example labels: app.kubernetes.io/part-of: claudie spec: @@ -86,7 +86,7 @@ kubectl create secret generic static-node-key --namespace=mynamespace --from-fil apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: HybridCloudExample + name: hybrid-cloud-example labels: app.kubernetes.io/part-of: claudie spec: diff --git a/docs/storage/storage-solution.md b/docs/storage/storage-solution.md index b53b9011e..4dc962b1a 100644 --- a/docs/storage/storage-solution.md +++ b/docs/storage/storage-solution.md @@ -24,7 +24,7 @@ To follow along, have a look at the example of `InputManifest` below. apiVersion: claudie.io/v1beta1 kind: InputManifest metadata: - name: ExampleManifestForStorageClasses + name: storageclass-example-manifest labels: app.kubernetes.io/part-of: claudie spec: diff --git a/docs/version-matrix/version-matrix.md b/docs/version-matrix/version-matrix.md index 3eb53188a..a4629ac98 100644 --- a/docs/version-matrix/version-matrix.md +++ b/docs/version-matrix/version-matrix.md @@ -10,3 +10,4 @@ In the following table, you can find the supported Kubernetes and OS versions fo | v0.8.0 | 1.25.x, 1.26.x, 1.27.x | Ubuntu 22.04 | | v0.8.1 | 1.27.x, 1.28.x, 1.29.x | Ubuntu 22.04 | | v0.9.0 | 1.27.x, 1.28.x, 1.29.x, 1.30.x | Ubuntu 22.04 (Ubuntu 24.04 on Hetzner and Azure) | +| v0.9.1 | 1.29.x, 1.30.x 1.31.x | Ubuntu 22.04 (Ubuntu 24.04 on Hetzner and Azure) | diff --git a/internal/manifest/validate.go b/internal/manifest/validate.go index 9883200f2..7370fb67d 100644 --- a/internal/manifest/validate.go +++ b/internal/manifest/validate.go @@ -84,7 +84,7 @@ func prettyPrintValidationError(err error) error { case "cidrv4": nerr = fmt.Errorf("field '%s' is required to have a valid CIDRv4 value", err.StructField()) case "ver": - nerr = fmt.Errorf("field '%s' is required to have a kubernetes version of: 1.27.x, 1.28.x, 1.29.x, 1.30.x", err.StructField()) + nerr = fmt.Errorf("field '%s' is required to have a kubernetes version of: 1.29.x, 1.30.x, 1.31.x", err.StructField()) case "proxyMode": nerr = fmt.Errorf("field '%s' is required to have a valid proxy mode value of \"on\", \"off\", \"default\"", err.StructField()) case "semver2": diff --git a/internal/manifest/validate_kubernetes.go b/internal/manifest/validate_kubernetes.go index d56f3e791..0a24b81c8 100644 --- a/internal/manifest/validate_kubernetes.go +++ b/internal/manifest/validate_kubernetes.go @@ -14,7 +14,7 @@ var ( // NOTE: // first/second capturing group MUST be changed whenever new kubeone version is introduced in Claudie // so validation will catch unsupported versions - kubernetesVersionRegexString = `^(1)\.(27|28|29|30)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$` + kubernetesVersionRegexString = `^(1)\.(29|30|31)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$` // semverRegex is a regex using the semverRegexString. // It's used to verify the version inside the manifest,