Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package k0sctl for openSUSE:Factory checked 
in at 2026-04-30 20:29:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/k0sctl (Old)
 and      /work/SRC/openSUSE:Factory/.k0sctl.new.30200 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "k0sctl"

Thu Apr 30 20:29:22 2026 rev:20 rq:1350140 version:0.30.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/k0sctl/k0sctl.changes    2026-03-27 
06:41:49.862963076 +0100
+++ /work/SRC/openSUSE:Factory/.k0sctl.new.30200/k0sctl.changes 2026-04-30 
20:29:32.164693210 +0200
@@ -1,0 +2,25 @@
+Thu Apr 30 05:29:07 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- Update to version 0.30.0:
+  * Bump github.com/mattn/go-isatty from 0.0.21 to 0.0.22 (#1076)
+  * Bump github.com/Azure/go-ntlmssp from 0.1.0 to 0.1.1 (#1075)
+  * Fix dynamic node config to use lowercase metadata key instead
+    of Metadata (#1077)
+  * Bump k8s.io/client-go from 0.35.4 to 0.36.0 (#1074)
+  * Bump k8s.io/apimachinery from 0.35.4 to 0.36.0 (#1073)
+  * Bump github.com/k0sproject/rig from 0.21.2 to 0.21.4 (#1072)
+  * Bump k8s.io/client-go from 0.35.3 to 0.35.4 (#1071)
+  * Bump k8s.io/apimachinery from 0.35.3 to 0.35.4 (#1070)
+  * ci: Add support for linux-riscv64 (#1067)
+  * Bump softprops/action-gh-release from 2 to 3 (#1069)
+  * Bump dependabot/fetch-metadata from 2 to 3 (#1066)
+  * Fix TestLocalBinaryProviderCreatesParentDir in sandboxed
+    environments (#1068)
+  * Bump golang.org/x/text from 0.35.0 to 0.36.0 (#1065)
+  * Bump github.com/go-playground/validator/v10 from 10.30.1 to
+    10.30.2 (#1058)
+  * Lowercase auto-detected hostname (#1063)
+  * Add all the k0sctl packages to the README (#1060)
+  * Bump github.com/mattn/go-isatty from 0.0.20 to 0.0.21 (#1064)
+
+-------------------------------------------------------------------

Old:
----
  k0sctl-0.29.0.obscpio

New:
----
  k0sctl-0.30.0.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ k0sctl.spec ++++++
--- /var/tmp/diff_new_pack.FTyH3s/_old  2026-04-30 20:29:33.084730962 +0200
+++ /var/tmp/diff_new_pack.FTyH3s/_new  2026-04-30 20:29:33.084730962 +0200
@@ -18,7 +18,7 @@
 
 
 Name:           k0sctl
-Version:        0.29.0
+Version:        0.30.0
 Release:        0
 Summary:        A bootstrapping and management tool for k0s clusters
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.FTyH3s/_old  2026-04-30 20:29:33.132732932 +0200
+++ /var/tmp/diff_new_pack.FTyH3s/_new  2026-04-30 20:29:33.140733260 +0200
@@ -2,7 +2,7 @@
   <service name="obs_scm" mode="manual">
     <param name="url">https://github.com/k0sproject/k0sctl.git</param>
     <param name="scm">git</param>
-    <param name="revision">v0.29.0</param>
+    <param name="revision">v0.30.0</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.FTyH3s/_old  2026-04-30 20:29:33.168734409 +0200
+++ /var/tmp/diff_new_pack.FTyH3s/_new  2026-04-30 20:29:33.168734409 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/k0sproject/k0sctl.git</param>
-              <param 
name="changesrevision">48ad3a597ebe6ab27e8fa0872a222ca72cbc030c</param></service></servicedata>
+              <param 
name="changesrevision">82afeb597ef397a7dea2a444b837ece0a6794c48</param></service></servicedata>
 (No newline at EOF)
 

++++++ k0sctl-0.29.0.obscpio -> k0sctl-0.30.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/k0sctl-0.29.0/.github/workflows/dependabot-auto-approve.yml 
new/k0sctl-0.30.0/.github/workflows/dependabot-auto-approve.yml
--- old/k0sctl-0.29.0/.github/workflows/dependabot-auto-approve.yml     
2026-03-24 11:03:16.000000000 +0100
+++ new/k0sctl-0.30.0/.github/workflows/dependabot-auto-approve.yml     
2026-04-29 13:57:59.000000000 +0200
@@ -11,7 +11,7 @@
     steps:
       - name: Dependabot metadata
         id: metadata
-        uses: dependabot/fetch-metadata@v2
+        uses: dependabot/fetch-metadata@v3
         with:
           github-token: "${{ secrets.GITHUB_TOKEN }}"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/k0sctl-0.29.0/.github/workflows/release.yml 
new/k0sctl-0.30.0/.github/workflows/release.yml
--- old/k0sctl-0.29.0/.github/workflows/release.yml     2026-03-24 
11:03:16.000000000 +0100
+++ new/k0sctl-0.30.0/.github/workflows/release.yml     2026-04-29 
13:57:59.000000000 +0200
@@ -49,7 +49,7 @@
         run: make build-all
 
       - name: Create release and upload binaries
-        uses: softprops/action-gh-release@v2
+        uses: softprops/action-gh-release@v3
         if: startsWith(github.ref, 'refs/tags/')
         with:
           files: |
@@ -67,7 +67,7 @@
         with:
           builder: ${{ steps.buildx.outputs.name }}
           context: .
-          platforms: linux/amd64,linux/arm64,linux/arm/v7
+          platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/riscv64
           tags: |
             ghcr.io/k0sproject/k0sctl:latest
             ghcr.io/k0sproject/k0sctl:${{ steps.tag-name.outputs.tag }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/k0sctl-0.29.0/.github/workflows/update-latest-release.yml 
new/k0sctl-0.30.0/.github/workflows/update-latest-release.yml
--- old/k0sctl-0.29.0/.github/workflows/update-latest-release.yml       
2026-03-24 11:03:16.000000000 +0100
+++ new/k0sctl-0.30.0/.github/workflows/update-latest-release.yml       
2026-04-29 13:57:59.000000000 +0200
@@ -86,7 +86,7 @@
           git push origin dev
 
       - name: Create GitHub Release
-        uses: softprops/action-gh-release@v2
+        uses: softprops/action-gh-release@v3
         with:
           tag_name: dev
           name: Latest Development Build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/k0sctl-0.29.0/Makefile new/k0sctl-0.30.0/Makefile
--- old/k0sctl-0.29.0/Makefile  2026-03-24 11:03:16.000000000 +0100
+++ new/k0sctl-0.30.0/Makefile  2026-04-29 13:57:59.000000000 +0200
@@ -53,6 +53,19 @@
                --load \
                .
 
+bin/k0sctl-linux-riscv64: $(GO_SRCS)
+       GOOS=linux GOARCH=riscv64 CGO_ENABLED=0 go build $(BUILD_FLAGS) -o 
bin/k0sctl-linux-riscv64 main.go
+
+docker/build/linux-riscv64:
+       docker buildx build \
+               --platform=linux/riscv64 \
+               --build-arg ENVIRONMENT=$(ENVIRONMENT) \
+               --build-arg GIT_COMMIT=$(GIT_COMMIT) \
+               --build-arg TAG_NAME=$(TAG_NAME) \
+               -t ghcr.io/k0sproject/k0sctl:$(TAG_NAME)-riscv64 \
+               --load \
+               .
+
 bin/k0sctl-win-amd64.exe: $(GO_SRCS)
        GOOS=windows GOARCH=amd64 go build $(BUILD_FLAGS) -o 
bin/k0sctl-win-amd64.exe main.go
 
@@ -62,9 +75,9 @@
 bin/k0sctl-darwin-arm64: $(GO_SRCS)
        GOOS=darwin GOARCH=arm64 go build $(BUILD_FLAGS) -o 
bin/k0sctl-darwin-arm64 main.go
 
-bins := k0sctl-linux-amd64 k0sctl-linux-arm64 k0sctl-linux-arm 
k0sctl-win-amd64.exe k0sctl-darwin-amd64 k0sctl-darwin-arm64
+bins := k0sctl-linux-amd64 k0sctl-linux-arm64 k0sctl-linux-arm 
k0sctl-linux-riscv64 k0sctl-win-amd64.exe k0sctl-darwin-amd64 
k0sctl-darwin-arm64
 
-dockers := linux-amd64 linux-arm64 linux-arm
+dockers := linux-amd64 linux-arm64 linux-arm linux-riscv64
 
 bin/checksums.txt: $(addprefix bin/,$(bins))
        sha256sum -b $(addprefix bin/,$(bins)) | sed 's/bin\///' > $@
@@ -85,7 +98,7 @@
 
 .PHONY: clean-images
 clean-images:
-       docker rmi ghcr.io/k0sproject/k0sctl:$(TAG_NAME)-amd64 
ghcr.io/k0sproject/k0sctl:$(TAG_NAME)-arm64 
ghcr.io/k0sproject/k0sctl:$(TAG_NAME)-arm
+       docker rmi ghcr.io/k0sproject/k0sctl:$(TAG_NAME)-amd64 
ghcr.io/k0sproject/k0sctl:$(TAG_NAME)-arm64 
ghcr.io/k0sproject/k0sctl:$(TAG_NAME)-arm 
ghcr.io/k0sproject/k0sctl:$(TAG_NAME)-riscv64
 
 smoketests := smoke-basic smoke-basic-rootless smoke-files smoke-upgrade 
smoke-reset smoke-os-override smoke-init smoke-backup-restore smoke-dynamic 
smoke-basic-openssh smoke-dryrun smoke-downloadurl smoke-controller-swap 
smoke-reinstall smoke-multidoc
 .PHONY: $(smoketests)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/k0sctl-0.29.0/README.md new/k0sctl-0.30.0/README.md
--- old/k0sctl-0.29.0/README.md 2026-03-24 11:03:16.000000000 +0100
+++ new/k0sctl-0.30.0/README.md 2026-04-29 13:57:59.000000000 +0200
@@ -56,20 +56,61 @@
 
 ### Package managers
 
+[![Packaging 
status](https://repology.org/badge/vertical-allrepos/k0sctl.svg)](https://repology.org/project/k0sctl/versions)
+
+Note: All packages except for Homebrew and WinGet are community maintained. Any
+issues should be reported to the respective package maintainers.
+
 #### [Homebrew](https://brew.sh/) (macOS, Linux)
 
 ```sh
 brew install k0sproject/tap/k0sctl
 ```
 
-#### [Chocolatey](https://chocolatey.org/) (Windows)
+#### [Nixpkgs](https://search.nixos.org/packages?query=k0sctl) (Linux, macOS)
+
+```sh
+nix profile install nixpkgs#k0sctl
+```
+
+#### [Alpine](https://pkgs.alpinelinux.org/packages?name=k0sctl) (Linux)
 
-Note: The [chocolatey 
package](https://community.chocolatey.org/packages/k0sctl) is community 
maintained, any issues should be reported to the maintainer of the package.
+Available in Alpine `community` repositories.
+
+```sh
+apk add k0sctl
+```
+
+#### [openSUSE](https://software.opensuse.org/package/k0sctl) (Linux)
+
+Available as an official package for openSUSE Tumbleweed.
+
+```sh
+zypper install k0sctl
+```
+
+#### [AUR](https://aur.archlinux.org/packages/k0sctl) (Arch Linux)
+
+Install with an AUR helper:
+
+```sh
+yay -S k0sctl-bin
+# or:
+paru -S k0sctl-bin
+```
+
+#### [Chocolatey](https://community.chocolatey.org/packages/k0sctl) (Windows)
 
 ```sh
 choco install k0sctl
 ```
 
+#### [WinGet](https://learn.microsoft.com/windows/package-manager/winget/) 
(Windows)
+
+```pwsh
+winget install k0sproject.k0sctl
+```
+
 ### Container usage
 
 It is possible to use `k0sctl` as a docker/OCI container:
@@ -845,7 +886,7 @@
 The following tokens can be used in the `k0sDownloadURL` and `files.[*].src` 
fields:
 
 - `%%` - literal `%`
-- `%p` - host architecture (arm, arm64, amd64)
+- `%p` - host architecture (arm, arm64, amd64, riscv64)
 - `%v` - k0s version (v1.21.0+k0s.0)
 - `%x` - k0s binary extension (.exe on Windows, empty elsewhere)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/k0sctl-0.29.0/configurer/linux.go 
new/k0sctl-0.30.0/configurer/linux.go
--- old/k0sctl-0.29.0/configurer/linux.go       2026-03-24 11:03:16.000000000 
+0100
+++ new/k0sctl-0.30.0/configurer/linux.go       2026-04-29 13:57:59.000000000 
+0200
@@ -98,6 +98,8 @@
                return "arm64", nil
        case "armv7l", "armv8l", "aarch32", "arm32", "armhfp", "arm-32":
                return "arm", nil
+       case "riscv64":
+               return "riscv64", nil
        default:
                return arch, nil
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/k0sctl-0.29.0/go.mod new/k0sctl-0.30.0/go.mod
--- old/k0sctl-0.29.0/go.mod    2026-03-24 11:03:16.000000000 +0100
+++ new/k0sctl-0.30.0/go.mod    2026-04-29 13:57:59.000000000 +0200
@@ -6,7 +6,7 @@
 
 require (
        github.com/AlecAivazis/survey/v2 v2.3.7
-       github.com/Azure/go-ntlmssp v0.1.0 // indirect
+       github.com/Azure/go-ntlmssp v0.1.1 // indirect
        github.com/ChrisTrenkamp/goxpath v0.0.0-20210404020558-97928f7e12b6 // 
indirect
        github.com/a8m/envsubst v1.4.3
        github.com/adrg/xdg v0.5.3
@@ -14,11 +14,11 @@
        github.com/creasty/defaults v1.8.0
        github.com/gofrs/uuid v4.4.0+incompatible // indirect
        github.com/k0sproject/dig v0.4.0
-       github.com/k0sproject/rig v0.21.2
+       github.com/k0sproject/rig v0.21.4
        github.com/logrusorgru/aurora v2.0.3+incompatible
        github.com/masterzen/simplexml v0.0.0-20190410153822-31eea3082786 // 
indirect
        github.com/masterzen/winrm v0.0.0-20250927112105-5f8e6c707321 // 
indirect
-       github.com/mattn/go-isatty v0.0.20
+       github.com/mattn/go-isatty v0.0.22
        github.com/shiena/ansicolor v0.0.0-20230509054315-a9deabde6e02
        github.com/sirupsen/logrus v1.9.4
        github.com/stretchr/testify v1.11.1
@@ -27,19 +27,19 @@
        golang.org/x/net v0.52.0 // indirect
        golang.org/x/sys v0.42.0 // indirect
        golang.org/x/term v0.41.0 // indirect
-       golang.org/x/text v0.35.0
+       golang.org/x/text v0.36.0
        gopkg.in/yaml.v2 v2.4.0
 )
 
 require (
        al.essio.dev/pkg/shellescape v1.6.0
        github.com/carlmjohnson/versioninfo v0.22.5
-       github.com/go-playground/validator/v10 v10.30.1
+       github.com/go-playground/validator/v10 v10.30.2
        github.com/jellydator/validation v1.2.0
        github.com/k0sproject/version v0.8.0
        github.com/sergi/go-diff v1.4.0
-       k8s.io/apimachinery v0.35.3
-       k8s.io/client-go v0.35.3
+       k8s.io/apimachinery v0.36.0
+       k8s.io/client-go v0.36.0
 )
 
 require (
@@ -88,7 +88,7 @@
        gopkg.in/inf.v0 v0.9.1 // indirect
        gopkg.in/yaml.v3 v3.0.1 // indirect
        k8s.io/klog/v2 v2.140.0 // indirect
-       k8s.io/kube-openapi v0.0.0-20260304202019-5b3e3fdb0acf // indirect
+       k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a // indirect
        k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 // indirect
        sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
        sigs.k8s.io/randfill v1.0.0 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/k0sctl-0.29.0/go.sum new/k0sctl-0.30.0/go.sum
--- old/k0sctl-0.29.0/go.sum    2026-03-24 11:03:16.000000000 +0100
+++ new/k0sctl-0.30.0/go.sum    2026-04-29 13:57:59.000000000 +0200
@@ -2,8 +2,8 @@
 al.essio.dev/pkg/shellescape v1.6.0/go.mod 
h1:6sIqp7X2P6mThCQ7twERpZTuigpr6KbZWtls1U8I890=
 github.com/AlecAivazis/survey/v2 v2.3.7 
h1:6I/u8FvytdGsgonrYsVn2t8t4QiRnh6QSTqkkhIiSjQ=
 github.com/AlecAivazis/survey/v2 v2.3.7/go.mod 
h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo=
-github.com/Azure/go-ntlmssp v0.1.0 
h1:DjFo6YtWzNqNvQdrwEyr/e4nhU3vRiwenz5QX7sFz+A=
-github.com/Azure/go-ntlmssp v0.1.0/go.mod 
h1:NYqdhxd/8aAct/s4qSYZEerdPuH1liG2/X9DiVTbhpk=
+github.com/Azure/go-ntlmssp v0.1.1 
h1:l+FM/EEMb0U9QZE7mKNEDw5Mu3mFiaa2GKOoTSsNDPw=
+github.com/Azure/go-ntlmssp v0.1.1/go.mod 
h1:NYqdhxd/8aAct/s4qSYZEerdPuH1liG2/X9DiVTbhpk=
 github.com/ChrisTrenkamp/goxpath v0.0.0-20210404020558-97928f7e12b6 
h1:w0E0fgc1YafGEh5cROhlROMWXiNoZqApk2PDN0M1+Ns=
 github.com/ChrisTrenkamp/goxpath v0.0.0-20210404020558-97928f7e12b6/go.mod 
h1:nuWgzSkT5PnyOd+272uUmV0dnAnAn42Mk7PiQC5VzN4=
 github.com/Microsoft/go-winio v0.6.2 
h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
@@ -40,8 +40,8 @@
 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davidmz/go-pageant v1.0.2 
h1:bPblRCh5jGU+Uptpz6LgMZGD5hJoOt7otgT454WvHn0=
 github.com/davidmz/go-pageant v1.0.2/go.mod 
h1:P2EDDnMqIwG5Rrp05dTRITj9z2zpGcD9efWSkTNKLIE=
-github.com/emicklei/go-restful/v3 v3.12.2 
h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU=
-github.com/emicklei/go-restful/v3 v3.12.2/go.mod 
h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
+github.com/emicklei/go-restful/v3 v3.13.0 
h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes=
+github.com/emicklei/go-restful/v3 v3.13.0/go.mod 
h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
 github.com/fxamacker/cbor/v2 v2.9.0 
h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM=
 github.com/fxamacker/cbor/v2 v2.9.0/go.mod 
h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ=
 github.com/gabriel-vasile/mimetype v1.4.13 
h1:46nXokslUBsAJE/wMsp5gtO500a4F3Nkz9Ufpk2AcUM=
@@ -60,8 +60,8 @@
 github.com/go-playground/locales v0.14.1/go.mod 
h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
 github.com/go-playground/universal-translator v0.18.1 
h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
 github.com/go-playground/universal-translator v0.18.1/go.mod 
h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
-github.com/go-playground/validator/v10 v10.30.1 
h1:f3zDSN/zOma+w6+1Wswgd9fLkdwy06ntQJp0BBvFG0w=
-github.com/go-playground/validator/v10 v10.30.1/go.mod 
h1:oSuBIQzuJxL//3MelwSLD5hc2Tu889bF0Idm9Dg26cM=
+github.com/go-playground/validator/v10 v10.30.2 
h1:JiFIMtSSHb2/XBUbWM4i/MpeQm9ZK2xqPNk8vgvu5JQ=
+github.com/go-playground/validator/v10 v10.30.2/go.mod 
h1:mAf2pIOVXjTEBrwUMGKkCWKKPs9NheYGabeB04txQSc=
 github.com/gofrs/uuid v4.4.0+incompatible 
h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA=
 github.com/gofrs/uuid v4.4.0+incompatible/go.mod 
h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
 github.com/google/gnostic-models v0.7.0 
h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo=
@@ -104,8 +104,8 @@
 github.com/json-iterator/go v1.1.12/go.mod 
h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
 github.com/k0sproject/dig v0.4.0 
h1:yBxFUUxNXAMGBg6b7c6ypxdx/o3RmhoI5v5ABOw5tn0=
 github.com/k0sproject/dig v0.4.0/go.mod 
h1:rlZ7N7ZEcB4Fi96TPXkZ4dqyAiDWOGLapyL9YpZ7Qz4=
-github.com/k0sproject/rig v0.21.2 
h1:1a4pt5j37wSZ+LH85NqltmBKHIxhZm7RD5jOig8Z+Xs=
-github.com/k0sproject/rig v0.21.2/go.mod 
h1:bdRDs2dJngbYAEWd6+irYlzUqqBeVXVBcSelpaIvuCw=
+github.com/k0sproject/rig v0.21.4 
h1:FnBZNEzE+ND7o1P8bmTGawDIqtc33xuaclGHiP76kug=
+github.com/k0sproject/rig v0.21.4/go.mod 
h1:bdRDs2dJngbYAEWd6+irYlzUqqBeVXVBcSelpaIvuCw=
 github.com/k0sproject/version v0.8.0 
h1:Yh1SFDeBqQ7etrGwffY8bWKdbAUjeBOhiZ6oQuuz4sM=
 github.com/k0sproject/version v0.8.0/go.mod 
h1:iNV3O8blndsQhxZ8zACfpQhrLDlrTvDlCzx+vgCFtSI=
 github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 
h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
@@ -132,8 +132,8 @@
 github.com/mattn/go-colorable v0.1.14 
h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
 github.com/mattn/go-colorable v0.1.14/go.mod 
h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
 github.com/mattn/go-isatty v0.0.8/go.mod 
h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
-github.com/mattn/go-isatty v0.0.20 
h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
-github.com/mattn/go-isatty v0.0.20/go.mod 
h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
+github.com/mattn/go-isatty v0.0.22 
h1:j8l17JJ9i6VGPUFUYoTUKPSgKe/83EYU2zBC7YNKMw4=
+github.com/mattn/go-isatty v0.0.22/go.mod 
h1:ZXfXG4SQHsB/w3ZeOYbR0PrPwLy+n6xiMrJlRFqopa4=
 github.com/mattn/go-shellwords v1.0.12 
h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk=
 github.com/mattn/go-shellwords v1.0.12/go.mod 
h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y=
 github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod 
h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
@@ -214,7 +214,6 @@
 golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo=
 golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
@@ -227,16 +226,16 @@
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
 golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8=
-golang.org/x/text v0.35.0/go.mod 
h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA=
+golang.org/x/text v0.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg=
+golang.org/x/text v0.36.0/go.mod 
h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164=
 golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U=
 golang.org/x/time v0.15.0/go.mod 
h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod 
h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod 
h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.1.12/go.mod 
h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/protobuf v1.36.8 
h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc=
-google.golang.org/protobuf v1.36.8/go.mod 
h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU=
+google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af 
h1:+5/Sw3GsDNlEmu7TfklWKPdQ0Ykja5VEmq2i817+jbI=
+google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af/go.mod 
h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 
h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -250,16 +249,16 @@
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod 
h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-k8s.io/api v0.35.3 h1:pA2fiBc6+N9PDf7SAiluKGEBuScsTzd2uYBkA5RzNWQ=
-k8s.io/api v0.35.3/go.mod h1:9Y9tkBcFwKNq2sxwZTQh1Njh9qHl81D0As56tu42GA4=
-k8s.io/apimachinery v0.35.3 h1:MeaUwQCV3tjKP4bcwWGgZ/cp/vpsRnQzqO6J6tJyoF8=
-k8s.io/apimachinery v0.35.3/go.mod 
h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns=
-k8s.io/client-go v0.35.3 h1:s1lZbpN4uI6IxeTM2cpdtrwHcSOBML1ODNTCCfsP1pg=
-k8s.io/client-go v0.35.3/go.mod h1:RzoXkc0mzpWIDvBrRnD+VlfXP+lRzqQjCmKtiwZ8Q9c=
+k8s.io/api v0.36.0 h1:SgqDhZzHdOtMk40xVSvCXkP9ME0H05hPM3p9AB1kL80=
+k8s.io/api v0.36.0/go.mod h1:m1LVrGPNYax5NBHdO+QuAedXyuzTt4RryI/qnmNvs34=
+k8s.io/apimachinery v0.36.0 h1:jZyPzhd5Z+3h9vJLt0z9XdzW9VzNzWAUw+P1xZ9PXtQ=
+k8s.io/apimachinery v0.36.0/go.mod 
h1:FklypaRJt6n5wUIwWXIP6GJlIpUizTgfo1T/As+Tyxc=
+k8s.io/client-go v0.36.0 h1:pOYi7C4RHChYjMiHpZSpSbIM6ZxVbRXBy7CuiIwqA3c=
+k8s.io/client-go v0.36.0/go.mod h1:ZKKcpwF0aLYfkHFCjillCKaTK/yBkEDHTDXCFY6AS9Y=
 k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc=
 k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0=
-k8s.io/kube-openapi v0.0.0-20260304202019-5b3e3fdb0acf 
h1:btPscg4cMql0XdYK2jLsJcNEKmACJz8l+U7geC06FiM=
-k8s.io/kube-openapi v0.0.0-20260304202019-5b3e3fdb0acf/go.mod 
h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ=
+k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a 
h1:xCeOEAOoGYl2jnJoHkC3hkbPJgdATINPMAxaynU2Ovg=
+k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a/go.mod 
h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0=
 k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 
h1:AZYQSJemyQB5eRxqcPky+/7EdBj0xi3g0ZcxxJ7vbWU=
 k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2/go.mod 
h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk=
 sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 
h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/k0sctl-0.29.0/phase/gather_facts.go 
new/k0sctl-0.30.0/phase/gather_facts.go
--- old/k0sctl-0.29.0/phase/gather_facts.go     2026-03-24 11:03:16.000000000 
+0100
+++ new/k0sctl-0.30.0/phase/gather_facts.go     2026-04-29 13:57:59.000000000 
+0200
@@ -3,6 +3,7 @@
 import (
        "context"
        "fmt"
+       "strings"
 
        
"github.com/k0sproject/k0sctl/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster"
        "github.com/k0sproject/version"
@@ -67,7 +68,7 @@
                if n == "" {
                        return fmt.Errorf("%s: failed to resolve a hostname", h)
                }
-               h.Metadata.Hostname = n
+               h.Metadata.Hostname = strings.ToLower(n)
                log.Infof("%s: using %s as hostname", h, n)
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/k0sctl-0.29.0/phase/upload_k0s_test.go 
new/k0sctl-0.30.0/phase/upload_k0s_test.go
--- old/k0sctl-0.29.0/phase/upload_k0s_test.go  2026-03-24 11:03:16.000000000 
+0100
+++ new/k0sctl-0.30.0/phase/upload_k0s_test.go  2026-04-29 13:57:59.000000000 
+0200
@@ -1,14 +1,18 @@
 package phase
 
 import (
+       "errors"
        "os"
        "path/filepath"
        "runtime"
        "testing"
 
+       "github.com/k0sproject/k0sctl/configurer/linux"
+       "github.com/k0sproject/k0sctl/configurer/windows"
        
"github.com/k0sproject/k0sctl/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster"
        "github.com/k0sproject/k0sctl/pkg/k0s/binprovider"
        "github.com/k0sproject/rig"
+       rigos "github.com/k0sproject/rig/os"
        "github.com/stretchr/testify/assert"
        "github.com/stretchr/testify/require"
 )
@@ -30,10 +34,13 @@
        }
        dest := filepath.Join(destDir, destName)
 
-       h := &cluster.Host{
-               Connection:     rig.Connection{Localhost: 
&rig.Localhost{Enabled: true}},
+       h := &genericHost{cluster.Host{
+               Connection: rig.Connection{
+                       OSVersion: &rig.OSVersion{Name: "unknown", ID: 
"unknown"},
+                       Localhost: &rig.Localhost{Enabled: true},
+               },
                K0sInstallPath: dest,
-       }
+       }}
        h.SetSudofn(func(cmd string) string { return cmd })
        h.Connection.SetDefaults()
        require.NoError(t, h.Connect())
@@ -61,3 +68,32 @@
                assert.Equal(t, "test", string(content))
        }
 }
+
+type genericHost struct {
+       cluster.Host
+}
+
+// Stub out OS detection parts
+func (h *genericHost) ResolveConfigurer() error {
+       switch runtime.GOOS {
+       case "linux":
+               h.OSVersion = &rig.OSVersion{Name: "linux", ID: "linux"}
+               h.Configurer = &genericLinux{}
+               return nil
+       case "windows":
+               h.OSVersion = &rig.OSVersion{Name: "windows", ID: "windows"}
+               h.Configurer = &windows.Windows{}
+               return nil
+       }
+
+       return errors.ErrUnsupported
+}
+
+type genericLinux struct {
+       rigos.Linux
+       linux.BaseLinux
+}
+
+func (*genericLinux) InstallPackage(rigos.Host, ...string) error {
+       return errors.ErrUnsupported
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/k0sctl-0.29.0/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster/host.go 
new/k0sctl-0.30.0/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster/host.go
--- old/k0sctl-0.29.0/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster/host.go     
2026-03-24 11:03:16.000000000 +0100
+++ new/k0sctl-0.30.0/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster/host.go     
2026-04-29 13:57:59.000000000 +0200
@@ -761,7 +761,7 @@
 // The supported tokens are:
 //
 //   - %% - literal %
-//   - %p - host architecture (arm, arm64, amd64)
+//   - %p - host architecture (arm, arm64, amd64, riscv64)
 //   - %v - k0s version (v1.21.0+k0s.0)
 //   - %x - k0s binary extension (.exe on Windows)
 //
@@ -789,7 +789,7 @@
                                // Literal %.
                                builder.WriteByte('%')
                        case 'p':
-                               // Host architecture (arm, arm64, amd64).
+                               // Host architecture (arm, arm64, amd64, 
riscv64).
                                builder.WriteString(archToken)
                        case 'v':
                                // K0s version (v1.21.0+k0s.0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/k0sctl-0.29.0/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster/k0s.go 
new/k0sctl-0.30.0/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster/k0s.go
--- old/k0sctl-0.29.0/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster/k0s.go      
2026-03-24 11:03:16.000000000 +0100
+++ new/k0sctl-0.30.0/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster/k0s.go      
2026-04-29 13:57:59.000000000 +0200
@@ -133,7 +133,7 @@
        return dig.Mapping{
                "apiVersion": k.Config.DigString("apiVersion"),
                "kind":       k.Config.DigString("kind"),
-               "Metadata": dig.Mapping{
+               "metadata": dig.Mapping{
                        "name": k.Config.DigMapping("metadata")["name"],
                },
                "spec": dig.Mapping{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/k0sctl-0.29.0/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster/k0s_test.go 
new/k0sctl-0.30.0/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster/k0s_test.go
--- old/k0sctl-0.29.0/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster/k0s_test.go 
2026-03-24 11:03:16.000000000 +0100
+++ new/k0sctl-0.30.0/pkg/apis/k0sctl.k0sproject.io/v1beta1/cluster/k0s_test.go 
2026-04-29 13:57:59.000000000 +0200
@@ -4,6 +4,7 @@
        "testing"
 
        "github.com/creasty/defaults"
+       "github.com/k0sproject/dig"
        "github.com/k0sproject/version"
        "github.com/stretchr/testify/require"
        "gopkg.in/yaml.v2"
@@ -42,3 +43,32 @@
                require.NoError(t, k0s.Validate())
        })
 }
+
+func TestNodeConfigUsesLowercaseMetadataKey(t *testing.T) {
+       k0s := &K0s{
+               Config: dig.Mapping{
+                       "apiVersion": "k0s.k0sproject.io/v1beta1",
+                       "kind":       "ClusterConfig",
+                       "metadata": dig.Mapping{
+                               "name": "k0s",
+                       },
+                       "spec": dig.Mapping{
+                               "api": dig.Mapping{
+                                       "address": "10.0.0.1",
+                               },
+                               "network": dig.Mapping{
+                                       "provider": "kuberouter",
+                               },
+                               "storage": dig.Mapping{
+                                       "type": "etcd",
+                               },
+                       },
+               },
+       }
+
+       nodeConfig := k0s.NodeConfig()
+
+       require.Contains(t, nodeConfig, "metadata")
+       require.NotContains(t, nodeConfig, "Metadata")
+       require.Equal(t, "k0s", nodeConfig.DigString("metadata", "name"))
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/k0sctl-0.29.0/smoke-test/smoke.common.sh 
new/k0sctl-0.30.0/smoke-test/smoke.common.sh
--- old/k0sctl-0.29.0/smoke-test/smoke.common.sh        2026-03-24 
11:03:16.000000000 +0100
+++ new/k0sctl-0.30.0/smoke-test/smoke.common.sh        2026-04-29 
13:57:59.000000000 +0200
@@ -29,6 +29,7 @@
     ARCH="amd64"
     case $(uname -m) in
         arm,arm64) ARCH="arm64" ;;
+        riscv64) ARCH="riscv64" ;;
     esac
     [ -f kubectl ] || (curl -L 
https://dl.k8s.io/release/v1.28.2/bin/${OS}/${ARCH}/kubectl > ./kubectl && 
chmod +x ./kubectl)
     ./kubectl version --client

++++++ k0sctl.obsinfo ++++++
--- /var/tmp/diff_new_pack.FTyH3s/_old  2026-04-30 20:29:33.524749018 +0200
+++ /var/tmp/diff_new_pack.FTyH3s/_new  2026-04-30 20:29:33.560750495 +0200
@@ -1,5 +1,5 @@
 name: k0sctl
-version: 0.29.0
-mtime: 1774346596
-commit: 48ad3a597ebe6ab27e8fa0872a222ca72cbc030c
+version: 0.30.0
+mtime: 1777463879
+commit: 82afeb597ef397a7dea2a444b837ece0a6794c48
 

++++++ vendor.tar.gz ++++++
++++ 5237 lines of diff (skipped)

Reply via email to