Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kubeone for openSUSE:Factory checked in at 2026-08-06 16:44:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kubeone (Old) and /work/SRC/openSUSE:Factory/.kubeone.new.16738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kubeone" Thu Aug 6 16:44:29 2026 rev:17 rq:1369942 version:1.14.1 Changes: -------- --- /work/SRC/openSUSE:Factory/kubeone/kubeone.changes 2026-07-28 18:18:42.844220392 +0200 +++ /work/SRC/openSUSE:Factory/.kubeone.new.16738/kubeone.changes 2026-08-06 16:44:31.506850661 +0200 @@ -1,0 +2,11 @@ +Thu Aug 06 05:07:44 UTC 2026 - Johannes Kastl <[email protected]> + +- Update to version 1.14.1: + * Updates + - Update Machine-controller to v1.66.1 by @archups in #4157 + - Update cilium to v1.19.6 by @kron4eg in #4163 + * Bug or Regression + - Update Helm dry run strategy on release upgrade by @kron4eg + in #4168 + +------------------------------------------------------------------- Old: ---- kubeone-1.14.0.obscpio New: ---- kubeone-1.14.1.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kubeone.spec ++++++ --- /var/tmp/diff_new_pack.NxjWAz/_old 2026-08-06 16:44:37.935071963 +0200 +++ /var/tmp/diff_new_pack.NxjWAz/_new 2026-08-06 16:44:37.939072098 +0200 @@ -20,7 +20,7 @@ %define KUBERNETES_STABLE_VERSION v1.36.3 Name: kubeone -Version: 1.14.0 +Version: 1.14.1 Release: 0 Summary: CLI for the kubeone cluster automation License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.NxjWAz/_old 2026-08-06 16:44:38.019074790 +0200 +++ /var/tmp/diff_new_pack.NxjWAz/_new 2026-08-06 16:44:38.027075060 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/kubermatic/kubeone.git</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">refs/tags/v1.14.0</param> + <param name="revision">refs/tags/v1.14.1</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.NxjWAz/_old 2026-08-06 16:44:38.055076002 +0200 +++ /var/tmp/diff_new_pack.NxjWAz/_new 2026-08-06 16:44:38.059076137 +0200 @@ -3,6 +3,6 @@ <param name="url">https://github.com/kubermatic/kubeone</param> <param name="changesrevision">0ddfa74352d989967604c03742f82d5f98f39f6f</param></service><service name="tar_scm"> <param name="url">https://github.com/kubermatic/kubeone.git</param> - <param name="changesrevision">5f9f3ba49ed2cb5ac1b9b0911592576c58c34056</param></service></servicedata> + <param name="changesrevision">0a2579a99dd815db0dce1ea40bfb8d6542400d0e</param></service></servicedata> (No newline at EOF) ++++++ kubeone-1.14.0.obscpio -> kubeone-1.14.1.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/.golangci.yml new/kubeone-1.14.1/.golangci.yml --- old/kubeone-1.14.0/.golangci.yml 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/.golangci.yml 2026-08-05 14:41:17.000000000 +0200 @@ -97,9 +97,12 @@ - examples$ formatters: enable: - - gofmt + - gofumpt - goimports settings: + gofumpt: + module-path: k8c.io/kubeone + extra-rules: true goimports: local-prefixes: - k8c.io diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/CHANGELOG/CHANGELOG-1.13.md new/kubeone-1.14.1/CHANGELOG/CHANGELOG-1.13.md --- old/kubeone-1.14.0/CHANGELOG/CHANGELOG-1.13.md 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/CHANGELOG/CHANGELOG-1.13.md 2026-08-05 14:41:17.000000000 +0200 @@ -1,3 +1,21 @@ +# [v1.13.6](https://github.com/kubermatic/kubeone/releases/tag/v1.13.6) - 2026-08-05 + +## Changelog since v1.13.5 + +## Changes by Kind + +### Fixes of Bugs or Regressions + +- Prevent Gateway controllers from recreating LoadBalancer Services during reset [#4086](https://github.com/kubermatic/kubeone/pull/4086) +- Fix Helm dry run strategy on release upgrade [#4169](https://github.com/kubermatic/kubeone/pull/4169) + +### Updates + +- Upgrade golang.org/x/crypto v0.52.0 [#4093](https://github.com/kubermatic/kubeone/pull/4093) +- Update Machine-controller to [v1.65.5] (https://github.com/kubermatic/machine-controller/releases/tag/v1.65.5) [#4158](https://github.com/kubermatic/kubeone/pull/4158) +- Update cilium to v1.19.6 [4160](https://github.com/kubermatic/kubeone/pull/4160) +- Upgrade to helm4 [#4159](https://github.com/kubermatic/kubeone/pull/4159) + # [v1.13.5](https://github.com/kubermatic/kubeone/releases/tag/v1.13.5) - 2026-05-13 ## Changelog since v1.13.4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/CHANGELOG/CHANGELOG-1.14.md new/kubeone-1.14.1/CHANGELOG/CHANGELOG-1.14.md --- old/kubeone-1.14.0/CHANGELOG/CHANGELOG-1.14.md 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/CHANGELOG/CHANGELOG-1.14.md 2026-08-05 14:41:17.000000000 +0200 @@ -1,7 +1,29 @@ +# [v1.14.1](https://github.com/kubermatic/kubeone/releases/tag/v1.14.1) - 2026-08-05 + +## Changelog since v1.14.0 + +## Changes by Kind + +### Updates + +- Update Machine-controller to [v1.66.1](https://github.com/kubermatic/machine-controller/releases/tag/v1.66.1) by [@archups](https://github.com/archups) in [#4157](https://github.com/kubermatic/kubeone/pull/4157) +- Update cilium to v1.19.6 by [@kron4eg](https://github.com/kron4eg) in [#4163](https://github.com/kubermatic/kubeone/pull/4163) + +### Bug or Regression + +- Update Helm dry run strategy on release upgrade by [@kron4eg](https://github.com/kron4eg) in [#4168](https://github.com/kubermatic/kubeone/pull/4168) + # [v1.14.0](https://github.com/kubermatic/kubeone/releases/tag/v1.14.0) - 2026-07-27 ## Changelog since v1.13.0 +## Urgent and BREAKING Upgrade Notes + +### (No, really, you MUST read this before you upgrade) + +- Support for Kubernetes **1.33** has been removed. KubeOne v1.14 supports Kubernetes versions **1.34, 1.35, and 1.36**. Before upgrading KubeOne, ensure your clusters are running Kubernetes v1.34 or newer. ([#4096](https://github.com/kubermatic/kubeone/pull/4096), [@kron4eg](https://github.com/kron4eg)) +- All CCM/CSI migration tooling has been removed. The `kubeone migrate to-ccm-csi` command is now a no-op (kept only for backward compatibility) since Kubernetes has fully moved on from in-tree cloud providers and CSI migration. If any of your clusters are still running with the in-tree cloud provider (`.cloudProvider.external: false`) and haven't completed the CCM/CSI migration, complete it using KubeOne v1.13 or earlier **before** upgrading to v1.14. ([#4096](https://github.com/kubermatic/kubeone/pull/4096), [@kron4eg](https://github.com/kron4eg)) + ## Changes by Kind ### Feature diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/Makefile new/kubeone-1.14.1/Makefile --- old/kubeone-1.14.0/Makefile 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/Makefile 2026-08-05 14:41:17.000000000 +0200 @@ -60,9 +60,13 @@ .PHONY: build build: dist/kubeone +.PHONY: snapshot +snapshot: + go build -ldflags='$(GOLDFLAGS)' -v -o dist/kubeone-$(GITTAG) . + .PHONY: clean clean: - rm -f dist/kubeone + rm -f dist/ .PHONY: vendor vendor: buildenv @@ -134,7 +138,12 @@ tffmt: terraform fmt -write=true -recursive . -fmt: shfmt prowfmt tffmt +.PHONY: gofmt +gofmt: + gofumpt -l -w -extra . + git checkout pkg/apis/kubeadm + +fmt: shfmt prowfmt tffmt gofmt gogenerate: go generate ./pkg/... diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/addons/cni-cilium/Kustomization new/kubeone-1.14.1/addons/cni-cilium/Kustomization --- old/kubeone-1.14.0/addons/cni-cilium/Kustomization 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/addons/cni-cilium/Kustomization 2026-08-05 14:41:17.000000000 +0200 @@ -5,7 +5,7 @@ helmCharts: - name: cilium repo: https://helm.cilium.io/ - version: 1.19.4 + version: 1.19.6 releaseName: cilium namespace: kube-system valuesFile: helm-values @@ -56,6 +56,11 @@ name: cilium-config key: KUBERNETES_SERVICE_PORT optional: true + ports: + - containerPort: 4244 + hostPort: 4244 + name: peer-service + protocol: TCP volumeMounts: - name: hubble-tls mountPath: /var/lib/cilium/tls/hubble diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/addons/cni-cilium/cilium.yaml new/kubeone-1.14.1/addons/cni-cilium/cilium.yaml --- old/kubeone-1.14.0/addons/cni-cilium/cilium.yaml 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/addons/cni-cilium/cilium.yaml 2026-08-05 14:41:17.000000000 +0200 @@ -1221,6 +1221,10 @@ timeoutSeconds: 5 name: cilium-agent ports: + - containerPort: 4244 + hostPort: 4244 + name: peer-service + protocol: TCP - containerPort: 9879 hostPort: 9879 name: health diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/addons/cni-cilium/hubble.yaml new/kubeone-1.14.1/addons/cni-cilium/hubble.yaml --- old/kubeone-1.14.0/addons/cni-cilium/hubble.yaml 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/addons/cni-cilium/hubble.yaml 2026-08-05 14:41:17.000000000 +0200 @@ -353,12 +353,15 @@ port: 4222 timeoutSeconds: 3 securityContext: + allowPrivilegeEscalation: false capabilities: drop: - ALL runAsGroup: 65532 runAsNonRoot: true runAsUser: 65532 + seccompProfile: + type: RuntimeDefault startupProbe: failureThreshold: 20 grpc: @@ -379,6 +382,8 @@ restartPolicy: Always securityContext: fsGroup: 65532 + seccompProfile: + type: RuntimeDefault serviceAccountName: hubble-relay terminationGracePeriodSeconds: 1 volumes: @@ -435,7 +440,7 @@ livenessProbe: httpGet: path: /healthz - port: 8081 + port: http name: frontend ports: - containerPort: 8081 @@ -443,7 +448,9 @@ readinessProbe: httpGet: path: / - port: 8081 + port: http + securityContext: + allowPrivilegeEscalation: false terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/nginx/conf.d/default.conf @@ -462,6 +469,8 @@ ports: - containerPort: 8090 name: grpc + securityContext: + allowPrivilegeEscalation: false terminationMessagePolicy: FallbackToLogsOnError volumeMounts: null nodeSelector: @@ -491,6 +500,7 @@ namespace: kube-system spec: concurrencyPolicy: Forbid + failedJobsHistoryLimit: 1 jobTemplate: spec: template: @@ -498,7 +508,6 @@ labels: k8s-app: hubble-generate-certs spec: - affinity: null automountServiceAccountToken: true containers: - args: @@ -547,16 +556,13 @@ securityContext: seccompProfile: type: RuntimeDefault - serviceAccount: hubble-generate-certs serviceAccountName: hubble-generate-certs - ttlSecondsAfterFinished: 1800 schedule: 0 0 1 */4 * + successfulJobsHistoryLimit: 3 --- apiVersion: batch/v1 kind: Job metadata: - annotations: - helm.sh/hook: post-install,post-upgrade labels: app.kubernetes.io/name: hubble-generate-certs app.kubernetes.io/part-of: cilium @@ -569,7 +575,6 @@ labels: k8s-app: hubble-generate-certs spec: - affinity: null automountServiceAccountToken: true containers: - args: @@ -618,7 +623,5 @@ securityContext: seccompProfile: type: RuntimeDefault - serviceAccount: hubble-generate-certs serviceAccountName: hubble-generate-certs - ttlSecondsAfterFinished: 1800 {{ end }} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/examples/embed.go new/kubeone-1.14.1/examples/embed.go --- old/kubeone-1.14.0/examples/embed.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/examples/embed.go 2026-08-05 14:41:17.000000000 +0200 @@ -42,7 +42,7 @@ dstFullPath := filepath.Join(dst, dstPartPath) if de.IsDir() { - return os.MkdirAll(dstFullPath, 0755) + return os.MkdirAll(dstFullPath, 0o755) } fh, err := os.Create(dstFullPath) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/go.mod new/kubeone-1.14.1/go.mod --- old/kubeone-1.14.0/go.mod 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/go.mod 2026-08-05 14:41:17.000000000 +0200 @@ -42,8 +42,8 @@ google.golang.org/grpc v1.82.1 gopkg.in/yaml.v2 v2.4.0 helm.sh/helm/v4 v4.2.2 - k8c.io/machine-controller v1.66.0 - k8c.io/machine-controller/sdk v1.66.0 + k8c.io/machine-controller v1.66.1 + k8c.io/machine-controller/sdk v1.66.1 k8s.io/api v0.36.2 k8s.io/apiextensions-apiserver v0.36.2 k8s.io/apimachinery v0.36.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/go.sum new/kubeone-1.14.1/go.sum --- old/kubeone-1.14.0/go.sum 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/go.sum 2026-08-05 14:41:17.000000000 +0200 @@ -1008,10 +1008,10 @@ helm.sh/helm/v4 v4.2.2/go.mod h1:dp3ihfy1AhCLKANDaPETmVWhqPkOmwvJtpK/biHfopE= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -k8c.io/machine-controller v1.66.0 h1:9Lm1glOOGXa0zn8pxQIn6ibpCR5x5yiwQVCqns8Minc= -k8c.io/machine-controller v1.66.0/go.mod h1:HgPgc6hdPNOopUO+pJGx7qmYXEteucKPArc5kDvFk8M= -k8c.io/machine-controller/sdk v1.66.0 h1:8mNbN2pEmUCC8GONmRUVCKf9si9wAWGvBonJoIFrvOY= -k8c.io/machine-controller/sdk v1.66.0/go.mod h1:/5eWTMcfa7mTQUQoqziaalViiHSVzqzy3fXjejT1qLg= +k8c.io/machine-controller v1.66.1 h1:AdNkeQrfXKRi92gNwDjaDLw0AsgVAs9bpGDL3QuZuqI= +k8c.io/machine-controller v1.66.1/go.mod h1:HgPgc6hdPNOopUO+pJGx7qmYXEteucKPArc5kDvFk8M= +k8c.io/machine-controller/sdk v1.66.1 h1:dUrNbXUfj/xrmgajCTDFuZj4zsaPyIzBkB0ZxsIkSh4= +k8c.io/machine-controller/sdk v1.66.1/go.mod h1:/5eWTMcfa7mTQUQoqziaalViiHSVzqzy3fXjejT1qLg= k8s.io/api v0.23.3/go.mod h1:w258XdGyvCmnBj/vGzQMj6kzdufJZVUwEM1U2fRJwSQ= k8s.io/api v0.36.2 h1:TF6YDLIzKfccK7cq9YpTcGX8TJmEkHVRv78DM51fRYY= k8s.io/api v0.36.2/go.mod h1:F4LbMO4brjZYh7yFkXWhynSvtB7YauxV4c+HHkNRGNg= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/addons/applier.go new/kubeone-1.14.1/pkg/addons/applier.go --- old/kubeone-1.14.0/pkg/addons/applier.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/addons/applier.go 2026-08-05 14:41:17.000000000 +0200 @@ -439,7 +439,7 @@ } // runKubectlApply runs kubectl apply command -func runKubectlApply(s *state.State, manifest string, addonName string) error { +func runKubectlApply(s *state.State, manifest, addonName string) error { return s.RunTaskOnLeader(func(s *state.State, _ *kubeoneapi.HostConfig, conn executor.Interface) error { var ( cmd = fmt.Sprintf(kubectlApplyScript, addonLabel, addonName) @@ -459,7 +459,7 @@ } // runKubectlDelete runs kubectl delete command -func runKubectlDelete(s *state.State, manifest string, addonName string) error { +func runKubectlDelete(s *state.State, manifest, addonName string) error { return s.RunTaskOnLeader(func(s *state.State, _ *kubeoneapi.HostConfig, conn executor.Interface) error { var ( cmd = fmt.Sprintf(kubectlDeleteScript, addonLabel, addonName) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/apis/kubeone/config/config.go new/kubeone-1.14.1/pkg/apis/kubeone/config/config.go --- old/kubeone-1.14.0/pkg/apis/kubeone/config/config.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/apis/kubeone/config/config.go 2026-08-05 14:41:17.000000000 +0200 @@ -257,7 +257,7 @@ } // SetKubeOneClusterDynamicDefaults sets the dynamic defaults for a given KubeOneCluster object -func SetKubeOneClusterDynamicDefaults(cluster *kubeoneapi.KubeOneCluster, credentialsFilePath string, baseDir string) error { +func SetKubeOneClusterDynamicDefaults(cluster *kubeoneapi.KubeOneCluster, credentialsFilePath, baseDir string) error { // Set the default cloud config SetDefaultsCloudConfig(cluster) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/archive/archive.go new/kubeone-1.14.1/pkg/archive/archive.go --- old/kubeone-1.14.0/pkg/archive/archive.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/archive/archive.go 2026-08-05 14:41:17.000000000 +0200 @@ -18,6 +18,6 @@ // Archive represents a file-backed collection of files. type Archive interface { - Add(file string, content string) error + Add(file, content string) error Close() } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/archive/targz.go new/kubeone-1.14.1/pkg/archive/targz.go --- old/kubeone-1.14.0/pkg/archive/targz.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/archive/targz.go 2026-08-05 14:41:17.000000000 +0200 @@ -34,7 +34,7 @@ // NewTarGzip returns a new tar.gz archive. func NewTarGzip(filename string) (Archive, error) { - f, err := os.OpenFile(filename, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0600) + f, err := os.OpenFile(filename, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0o600) if err != nil { return nil, err } @@ -49,7 +49,7 @@ }, nil } -func (tgz tarGzip) Add(file string, content string) error { +func (tgz tarGzip) Add(file, content string) error { if tgz.arch == nil { return fail.RuntimeError{ Op: "adding file to archive", @@ -59,7 +59,7 @@ hdr := &tar.Header{ Name: file, - Mode: 0600, + Mode: 0o600, Size: int64(len(content)), } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/cmd/addons.go new/kubeone-1.14.1/pkg/cmd/addons.go --- old/kubeone-1.14.0/pkg/cmd/addons.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/cmd/addons.go 2026-08-05 14:41:17.000000000 +0200 @@ -69,7 +69,8 @@ longFlagName(opts, "OutputFormat"), shortFlagName(opts, "OutputFormat"), "table", - "output format (table|json).") + "output format (table|json).", + ) return cmd } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/cmd/apply.go new/kubeone-1.14.1/pkg/cmd/apply.go --- old/kubeone-1.14.0/pkg/cmd/apply.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/cmd/apply.go 2026-08-05 14:41:17.000000000 +0200 @@ -103,56 +103,65 @@ longFlagName(opts, "AutoApprove"), shortFlagName(opts, "AutoApprove"), false, - "auto approve plan") + "auto approve plan", + ) cmd.Flags().StringVarP( &opts.BackupFile, longFlagName(opts, "BackupFile"), shortFlagName(opts, "BackupFile"), "", - "path to where the PKI backup .tar.gz file should be placed (default: location of cluster config file)") + "path to where the PKI backup .tar.gz file should be placed (default: location of cluster config file)", + ) cmd.Flags().BoolVar( &opts.NoInit, longFlagName(opts, "NoInit"), false, - "don't initialize the cluster (only install binaries)") + "don't initialize the cluster (only install binaries)", + ) cmd.Flags().BoolVar( &opts.ForceInstall, longFlagName(opts, "ForceInstall"), false, - "use force to install new binary versions (!dangerous!)") + "use force to install new binary versions (!dangerous!)", + ) cmd.Flags().BoolVar( &opts.ForceUpgrade, longFlagName(opts, "ForceUpgrade"), false, - "force start upgrade process") + "force start upgrade process", + ) cmd.Flags().BoolVar( &opts.UpgradeMachineDeployments, longFlagName(opts, "UpgradeMachineDeployments"), false, - "upgrade MachineDeployments objects") + "upgrade MachineDeployments objects", + ) cmd.Flags().BoolVar( &opts.PruneImages, longFlagName(opts, "PruneImages"), false, - "delete unused container images on control plane and static worker nodes") + "delete unused container images on control plane and static worker nodes", + ) cmd.Flags().BoolVar( &opts.CreateMachineDeployments, longFlagName(opts, "CreateMachineDeployments"), true, - "create MachineDeployments objects") + "create MachineDeployments objects", + ) cmd.Flags().BoolVar( &opts.RotateEncryptionKey, longFlagName(opts, "RotateEncryptionKey"), false, - "rotate Encryption Provider encryption key") + "rotate Encryption Provider encryption key", + ) return cmd } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/cmd/config-images.go new/kubeone-1.14.1/pkg/cmd/config-images.go --- old/kubeone-1.14.0/pkg/cmd/config-images.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/cmd/config-images.go 2026-08-05 14:41:17.000000000 +0200 @@ -86,13 +86,15 @@ &opts.Filter, longFlagName(opts, "Filter"), "none", - "images list filter, one of the [none|base|optional]") + "images list filter, one of the [none|base|optional]", + ) cmd.Flags().StringVar( &opts.KubernetesVersion, longFlagName(opts, "KubernetesVersion"), "", - "filter images for a provided kubernetes version") + "filter images for a provided kubernetes version", + ) cmd.Flags().BoolVar( &opts.AllImages, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/cmd/config.go new/kubeone-1.14.1/pkg/cmd/config.go --- old/kubeone-1.14.0/pkg/cmd/config.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/cmd/config.go 2026-08-05 14:41:17.000000000 +0200 @@ -130,28 +130,32 @@ longFlagName(opts, "FullConfig"), shortFlagName(opts, "FullConfig"), false, - "show full manifest") + "show full manifest", + ) cmd.Flags().StringVarP( &opts.ClusterName, longFlagName(opts, "ClusterName"), shortFlagName(opts, "ClusterName"), "demo-cluster", - "cluster name") + "cluster name", + ) cmd.Flags().StringVarP( &opts.KubernetesVersion, longFlagName(opts, "KubernetesVersion"), shortFlagName(opts, "KubernetesVersion"), defaultKubeVersion, - "Kubernetes version") + "Kubernetes version", + ) cmd.Flags().StringVarP( &opts.CloudProviderName, longFlagName(opts, "CloudProviderName"), shortFlagName(opts, "CloudProviderName"), defaultCloudProviderName, - "cloud provider name (aws, digitalocean, gce, hetzner, equinixmetal, openstack, vsphere, none)") + "cloud provider name (aws, digitalocean, gce, hetzner, equinixmetal, openstack, vsphere, none)", + ) // Hosts cmd.Flags().StringVar(&opts.ControlPlaneHosts, longFlagName(opts, "ControlPlaneHosts"), "", "control plane hosts in format of comma-separated key:value list, example: publicAddress:192.168.0.100,privateAddress:192.168.1.100,sshUsername:ubuntu,sshPort:22. Use quoted string of space separated values for multiple hosts") @@ -191,13 +195,15 @@ &opts.ContainerLogMaxSize, longFlagName(opts, "ContainerLogMaxSize"), containerruntime.DefaultContainerLogMaxSize, - "ContainerLogMaxSize") + "ContainerLogMaxSize", + ) cmd.Flags().Int32Var( &opts.ContainerLogMaxFiles, longFlagName(opts, "ContainerLogMaxFiles"), containerruntime.DefaultContainerLogMaxFiles, - "ContainerLogMaxFiles") + "ContainerLogMaxFiles", + ) return cmd } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/cmd/etcd.go new/kubeone-1.14.1/pkg/cmd/etcd.go --- old/kubeone-1.14.0/pkg/cmd/etcd.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/cmd/etcd.go 2026-08-05 14:41:17.000000000 +0200 @@ -171,7 +171,8 @@ longFlagName(opts, "OutputFormat"), shortFlagName(opts, "OutputFormat"), "table", - "output format (table|json)") + "output format (table|json)", + ) return cmd } @@ -292,7 +293,8 @@ &opts.All, longFlagName(opts, "All"), false, - "disarm alarms on all etcd members") + "disarm alarms on all etcd members", + ) return cmd } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/cmd/kubeconfig.go new/kubeone-1.14.1/pkg/cmd/kubeconfig.go --- old/kubeone-1.14.0/pkg/cmd/kubeconfig.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/cmd/kubeconfig.go 2026-08-05 14:41:17.000000000 +0200 @@ -114,26 +114,30 @@ &opts.CommonName, longFlagName(opts, "CommonName"), "", - "CommonName (CN) for the generated client certificate.") + "CommonName (CN) for the generated client certificate.", + ) cmd.Flags().StringArrayVar( &opts.OrganizationNames, longFlagName(opts, "OrganizationNames"), []string{}, - "OrganizationName (ON) for the generated client certificate.") + "OrganizationName (ON) for the generated client certificate.", + ) cmd.Flags().BoolVarP( &opts.SuperAdmin, longFlagName(opts, "SuperAdmin"), shortFlagName(opts, "SuperAdmin"), false, - "Generate superadmin kubeconfig, shorthand for --cn <USER>@<HOSTNAME> --on system:masters") + "Generate superadmin kubeconfig, shorthand for --cn <USER>@<HOSTNAME> --on system:masters", + ) cmd.Flags().DurationVar( &opts.TTL, longFlagName(opts, "TTL"), 1*time.Hour, - "Time To Live for the generated certificate.") + "Time To Live for the generated certificate.", + ) return cmd } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/cmd/local.go new/kubeone-1.14.1/pkg/cmd/local.go --- old/kubeone-1.14.0/pkg/cmd/local.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/cmd/local.go 2026-08-05 14:41:17.000000000 +0200 @@ -142,44 +142,51 @@ longFlagName(opts, "AutoApprove"), shortFlagName(opts, "AutoApprove"), false, - "auto approve plan") + "auto approve plan", + ) cmd.Flags().StringVarP( &opts.BackupFile, longFlagName(opts, "BackupFile"), shortFlagName(opts, "BackupFile"), "", - "path to where the PKI backup .tar.gz file should be placed (default: location of cluster config file)") + "path to where the PKI backup .tar.gz file should be placed (default: location of cluster config file)", + ) cmd.Flags().StringVar( &opts.KubernetesVersion, longFlagName(opts, "KubernetesVersion"), defaultKubeVersion, - "kubernetes version to install when there is no manifest") + "kubernetes version to install when there is no manifest", + ) cmd.Flags().StringVar( &opts.APIEndpoint, longFlagName(opts, "ApiEndpoint"), "", - "kube-apiserver endpoint to init, default to autodetect") + "kube-apiserver endpoint to init, default to autodetect", + ) cmd.Flags().BoolVar( &opts.NoInit, longFlagName(opts, "NoInit"), false, - "don't initialize the cluster (only install binaries)") + "don't initialize the cluster (only install binaries)", + ) cmd.Flags().BoolVar( &opts.ForceInstall, longFlagName(opts, "ForceInstall"), false, - "use force to install new binary versions (!dangerous!)") + "use force to install new binary versions (!dangerous!)", + ) cmd.Flags().BoolVar( &opts.ForceUpgrade, longFlagName(opts, "ForceUpgrade"), false, - "force start upgrade process") + "force start upgrade process", + ) return cmd } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/cmd/migrate.go new/kubeone-1.14.1/pkg/cmd/migrate.go --- old/kubeone-1.14.0/pkg/cmd/migrate.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/cmd/migrate.go 2026-08-05 14:41:17.000000000 +0200 @@ -113,14 +113,16 @@ "auto-approve", "y", false, - "auto approve plan") + "auto approve plan", + ) cmd.Flags().BoolVarP( &completeMigration, "complete", "", false, - "complete ccm/csi migration") + "complete ccm/csi migration", + ) return cmd } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/cmd/mirror-images.go new/kubeone-1.14.1/pkg/cmd/mirror-images.go --- old/kubeone-1.14.0/pkg/cmd/mirror-images.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/cmd/mirror-images.go 2026-08-05 14:41:17.000000000 +0200 @@ -94,13 +94,15 @@ &opts.Filter, longFlagName(opts, "Filter"), "none", - "images list filter, one of the [none|base|optional|control-plane]") + "images list filter, one of the [none|base|optional|control-plane]", + ) cmd.Flags().StringVar( &opts.KubernetesVersions, longFlagName(opts, "KubernetesVersions"), "", - "Kubernetes versions (comma-separated, format: vX.Y[.Z])") + "Kubernetes versions (comma-separated, format: vX.Y[.Z])", + ) cmd.Flags().BoolVar( &opts.DryRun, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/cmd/packaging.go new/kubeone-1.14.1/pkg/cmd/packaging.go --- old/kubeone-1.14.0/pkg/cmd/packaging.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/cmd/packaging.go 2026-08-05 14:41:17.000000000 +0200 @@ -53,7 +53,7 @@ err = rootCmd.GenFishCompletion(os.Stdout, true) } - return + return err }, } @@ -87,7 +87,7 @@ err = doc.GenYamlTree(rootCmd, path) } - return + return err }, } cmd.Flags().StringVarP(&path, "output-dir", "o", "/tmp/", "Directory to populate with documentation") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/cmd/reset.go new/kubeone-1.14.1/pkg/cmd/reset.go --- old/kubeone-1.14.0/pkg/cmd/reset.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/cmd/reset.go 2026-08-05 14:41:17.000000000 +0200 @@ -84,31 +84,36 @@ longFlagName(opts, "AutoApprove"), shortFlagName(opts, "AutoApprove"), false, - "auto approve reset") + "auto approve reset", + ) cmd.Flags().BoolVar( &opts.DestroyWorkers, longFlagName(opts, "DestroyWorkers"), true, - "destroy all worker machines before resetting the cluster") + "destroy all worker machines before resetting the cluster", + ) cmd.Flags().BoolVar( &opts.RemoveBinaries, longFlagName(opts, "RemoveBinaries"), false, - "remove kubernetes binaries after resetting the cluster") + "remove kubernetes binaries after resetting the cluster", + ) cmd.Flags().BoolVar( &opts.RemoveVolumes, longFlagName(opts, "RemoveVolumes"), true, - "remove all dynamically provisioned and unretained volumes before resetting the cluster") + "remove all dynamically provisioned and unretained volumes before resetting the cluster", + ) cmd.Flags().BoolVar( &opts.RemoveLBServices, longFlagName(opts, "RemoveLBServices"), true, - "remove all load balancers services before resetting the cluster") + "remove all load balancers services before resetting the cluster", + ) return cmd } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/cmd/ui.go new/kubeone-1.14.1/pkg/cmd/ui.go --- old/kubeone-1.14.0/pkg/cmd/ui.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/cmd/ui.go 2026-08-05 14:41:17.000000000 +0200 @@ -69,7 +69,8 @@ longFlagName(opts, "port"), shortFlagName(opts, "port"), 8080, - "port on which webserver is running") + "port on which webserver is running", + ) return cmd } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/configupload/configuration.go new/kubeone-1.14.1/pkg/configupload/configuration.go --- old/kubeone-1.14.0/pkg/configupload/configuration.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/configupload/configuration.go 2026-08-05 14:41:17.000000000 +0200 @@ -45,7 +45,7 @@ } // AddFile save file contents for future references -func (c *Configuration) AddFile(filename string, content string) { +func (c *Configuration) AddFile(filename, content string) { c.files[filename] = strings.TrimSpace(content) + "\n" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/executor/interface.go new/kubeone-1.14.1/pkg/executor/interface.go --- old/kubeone-1.14.0/pkg/executor/interface.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/executor/interface.go 2026-08-05 14:41:17.000000000 +0200 @@ -26,8 +26,8 @@ ) type Interface interface { - Exec(cmd string) (stdout string, stderr string, exitCode int, err error) - POpen(cmd string, stdin io.Reader, stdout io.Writer, stderr io.Writer) (exitCode int, err error) + Exec(cmd string) (stdout, stderr string, exitCode int, err error) + POpen(cmd string, stdin io.Reader, stdout, stderr io.Writer) (exitCode int, err error) io.Closer } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/executor/local.go new/kubeone-1.14.1/pkg/executor/local.go --- old/kubeone-1.14.0/pkg/executor/local.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/executor/local.go 2026-08-05 14:41:17.000000000 +0200 @@ -73,7 +73,7 @@ return stdout.String(), stderr.String(), exitcode, returnErr } -func (le *localExec) POpen(cmd string, stdin io.Reader, stdout io.Writer, stderr io.Writer) (int, error) { +func (le *localExec) POpen(cmd string, stdin io.Reader, stdout, stderr io.Writer) (int, error) { command := exec.CommandContext(le.ctx, "bash", "-c", cmd) command.Stdin = stdin command.Stdout = stdout diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/fail/helpers.go new/kubeone-1.14.1/pkg/fail/helpers.go --- old/kubeone-1.14.0/pkg/fail/helpers.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/fail/helpers.go 2026-08-05 14:41:17.000000000 +0200 @@ -27,7 +27,7 @@ return Config(err, "validation") } -func NewConfigError(op string, format string, args ...any) error { +func NewConfigError(op, format string, args ...any) error { return ConfigError{ Op: op, Err: errors.Errorf(format, args...), @@ -113,7 +113,7 @@ } } -func NewRuntimeError(op string, format string, args ...any) error { +func NewRuntimeError(op, format string, args ...any) error { return RuntimeError{ Op: op, Err: errors.Errorf(format, args...), @@ -132,7 +132,7 @@ } } -func Cloud(err error, provider string, op string, args ...any) error { +func Cloud(err error, provider, op string, args ...any) error { if err == nil { return nil } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/features/oidc.go new/kubeone-1.14.1/pkg/features/oidc.go --- old/kubeone-1.14.0/pkg/features/oidc.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/features/oidc.go 2026-08-05 14:41:17.000000000 +0200 @@ -47,7 +47,7 @@ optionalMapSet(args.APIServer.ExtraArgs, "oidc-ca-file", feature.Config.CAFile) } -func optionalMapSet(m map[string]string, key string, val string) { +func optionalMapSet(m map[string]string, key, val string) { if val == "" { return } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/localhelm/helm3.go new/kubeone-1.14.1/pkg/localhelm/helm3.go --- old/kubeone-1.14.0/pkg/localhelm/helm3.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/localhelm/helm3.go 2026-08-05 14:41:17.000000000 +0200 @@ -329,7 +329,7 @@ logger logrus.FieldLogger, ) error { helmInstall := newHelmInstallClient(cfg, release) - helmInstall.DryRunStrategy = helmaction.DryRunClient + helmInstall.DryRunStrategy = helmaction.DryRunServer dryRunHelmRelease, err := runInstallRelease(ctx, release, helmInstall, helmSettings, providers, vals) if err != nil { return err @@ -344,7 +344,7 @@ helmUpgrade := helmaction.NewUpgrade(cfg) helmUpgrade.Install = true helmUpgrade.DependencyUpdate = true - helmUpgrade.ResetValues = true + helmUpgrade.ResetThenReuseValues = true helmUpgrade.MaxHistory = 5 helmUpgrade.Namespace = release.Namespace helmUpgrade.RepoURL = release.RepoURL @@ -479,6 +479,7 @@ } helmUninstall := helmaction.NewUninstall(helmCfg) + helmUninstall.WaitStrategy = kube.HookOnlyStrategy resp, err := helmUninstall.Run(releaseAcc.Name()) if err != nil { return fail.Runtime(err, "uninstalling helm release %s/%s", releaseAcc.Namespace(), releaseAcc.Name()) @@ -531,7 +532,7 @@ return newChart(chartPath, chartName, providers, helmSettings) } -func newChart(chartPath string, chartName string, providers getter.Providers, helmSettings *helmcli.EnvSettings) (*helmchartv2.Chart, error) { +func newChart(chartPath, chartName string, providers getter.Providers, helmSettings *helmcli.EnvSettings) (*helmchartv2.Chart, error) { chartRequested, err := loader.Load(chartPath) if err != nil { return nil, fail.Runtime(err, "loading helm chart") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/runner/runner.go new/kubeone-1.14.1/pkg/runner/runner.go --- old/kubeone-1.14.0/pkg/runner/runner.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/runner/runner.go 2026-08-05 14:41:17.000000000 +0200 @@ -71,7 +71,6 @@ // run the command _, err := r.Executor.POpen(cmd, nil, stdout, stderr) - if err != nil { r.Executor.Close() r.Executor = nil diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/scripts/ccm_csi_migration.go new/kubeone-1.14.1/pkg/scripts/ccm_csi_migration.go --- old/kubeone-1.14.0/pkg/scripts/ccm_csi_migration.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/scripts/ccm_csi_migration.go 2026-08-05 14:41:17.000000000 +0200 @@ -22,8 +22,7 @@ "k8c.io/kubeone/pkg/fail" ) -var ( - ccmMigrationRegenerateControlPlaneConfigs = heredoc.Doc(` +var ccmMigrationRegenerateControlPlaneConfigs = heredoc.Doc(` sudo kubeadm {{ .VERBOSE }} init phase control-plane apiserver \ --config={{ .WORK_DIR }}/cfg/control_plane_{{ .NODE_ID }}.yaml @@ -33,7 +32,6 @@ sudo kubeadm {{ .VERBOSE }} init phase kubelet-start \ --config={{ .WORK_DIR }}/cfg/control_plane_{{ .NODE_ID }}.yaml `) -) func CCMMigrationRegenerateControlPlaneConfigs(workdir string, nodeID int, verboseFlag string) (string, error) { result, err := Render(ccmMigrationRegenerateControlPlaneConfigs, Data{ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/scripts/kubeadm.go new/kubeone-1.14.1/pkg/scripts/kubeadm.go --- old/kubeone-1.14.0/pkg/scripts/kubeadm.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/scripts/kubeadm.go 2026-08-05 14:41:17.000000000 +0200 @@ -107,7 +107,7 @@ return result, fail.Runtime(err, "rendering kubeadmCertsAllScriptTemplate script") } -func KubeadmInit(workdir string, nodeID int, verboseFlag, token, tokenTTL string, skipPhases string) (string, error) { +func KubeadmInit(workdir string, nodeID int, verboseFlag, token, tokenTTL, skipPhases string) (string, error) { result, err := Render(kubeadmInitScriptTemplate, Data{ "WORK_DIR": workdir, "NODE_ID": nodeID, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/ssh/connection.go new/kubeone-1.14.1/pkg/ssh/connection.go --- old/kubeone-1.14.0/pkg/ssh/connection.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/ssh/connection.go 2026-08-05 14:41:17.000000000 +0200 @@ -371,7 +371,7 @@ return c.sshclient.Close() } -func (c *connection) POpen(cmd string, stdin io.Reader, stdout io.Writer, stderr io.Writer) (int, error) { +func (c *connection) POpen(cmd string, stdin io.Reader, stdout, stderr io.Writer) (int, error) { sess, err := c.session() if err != nil { c.Close() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/state/task.go new/kubeone-1.14.1/pkg/state/task.go --- old/kubeone-1.14.0/pkg/state/task.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/state/task.go 2026-08-05 14:41:17.000000000 +0200 @@ -54,7 +54,7 @@ return fail.Runtime(task(s, node, conn), "") } -type stateMutatorFn func(original *State, tmp *State) +type stateMutatorFn func(original, tmp *State) // RunTaskOnNodes runs the given task on the given selection of hosts. func (s *State) RunTaskOnNodes(nodes []kubeoneapi.HostConfig, task NodeTask, parallel RunModeEnum, stateMutator stateMutatorFn) error { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/tasks/certs.go new/kubeone-1.14.1/pkg/tasks/certs.go --- old/kubeone-1.14.0/pkg/tasks/certs.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/tasks/certs.go 2026-08-05 14:41:17.000000000 +0200 @@ -106,7 +106,7 @@ return cert, nil } -func timeBefore(t1 time.Time, t2 time.Time) bool { +func timeBefore(t1, t2 time.Time) bool { if t2.IsZero() { return true } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/tasks/cleanup.go new/kubeone-1.14.1/pkg/tasks/cleanup.go --- old/kubeone-1.14.0/pkg/tasks/cleanup.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/tasks/cleanup.go 2026-08-05 14:41:17.000000000 +0200 @@ -109,7 +109,7 @@ return cleanupObjects } -func newUnstructured(apiVersion string, kind string, identity crclient.ObjectKey, opts ...func(*metav1unstructured.Unstructured)) crclient.Object { +func newUnstructured(apiVersion, kind string, identity crclient.ObjectKey, opts ...func(*metav1unstructured.Unstructured)) crclient.Object { obj := &metav1unstructured.Unstructured{} obj.SetAPIVersion(apiVersion) obj.SetKind(kind) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/tasks/kubeadm_config.go new/kubeone-1.14.1/pkg/tasks/kubeadm_config.go --- old/kubeone-1.14.0/pkg/tasks/kubeadm_config.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/tasks/kubeadm_config.go 2026-08-05 14:41:17.000000000 +0200 @@ -36,7 +36,7 @@ func determinePauseImage(s *state.State) error { s.Logger.Infoln("Determining Kubernetes pause image...") - return s.RunTaskOnLeaderWithMutator(determinePauseImageExecutor, func(original *state.State, tmp *state.State) { + return s.RunTaskOnLeaderWithMutator(determinePauseImageExecutor, func(original, tmp *state.State) { original.PauseImage = tmp.PauseImage }) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/tasks/nodes.go new/kubeone-1.14.1/pkg/tasks/nodes.go --- old/kubeone-1.14.0/pkg/tasks/nodes.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/tasks/nodes.go 2026-08-05 14:41:17.000000000 +0200 @@ -94,7 +94,7 @@ type syncHostToNodeFn func(host *kubeoneapi.HostConfig, node *corev1.Node) -func addRemoveKeyValues(src map[string]string, dst map[string]string) { +func addRemoveKeyValues(src, dst map[string]string) { for key, value := range src { if strings.HasSuffix(key, "-") { // drop minus from the suffix diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/tasks/prerequisites.go new/kubeone-1.14.1/pkg/tasks/prerequisites.go --- old/kubeone-1.14.0/pkg/tasks/prerequisites.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/tasks/prerequisites.go 2026-08-05 14:41:17.000000000 +0200 @@ -75,7 +75,8 @@ `), runner.TemplateVariables{ "NODE_ID": node.ID, "WORK_DIR": s.WorkDir, - }) + }, + ) return fail.SSH(err, "pre-pull kubeadm images") }, state.RunParallel) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/tasks/tasks.go new/kubeone-1.14.1/pkg/tasks/tasks.go --- old/kubeone-1.14.0/pkg/tasks/tasks.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/tasks/tasks.go 2026-08-05 14:41:17.000000000 +0200 @@ -555,7 +555,8 @@ Fn: rewriteClusterSecrets, Operation: "rewriting cluster secrets", Description: "rewrite all cluster secrets", - }) + }, + ) } func WithCustomEncryptionConfigUpdated(t Tasks) Tasks { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/templates/images/images.go new/kubeone-1.14.1/pkg/templates/images/images.go --- old/kubeone-1.14.0/pkg/templates/images/images.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/templates/images/images.go 2026-08-05 14:41:17.000000000 +0200 @@ -236,7 +236,7 @@ CalicoNode: {"*": "quay.io/calico/node:v3.32.0"}, DNSNodeCache: {"*": "registry.k8s.io/dns/k8s-dns-node-cache:1.26.7"}, Flannel: {"*": "docker.io/flannel/flannel:v0.24.4"}, - MachineController: {"*": "quay.io/kubermatic/machine-controller:v1.66.0"}, + MachineController: {"*": "quay.io/kubermatic/machine-controller:v1.66.1"}, MetricsServer: {"*": "registry.k8s.io/metrics-server/metrics-server:v0.8.1"}, OperatingSystemManager: {"*": "quay.io/kubermatic/operating-system-manager:v1.11.0"}, } @@ -392,15 +392,15 @@ WeaveNetCNINPC: {"*": "docker.io/weaveworks/weave-npc:2.8.1"}, // Cilium - Cilium: {"*": "quay.io/cilium/cilium:v1.19.4@sha256:2eb67991eaa9368ba199c2fac2c573cb0ffdeb79184533344f42fc9a7ff6af3c"}, - CiliumOperator: {"*": "quay.io/cilium/operator-generic:v1.19.4@sha256:1aa2b62735e7d8ab49ee840ae59c346932024c88901579121395c1271b435f71"}, - CiliumEnvoy: {"*": "quay.io/cilium/cilium-envoy:v1.36.6-1778235340-b87d1e32f522b33bd51701c6476d199326f01496@sha256:71d4fa0ec45e8d546dbd5604e169dc77fe92be63b799313bff031d00d89762e3"}, + Cilium: {"*": "quay.io/cilium/cilium:v1.19.6@sha256:0df5b2750b64c49843aba1d649e9eaf61467cb0645ad3171db6f6962c095ac92"}, + CiliumOperator: {"*": "quay.io/cilium/operator-generic:v1.19.6@sha256:0db4ca4e06969d8904ee036617795d0e9c3228cf7b8d902ba74fc2bb98d2d665"}, + CiliumEnvoy: {"*": "quay.io/cilium/cilium-envoy:v1.36.9-1782267392-edeb3f2af56c37c407efa1f63f0b32f595399bbc@sha256:767101fb8a5e38f055778cb43b7aa8eed80450b37f8121effac3d9de9e06dc99"}, // Hubble - HubbleRelay: {"*": "quay.io/cilium/hubble-relay:v1.19.4@sha256:59af8c0d561e560c2a042e7600a3496bc0367df8fbf868aa68d5834c8ec1a431"}, + HubbleRelay: {"*": "quay.io/cilium/hubble-relay:v1.19.6@sha256:6782a49e3f28eba015701c4410a5ec7fa096fe9a562f879b4372dbecd827ea44"}, HubbleUI: {"*": "quay.io/cilium/hubble-ui:v0.13.5@sha256:f7d514fc54d784ed6df9d58cf0e97648b143f92b766dd1780ed3fc845bd4c516"}, HubbleUIBackend: {"*": "quay.io/cilium/hubble-ui-backend:v0.13.5@sha256:fac0c300ae119274edca11fd89b1ad23c788792d8bc4ea2ba631c709e8d3c688"}, - CiliumCertGen: {"*": "quay.io/cilium/certgen:v0.4.3@sha256:d63d1cb3ee6db2167cb1ca9e7e31f30b6197846fcf42505d8f59e2f090a42c86"}, + CiliumCertGen: {"*": "quay.io/cilium/certgen:v0.4.6@sha256:511cedee817713fdf72db7e32fffb4b90da7747661b95180064f18198877626c"}, // Cluster-autoscaler addon ClusterAutoscaler: { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/templates/kubeadm/v1beta3/kubeadm_test.go new/kubeone-1.14.1/pkg/templates/kubeadm/v1beta3/kubeadm_test.go --- old/kubeone-1.14.0/pkg/templates/kubeadm/v1beta3/kubeadm_test.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/templates/kubeadm/v1beta3/kubeadm_test.go 2026-08-05 14:41:17.000000000 +0200 @@ -94,6 +94,7 @@ }) } } + func TestMergeFeatureGates(t *testing.T) { tests := []struct { name string @@ -203,7 +204,8 @@ "existing-flag": "existing-value", "flag5": "value5", "flag6": "value6", - "feature-gates": "feature5=true,feature6=false"} + "feature-gates": "feature5=true,feature6=false", + } expectedControllerManagerFeatureGates := "feature1=true,feature2=false" expectedSchedulerFeatureGates := "feature3=true,feature4=false" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/templates/kubeadm/v1beta4/kubeadm_test.go new/kubeone-1.14.1/pkg/templates/kubeadm/v1beta4/kubeadm_test.go --- old/kubeone-1.14.0/pkg/templates/kubeadm/v1beta4/kubeadm_test.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/templates/kubeadm/v1beta4/kubeadm_test.go 2026-08-05 14:41:17.000000000 +0200 @@ -67,6 +67,7 @@ }) } } + func TestMergeFeatureGates(t *testing.T) { tests := []struct { name string diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/yamled/document.go new/kubeone-1.14.1/pkg/yamled/document.go --- old/kubeone-1.14.0/pkg/yamled/document.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/yamled/document.go 2026-08-05 14:41:17.000000000 +0200 @@ -313,7 +313,7 @@ return d.setInternal(path, node) } -func (d *Document) fillMap(source yaml.MapSlice, newMap yaml.MapSlice) yaml.MapSlice { +func (d *Document) fillMap(source, newMap yaml.MapSlice) yaml.MapSlice { for _, newItem := range newMap { key := newItem.Key newValue := newItem.Value diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/yamled/path_test.go new/kubeone-1.14.1/pkg/yamled/path_test.go --- old/kubeone-1.14.0/pkg/yamled/path_test.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/yamled/path_test.go 2026-08-05 14:41:17.000000000 +0200 @@ -18,7 +18,7 @@ import "testing" -func assertPath(t *testing.T, value Path, expected Path) { +func assertPath(t *testing.T, value, expected Path) { t.Helper() if len(value) != len(expected) { t.Fatalf("Expected path of length %d but got %d elements.", len(expected), len(value)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/pkg/yamled/util.go new/kubeone-1.14.1/pkg/yamled/util.go --- old/kubeone-1.14.0/pkg/yamled/util.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/pkg/yamled/util.go 2026-08-05 14:41:17.000000000 +0200 @@ -48,7 +48,7 @@ return result } -func setValueInMapSlice(m yaml.MapSlice, key any, value any) yaml.MapSlice { +func setValueInMapSlice(m yaml.MapSlice, key, value any) yaml.MapSlice { for idx, item := range m { if item.Key == key { m[idx].Value = value diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/test/e2e/helpers.go new/kubeone-1.14.1/test/e2e/helpers.go --- old/kubeone-1.14.0/test/e2e/helpers.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/test/e2e/helpers.go 2026-08-05 14:41:17.000000000 +0200 @@ -265,7 +265,7 @@ }) } -func verifyVersion(ctx context.Context, client ctrlruntimeclient.Client, namespace string, targetVersion string) error { +func verifyVersion(ctx context.Context, client ctrlruntimeclient.Client, namespace, targetVersion string) error { reqVer, err := semver.NewVersion(targetVersion) if err != nil { return fmt.Errorf("desired version is invalid: %w", err) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kubeone-1.14.0/test/e2e/protokol.go new/kubeone-1.14.1/test/e2e/protokol.go --- old/kubeone-1.14.0/test/e2e/protokol.go 2026-07-27 18:07:18.000000000 +0200 +++ new/kubeone-1.14.1/test/e2e/protokol.go 2026-08-05 14:41:17.000000000 +0200 @@ -31,7 +31,7 @@ outputDir string } -func (p *protokolBin) Start(ctx context.Context, kubeconfigPath string, proxyURL string) (func(), error) { +func (p *protokolBin) Start(ctx context.Context, kubeconfigPath, proxyURL string) (func(), error) { if err := ctx.Err(); err != nil { return nil, fmt.Errorf("starting protokol: %w", err) } ++++++ kubeone.obsinfo ++++++ --- /var/tmp/diff_new_pack.NxjWAz/_old 2026-08-06 16:44:39.103111274 +0200 +++ /var/tmp/diff_new_pack.NxjWAz/_new 2026-08-06 16:44:39.111111543 +0200 @@ -1,5 +1,5 @@ name: kubeone -version: 1.14.0 -mtime: 1785168438 -commit: 5f9f3ba49ed2cb5ac1b9b0911592576c58c34056 +version: 1.14.1 +mtime: 1785933677 +commit: 0a2579a99dd815db0dce1ea40bfb8d6542400d0e ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/kubeone/vendor.tar.gz /work/SRC/openSUSE:Factory/.kubeone.new.16738/vendor.tar.gz differ: char 16, line 1
