Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package talosctl for openSUSE:Factory checked in at 2026-01-23 17:33:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/talosctl (Old) and /work/SRC/openSUSE:Factory/.talosctl.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "talosctl" Fri Jan 23 17:33:30 2026 rev:41 rq:1328797 version:1.12.2 Changes: -------- --- /work/SRC/openSUSE:Factory/talosctl/talosctl.changes 2026-01-12 10:35:12.283772048 +0100 +++ /work/SRC/openSUSE:Factory/.talosctl.new.1928/talosctl.changes 2026-01-23 17:33:45.619648755 +0100 @@ -1,0 +2,17 @@ +Fri Jan 23 06:20:31 UTC 2026 - Johannes Kastl <[email protected]> + +- update to 1.12.2: + https://github.com/siderolabs/talos/releases/tag/v1.12.2 + * talosctl images talos-bundle can ignore reaching to the + registry + The talosctl images talos-bundle command now accepts optional + --ovelays and --extensions flags. + If those are set to false, the command will not attempt to + reach out to the container registry to fetch the latest + versions and digests of the overlays and extensions. + * 9f8d938db fix: print talosctl images to release notes +- update to 1.12.1: + https://github.com/siderolabs/talos/releases/tag/v1.12.1 + * no CLI-related changes in the Changelog + +------------------------------------------------------------------- Old: ---- talosctl-1.12.0.obscpio New: ---- talosctl-1.12.1.obscpio talosctl-1.12.2.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ talosctl.spec ++++++ --- /var/tmp/diff_new_pack.JtxWMb/_old 2026-01-23 17:33:46.907701838 +0100 +++ /var/tmp/diff_new_pack.JtxWMb/_new 2026-01-23 17:33:46.907701838 +0100 @@ -17,7 +17,7 @@ Name: talosctl -Version: 1.12.0 +Version: 1.12.2 Release: 0 Summary: CLI to interact with Talos Linux License: MPL-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.JtxWMb/_old 2026-01-23 17:33:46.959703980 +0100 +++ /var/tmp/diff_new_pack.JtxWMb/_new 2026-01-23 17:33:46.967704310 +0100 @@ -4,7 +4,7 @@ <param name="scm">git</param> <param name="exclude">.git</param> <param name="exclude">go.work</param> - <param name="revision">v1.12.0</param> + <param name="revision">v1.12.2</param> <param name="match-tag">v*</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> ++++++ talosctl-1.12.0.obscpio -> talosctl-1.12.1.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/CHANGELOG.md new/talosctl-1.12.1/CHANGELOG.md --- old/talosctl-1.12.0/CHANGELOG.md 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/CHANGELOG.md 2026-01-05 12:50:33.000000000 +0100 @@ -1,3 +1,64 @@ +## [Talos 1.12.1](https://github.com/siderolabs/talos/releases/tag/v1.12.1) (2026-01-05) + +Welcome to the v1.12.1 release of Talos! + + + +Please try out the release binaries and report any issues at +https://github.com/siderolabs/talos/issues. + +### Component Updates + +Linux: 6.18.2 + +Talos is built with Go 1.25.5. + + +### Contributors + +* Andrey Smirnov +* Mateusz Urbanek +* Dmitrii Sharshakov + +### Changes +<details><summary>6 commits</summary> +<p> + +* [`78a785604`](https://github.com/siderolabs/talos/commit/78a785604ad40eb9f1634c9db5477bd6ce99428c) chore: run rekres and update dependencies +* [`c31067173`](https://github.com/siderolabs/talos/commit/c3106717392a34fcca959b414f5064d6c799eaa3) fix: disable swap for system services +* [`a7e8426cf`](https://github.com/siderolabs/talos/commit/a7e8426cfb46f4c46476243032e2f4ade1fe9dfc) test: skip the source bundle on exact tag +* [`943984167`](https://github.com/siderolabs/talos/commit/943984167c22af0853d2c956677a241acece807f) fix: probe small images correctly +* [`42df71637`](https://github.com/siderolabs/talos/commit/42df71637763b1bf10bdf0fe89f650c367605b8c) fix: invalid versions check in talos-bundle +* [`a3e90e445`](https://github.com/siderolabs/talos/commit/a3e90e445f0f99b050eb98fcd9565b2b5e3397bf) fix: make upgrade work with SELinux enforcing=1 +</p> +</details> + +### Changes from siderolabs/pkgs +<details><summary>2 commits</summary> +<p> + +* [`90ff196`](https://github.com/siderolabs/pkgs/commit/90ff1965cdb2ab54d8e826f3673324cd1b5c94da) chore: run rekres and update dependencies +* [`2b30517`](https://github.com/siderolabs/pkgs/commit/2b3051775ca0d7531f65b81572e391a96b4a2c04) feat: update Linux to 6.18.2 +</p> +</details> + +### Changes from siderolabs/tools +<details><summary>1 commit</summary> +<p> + +* [`5df8bae`](https://github.com/siderolabs/tools/commit/5df8baedd100b6f117f664f383944daaf3371804) chore: run rekres and update dependencies +</p> +</details> + +### Dependency Changes + +* **github.com/klauspost/compress** v1.18.1 -> v1.18.2 +* **github.com/siderolabs/go-blockdevice/v2** v2.0.20 -> v2.0.22 +* **github.com/siderolabs/pkgs** v1.12.0-23-ge0b78b8 -> v1.12.0-25-g90ff196 +* **github.com/siderolabs/tools** v1.12.0-2-g7d57df0 -> v1.12.0-3-g5df8bae + +Previous release can be found at [v1.12.0](https://github.com/siderolabs/talos/releases/tag/v1.12.0) + ## [Talos 1.12.0](https://github.com/siderolabs/talos/releases/tag/v1.12.0) (2025-12-22) Welcome to the v1.12.0 release of Talos! diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/Makefile new/talosctl-1.12.1/Makefile --- old/talosctl-1.12.0/Makefile 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/Makefile 2026-01-05 12:50:33.000000000 +0100 @@ -25,9 +25,9 @@ EMBED_TARGET ?= embed TOOLS_PREFIX ?= ghcr.io/siderolabs/tools -TOOLS ?= v1.12.0-2-g7d57df0 +TOOLS ?= v1.12.0-3-g5df8bae PKGS_PREFIX ?= ghcr.io/siderolabs -PKGS ?= v1.12.0-23-ge0b78b8 +PKGS ?= v1.12.0-25-g90ff196 GENERATE_VEX_PREFIX ?= ghcr.io/siderolabs/generate-vex GENERATE_VEX ?= latest diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/cmd/talosctl/cmd/talos/image.go new/talosctl-1.12.1/cmd/talosctl/cmd/talos/image.go --- old/talosctl-1.12.0/cmd/talosctl/cmd/talos/image.go 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/cmd/talosctl/cmd/talos/image.go 2026-01-05 12:50:33.000000000 +0100 @@ -198,6 +198,12 @@ panic(err) // panic, this should never happen } + maximumVersion.Patch = 0 + maximumVersion.Pre = nil + if err := maximumVersion.IncrementMinor(); err != nil { + panic(err) // panic, this should never happen + } + // If no version specified, use current version if len(args) == 0 { return nil @@ -205,13 +211,19 @@ tag := args[0] + if !strings.HasPrefix(tag, "v") { + return fmt.Errorf("invalid tag %q: must have \"v\" prefix", tag) + } + ver, err := semver.ParseTolerant(tag) if err != nil { - return fmt.Errorf("invalid argument %q for %q: tag must be a valid semver", tag, cmd.CommandPath()) + return fmt.Errorf("invalid argument %q: tag must be a valid semver", tag) } if !ver.GTE(minimumVersion) || !ver.LT(maximumVersion) { - return fmt.Errorf("invalid argument %q for %q: tag for the bundle must be within range \"v%s\" - \"v%s\"", tag, cmd.CommandPath(), minimumVersion, maximumVersion) + return fmt.Errorf( + "invalid tag %q: must be between v%s (inclusive) and v%s (exclusive)", tag, minimumVersion, maximumVersion, + ) } return nil diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/go.mod new/talosctl-1.12.1/go.mod --- old/talosctl-1.12.0/go.mod 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/go.mod 2026-01-05 12:50:33.000000000 +0100 @@ -103,7 +103,7 @@ github.com/jeromer/syslogparser v1.1.0 github.com/jsimonetti/rtnetlink/v2 v2.1.0 github.com/jxskiss/base62 v1.1.0 - github.com/klauspost/compress v1.18.1 + github.com/klauspost/compress v1.18.2 github.com/klauspost/cpuid/v2 v2.3.0 github.com/linode/go-metadata v0.2.2 github.com/martinlindhe/base36 v1.1.1 @@ -139,7 +139,7 @@ github.com/siderolabs/discovery-client v0.1.13 github.com/siderolabs/gen v0.8.6 github.com/siderolabs/go-api-signature v0.3.12 - github.com/siderolabs/go-blockdevice/v2 v2.0.20 + github.com/siderolabs/go-blockdevice/v2 v2.0.22 github.com/siderolabs/go-circular v0.2.3 github.com/siderolabs/go-cmd v0.1.3 github.com/siderolabs/go-copy v0.1.0 @@ -160,7 +160,7 @@ github.com/siderolabs/net v0.4.0 github.com/siderolabs/proto-codec v0.1.2 github.com/siderolabs/siderolink v0.3.15 - github.com/siderolabs/talos/pkg/machinery v1.12.0 + github.com/siderolabs/talos/pkg/machinery v1.12.1 github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.10.1 github.com/spf13/pflag v1.0.10 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/go.sum new/talosctl-1.12.1/go.sum --- old/talosctl-1.12.0/go.sum 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/go.sum 2026-01-05 12:50:33.000000000 +0100 @@ -410,8 +410,8 @@ github.com/keybase/go-keychain v0.0.1/go.mod h1:PdEILRW3i9D8JcdM+FmY6RwkHGnhHxXwkPPMeUgOK1k= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.18.1 h1:bcSGx7UbpBqMChDtsF28Lw6v/G94LPrrbMbdC3JH2co= -github.com/klauspost/compress v1.18.1/go.mod h1:ZQFFVG+MdnR0P+l6wpXgIL4NTtwiKIdBnrBd8Nrxr+0= +github.com/klauspost/compress v1.18.2 h1:iiPHWW0YrcFgpBYhsA6D1+fqHssJscY/Tm/y2Uqnapk= +github.com/klauspost/compress v1.18.2/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= @@ -621,8 +621,8 @@ github.com/siderolabs/gen v0.8.6/go.mod h1:J9IbusbES2W6QWjtSHpDV9iPGZHc978h1+KJ4oQRspQ= github.com/siderolabs/go-api-signature v0.3.12 h1:i1X+kPh9fzo+lEjtEplZSbtq1p21vKv4FCWJcB/ozvk= github.com/siderolabs/go-api-signature v0.3.12/go.mod h1:dPLiXohup4qHX7KUgF/wwOE3lRU5uAr3ssEomNxiyxY= -github.com/siderolabs/go-blockdevice/v2 v2.0.20 h1:qlplJNbyrUTAOcvM7Lyi8HCCu1Mm+Sk5YLOZFDv2y40= -github.com/siderolabs/go-blockdevice/v2 v2.0.20/go.mod h1:nqUmQxOSex/Sg70x+QyhdE/VtXZ6Q53Z4FoR2RFBzZU= +github.com/siderolabs/go-blockdevice/v2 v2.0.22 h1:57SsdY/xWItgJCpF/++xwPp6jIllRO7q+IyX5xp4xB0= +github.com/siderolabs/go-blockdevice/v2 v2.0.22/go.mod h1:jtLk/1RMdhN9kIyVfFiSYwBvJx7Ule4lDLL+wM3tlIU= github.com/siderolabs/go-circular v0.2.3 h1:GKkA1Tw79kEFGtWdl7WTxEUTbwtklITeiRT0V1McHrA= github.com/siderolabs/go-circular v0.2.3/go.mod h1:YBN/q9YpQphUYnBtBgPsngauSHj1TEZfgQZWZVjk1WE= github.com/siderolabs/go-cmd v0.1.3 h1:JrgZwqhJQeoec3QRON0LK+fv+0y7d0DyY7zsfkO6ciw= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/hack/release.toml new/talosctl-1.12.1/hack/release.toml --- old/talosctl-1.12.0/hack/release.toml 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/hack/release.toml 2026-01-05 12:50:33.000000000 +0100 @@ -7,7 +7,7 @@ ignore_deps = ["github.com/coredns/coredns"] # previous release -previous = "v1.11.0" +previous = "v1.12.0" pre_release = false @@ -18,212 +18,11 @@ [notes.updates] title = "Component Updates" description = """\ -Linux: 6.18.1 -Kubernetes: 1.35.0 -CNI Plugins: 1.9.0 -cryptsetup: 2.8.1 -LVM2: 2_03_37 -systemd-udevd: 257.8 -etcd: 3.6.7 -CoreDNS: 1.13.2 -Flannel: 0.27.4 -Flannel CNI plugin: v1.8.0-flannel2 -runc: 1.3.4 -containerd: 2.1.6 -zfs: 2.4.0 +Linux: 6.18.2 Talos is built with Go 1.25.5. """ - [notes.aaawhatsnew] - title = "What's New" - description = """\ -See also [What's new in Talos v1.12.0](https://docs.siderolabs.com/talos/v1.12/getting-started/what's-new-in-talos) in the documentation for a summary of the most notable changes in this release. -""" - - [notes.luks2] - title = "Encrypted Volumes" - description = """\ -Talos Linux now consistently provides mapped names for encrypted volumes in the format `/dev/mapper/luks2-<volume-id>`. -This change should not affect system or user volumes, but might allow easier identification of encrypted volumes, -and specifically for raw encrypted volumes. -""" - - [notes.disk-encryption] - title = "Disk Encryption" - description = """\ -Talos versions prior to v1.12 used the state of PCR 7 and signed policies locked to PCR 11 for TPM based disk encryption. - -Talos now supports configuring which PCRs states are to be used for TPM based disk encryption via the `options.pcrs` -field in the `tpm` section of the disk encryption configuration. - -If user doesn't specify any options Talos defaults to using PCR 7 for backwards compatibility with existing installations. - -This change was made to improve compatibility with systems that may have varying states in PCR 7 due to UEFI Secure Boot configurations -and users may wish to disable locking to PCR 7 state entirely. - -Signed PCR policies will still be bound to PCR 11. - -The currently used PCR's can be seen with `talosctl get volumestatus <volume> -o yaml` command. -""" - - [notes.kspp] - title = "Kernel Security Posture Profile (KSPP)" - description = """\ -Talos now enables a stricter set of KSPP sysctl settings by default. -The list of overridden settings is available with `talosctl get kernelparamstatus` command. -""" - - [notes.extra-binaries] - title = "Extra Binaries" - description = """\ -Talos Linux now ships with `nft` binary in the rootfs to support CNIs which shell out to `nft` command. -""" - - [notes.ethernet-config] - title = "Ethernet Configuration" - description = """\ -The Ethernet configuration now includes a `wakeOnLAN` field to enable Wake-on-LAN (WOL) support. -This field can be set to enable WOL and specify the desired WOL modes. -""" - - [notes.embedded-config] - title = "Embedded Config" - description = """\ -Talos Linux now supports [embedding the machine configuration](https://www.talos.dev/v1.12/talos-guides/configuration/acquire/) directly into the boot image. -""" - - [notes.feature-lock] - title = "Feature Lock" - description = """\ -Talos now ignores the following machine configuration fields: - -- `machine.features.rbac` (locked to true) -- `machine.features.apidCheckExtKeyUsage` (locked to true) -- `cluster.apiServer.disablePodSecurityPolicy` (locked to true) - -These fields were removed from the default machine configuration schema in v1.12 and are now always set to the locked values above. -""" - - [notes.etcd] - title = "etcd" - description = """\ -etcd container image is now pulled from `registry.k8s.io/etcd` instead of `gcr.io/etcd-development/etcd`. -""" - - [notes.talosctl] - title = "talosctl image cache-serve" - description = """\ -`talosctl` includes new subcommand `image cache-serve`. -It allows serving the created OCI image registry over HTTP/HTTPS. -It is a read-only registry, meaning images cannot be pushed to it, but the backing storage can be updated by re-running the `cache-create` command; - -Additionally `talosctl image cache-create` has some changes: - * new flag `--layout`: `oci` (_default_), `flat`: - * `oci` preserves current behavior; - * `flat` does not repack artifact layer, but moves it to a destination directory, allowing it to be served by `talosctl image cache-serve`; - * changed flag `--platform`: now can accept multiple os/arch combinations: - * comma separated (`--platform=linux/amd64,linux/arm64`); - * multiple instances (`--platform=linux/amd64 --platform=linux/arm64`); -""" - - [notes.force-reboot] - title = "Talos force reboot" - description = """\ -Talos now supports a "force" reboot mode, which allows skipping the graceful userland termination. -It can be used in situations where a userland service (e.g. the kubelet) gets stuck during graceful shutdown, causing the regular reboot flow to fail. - -In addition, `talosctl` was updated to support this feature via `talosctl reboot --mode force`. -""" - - [notes.kernel-module] - title = "Kernel Module" - description = """\ -Talos now supports optionally disabling kernel module signature verification by setting `module.sig_enforce=0` kernel parameter. -By default module signature verification is enabled (`module.sig_enforce=1`). -When using Factory or Imager supply as `-module.sig_enfore module.sig_enforce=0` kernel parameters to disable module signature enforcement. -""" - - [notes.grub] - title = "GRUB" - description = """\ -Talos Linux introduces new machine configuration option `.machine.install.grubUseUKICmdline` to control whether GRUB should use the kernel command line -provided by the boot assets (UKI) or to use the command line constructed by Talos itself (legacy behavior). - -This option defaults to `true` for new installations, which means that GRUB will use the command line from the UKI, making it easier to customize kernel parameters via boot asset generation. -For existing installations upgrading to v1.12, this option will default to `false` to preserve the legacy behavior. -""" - - [notes.directory-user-volumes] - title = "New User Volume type - bind" - description = """\ -New field in UserVolumeConfig - `volumeType` that defaults to `partition`, but can be set to `directory`. -When set to `directory`, provisioning and filesystem operations are skipped and a directory is created under `/var/mnt/<name>`. - -The `directory` type enables lightweight storage volumes backed by a host directory, instead of requiring a full block device partition. - -When `volumeType = "directory"`: -- A directory is created at `/var/mnt/<metadata.name>`; -- `provisioning`, `filesystem` and `encryption` are prohibited. - -Note: this mode does not provide filesystem-level isolation and inherits the EPHEMERAL partition capacity limits. -It should not be used for workloads requiring predictable storage quotas. -""" - - [notes.registry-configuration] - title = "CRI Registry Configuration" - description = """\ -The CRI registry configuration in v1apha1 legacy machine configuration under `.machine.registries` is now deprecated, but still supported for backwards compatibility. -New configuration documents `RegistryMirrorConfig`, `RegistryAuthConfig` and `RegistryTLSConfig` should be used instead. -""" - - [notes.disk-user-volumes] - title = "New User Volume type - disk" - description = """\ -`volumeType` in UserVolumeConfig can be set to `disk`. -When set to `disk`, a full block device is used for the volume. - -When `volumeType = "disk"`: -- Size specific settings are not allowed in the provisioning block (`minSize`, `maxSize`, `grow`). -""" - - [notes.uefi-boot] - title = "UEFI Boot" - description = """\ -When using UEFI boot with systemd-boot as bootloader (on new installs of Talos from 1.10+ onwards), Talos will now not touch the UEFI boot order. -Talos 1.11 made a fix to create UEFI boot entry and set the boot order as first entry, but this behavior caused issues on some systems. -To avoid further issues, Talos will now only create the UEFI boot entry if it does not exist, but will not modify the boot order. -""" - - [notes.network-configuration] - title = "Network Configuration" - description = """\ -The network configuration under `.machine.network` (with the exception of KubeSpan) has been deprecated, but it is still supported for backwards compatibility. -See [documentation](https://docs.siderolabs.com/talos/v1.12/networking/configuration/overview) for more information. -""" - - [notes.apiserver-cipher-suites] - title = "API Server Cipher Suites" - description = """\ -The Kubernetes API server in Talos has been updated to use a more secure set of TLS cipher suites by default. -This is in line with a set of best practices documented in CIS 1.12 benchmark. - -You can still expand the list of supported cipher suites via the `cluster.apiServer.extraArgs."tls-cipher-suites"` machine configuration field if needed. -""" - - [notes.kernel-log] - title = "Kernel Log" - description = """\ -The kernel log (dmesg) is now also available as the service log named `kernel` (`talosctl logs kernel`). -""" - - [notes.persistent-logs] - title = "Persistent logs" - description = """\ -Talos now stores system component logs in /var/log, featuring automatic log rotation and keeping two most -recent log files. This change allows collecting logs from Talos like on any other Linux system. -""" - [make_deps] [make_deps.tools] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/internal/app/machined/pkg/system/runner/runner.go new/talosctl-1.12.1/internal/app/machined/pkg/system/runner/runner.go --- old/talosctl-1.12.0/internal/app/machined/pkg/system/runner/runner.go 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/internal/app/machined/pkg/system/runner/runner.go 2026-01-05 12:50:33.000000000 +0100 @@ -6,18 +6,15 @@ package runner import ( - "context" "fmt" "io" "time" containerd "github.com/containerd/containerd/v2/client" - ocicontainers "github.com/containerd/containerd/v2/core/containers" "github.com/containerd/containerd/v2/pkg/oci" "github.com/opencontainers/runtime-spec/specs-go" "github.com/siderolabs/gen/maps" "github.com/siderolabs/gen/optional" - "github.com/siderolabs/go-pointer" "github.com/siderolabs/talos/internal/app/machined/pkg/runtime" "github.com/siderolabs/talos/internal/app/machined/pkg/runtime/logging" @@ -245,23 +242,6 @@ } } -// WithMemoryReservation sets the memory reservation limit as on OCI spec. -func WithMemoryReservation(limit uint64) oci.SpecOpts { - return func(_ context.Context, _ oci.Client, _ *ocicontainers.Container, s *oci.Spec) error { - if s.Linux.Resources == nil { - s.Linux.Resources = &specs.LinuxResources{} - } - - if s.Linux.Resources.Memory == nil { - s.Linux.Resources.Memory = &specs.LinuxMemory{} - } - - s.Linux.Resources.Memory.Reservation = pointer.To(int64(limit)) - - return nil - } -} - // WithPriority sets the priority of the process. func WithPriority(priority int) Option { return func(args *Options) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/internal/app/machined/pkg/system/services/etcd.go new/talosctl-1.12.1/internal/app/machined/pkg/system/services/etcd.go --- old/talosctl-1.12.0/internal/app/machined/pkg/system/services/etcd.go 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/internal/app/machined/pkg/system/services/etcd.go 2026-01-05 12:50:33.000000000 +0100 @@ -36,7 +36,6 @@ "github.com/siderolabs/talos/internal/app/machined/pkg/system/runner" "github.com/siderolabs/talos/internal/app/machined/pkg/system/runner/containerd" "github.com/siderolabs/talos/internal/app/machined/pkg/system/runner/restart" - "github.com/siderolabs/talos/internal/pkg/cgroup" "github.com/siderolabs/talos/internal/pkg/containers/image" "github.com/siderolabs/talos/internal/pkg/environment" "github.com/siderolabs/talos/internal/pkg/etcd" @@ -221,8 +220,6 @@ oci.WithHostNamespace(specs.NetworkNamespace), oci.WithMounts(mounts), oci.WithUser(fmt.Sprintf("%d:%d", constants.EtcdUserID, constants.EtcdUserID)), - runner.WithMemoryReservation(constants.CgroupEtcdReservedMemory), - oci.WithCPUShares(uint64(cgroup.MilliCoresToShares(constants.CgroupEtcdMillicores))), ), runner.WithOOMScoreAdj(-998), ), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/internal/integration/cli/image.go new/talosctl-1.12.1/internal/integration/cli/image.go --- old/talosctl-1.12.0/internal/integration/cli/image.go 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/internal/integration/cli/image.go 2026-01-05 12:50:33.000000000 +0100 @@ -11,11 +11,13 @@ "strings" "testing" + "github.com/blang/semver/v4" "github.com/siderolabs/gen/xslices" "github.com/stretchr/testify/assert" "github.com/siderolabs/talos/internal/integration/base" "github.com/siderolabs/talos/pkg/machinery/config/machine" + "github.com/siderolabs/talos/pkg/machinery/version" ) // ImageSuite verifies the image command. @@ -35,10 +37,20 @@ ) } +var versionRe = regexp.MustCompile(`^[v]?(\d+\.\d+\.\d+(?:-(?:alpha|beta|rc)\.\d+)?)`) + +func normalizeTag(tag string) string { + m := versionRe.FindStringSubmatch(tag) + if len(m) == 0 { + return tag + } + + return m[1] +} + // TestSourceBundle verifies talos-bundle Talos list of images. func (suite *ImageSuite) TestSourceBundle() { - suite.RunCLI([]string{"image", "talos-bundle", "v1.11.2"}, - base.StdoutShouldMatch(regexp.MustCompile(regexp.QuoteMeta(`ghcr.io/siderolabs/installer:v1.11.2 + out := `ghcr.io/siderolabs/installer:v1.11.2 ghcr.io/siderolabs/installer-base:v1.11.2 ghcr.io/siderolabs/imager:v1.11.2 ghcr.io/siderolabs/talos:v1.11.2 @@ -115,7 +127,36 @@ ghcr.io/siderolabs/xen-guest-agent:0.4.0-g5c274e6@sha256:91e08d9ae45e325bf20da77f251e265d0e72cb38751a6dcee930bf21c9adacc1 ghcr.io/siderolabs/youki:0.5.5@sha256:562ceabb69570203024dbb9b8673ba485af1ffdd082210656573e22557235372 ghcr.io/siderolabs/zerotier:1.16.0@sha256:9444baa3acdc665dba56ed16c8a983c81c3f37fc73877be8fd882f9cf8c9fa5a -ghcr.io/siderolabs/zfs:2.3.3-v1.11.2@sha256:73782571f334b18995ddf324d24b86ea9a11aa37661a468b4e077da63e0d9714`))), +ghcr.io/siderolabs/zfs:2.3.3-v1.11.2@sha256:73782571f334b18995ddf324d24b86ea9a11aa37661a468b4e077da63e0d9714` + + suite.RunCLI([]string{"image", "talos-bundle", "v1.11.2"}, + base.StdoutShouldMatch(regexp.MustCompile(regexp.QuoteMeta(out))), + ) + + tag, err := semver.ParseTolerant(normalizeTag(version.Tag)) + assert.NoError(suite.T(), err) + + suite.T().Log(normalizeTag(version.Tag)) + suite.T().Log(version.Tag) + + if strings.TrimLeft(version.Tag, "v") == normalizeTag(version.Tag) { + suite.T().Skip("skipping the test for the exact version tag") + } + + suite.RunCLI([]string{"image", "talos-bundle", "v" + tag.String()}, + base.StdoutShouldMatch(regexp.MustCompile(regexp.QuoteMeta("ghcr.io/siderolabs/talos:v"+tag.String()))), + ) + + suite.RunCLI([]string{"image", "talos-bundle", tag.String()}, + base.StdoutEmpty(), + base.ShouldFail(), + ) + + tag.Patch = 0 + assert.NoError(suite.T(), tag.IncrementMinor()) + suite.RunCLI([]string{"image", "talos-bundle", "v" + tag.FinalizeVersion()}, + base.StdoutEmpty(), + base.ShouldFail(), ) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/internal/integration/provision/provision.go new/talosctl-1.12.1/internal/integration/provision/provision.go --- old/talosctl-1.12.0/internal/integration/provision/provision.go 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/internal/integration/provision/provision.go 2026-01-05 12:50:33.000000000 +0100 @@ -23,6 +23,7 @@ "github.com/siderolabs/go-blockdevice/v2/encryption" "github.com/siderolabs/go-kubernetes/kubernetes/upgrade" "github.com/siderolabs/go-pointer" + "github.com/siderolabs/go-procfs/procfs" "github.com/siderolabs/go-retry/retry" sideronet "github.com/siderolabs/net" "github.com/stretchr/testify/suite" @@ -440,6 +441,8 @@ ControlplaneNodes int WorkerNodes int + InjectExtraKernelArgs *procfs.Cmdline + SourceKernelPath string SourceInitramfsPath string SourceDiskImagePath string @@ -648,7 +651,8 @@ Size: DefaultSettings.DiskGB * 1024 * 1024 * 1024, }, }, - Config: suite.configBundle.ControlPlane(), + Config: suite.configBundle.ControlPlane(), + SDStubKernelArgs: options.InjectExtraKernelArgs, }, ) } @@ -667,7 +671,8 @@ Size: DefaultSettings.DiskGB * 1024 * 1024 * 1024, }, }, - Config: suite.configBundle.Worker(), + Config: suite.configBundle.Worker(), + SDStubKernelArgs: options.InjectExtraKernelArgs, }, ) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/internal/integration/provision/upgrade.go new/talosctl-1.12.1/internal/integration/provision/upgrade.go --- old/talosctl-1.12.0/internal/integration/provision/upgrade.go 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/internal/integration/provision/upgrade.go 2026-01-05 12:50:33.000000000 +0100 @@ -10,16 +10,24 @@ "fmt" "path/filepath" + "github.com/cosi-project/runtime/pkg/resource/rtestutils" + "github.com/siderolabs/go-procfs/procfs" + "github.com/stretchr/testify/assert" + "github.com/siderolabs/talos/cmd/talosctl/pkg/mgmt/helpers" "github.com/siderolabs/talos/pkg/images" + talosclient "github.com/siderolabs/talos/pkg/machinery/client" "github.com/siderolabs/talos/pkg/machinery/config/machine" "github.com/siderolabs/talos/pkg/machinery/constants" + "github.com/siderolabs/talos/pkg/machinery/resources/runtime" ) //nolint:maligned type upgradeSpec struct { ShortName string + InjectExtraKernelArgs *procfs.Cmdline + SourceKernelPath string SourceInitramfsPath string SourceDiskImagePath string @@ -42,6 +50,7 @@ WithEncryption bool WithBios bool WithApplyConfig bool + WithEnforcing bool } const ( @@ -226,6 +235,38 @@ } } +func upgradeCurrentToCurrentEnforcing() upgradeSpec { + installerImage := fmt.Sprintf( + "%s/%s:%s", + DefaultSettings.TargetInstallImageRegistry, + images.DefaultInstallerImageName, + DefaultSettings.CurrentVersion, + ) + + return upgradeSpec{ + ShortName: fmt.Sprintf("%s-same-ver-enforcing", DefaultSettings.CurrentVersion), + + InjectExtraKernelArgs: procfs.NewCmdline("enforcing=1"), + + SourceISOPath: helpers.ArtifactPath("metal-amd64.iso"), + SourceInstallerImage: installerImage, + SourceVersion: DefaultSettings.CurrentVersion, + SourceK8sVersion: currentK8sVersion, + + TargetInstallerImage: installerImage, + TargetVersion: DefaultSettings.CurrentVersion, + TargetK8sVersion: currentK8sVersion, + + ControlplaneNodes: 1, + WorkerNodes: 0, + + TargetCmdlineContains: "enforcing=1", + + WithApplyConfig: true, + WithEnforcing: true, + } +} + // UpgradeSuite ... type UpgradeSuite struct { BaseSuite @@ -264,6 +305,8 @@ ControlplaneNodes: suite.spec.ControlplaneNodes, WorkerNodes: suite.spec.WorkerNodes, + InjectExtraKernelArgs: suite.spec.InjectExtraKernelArgs, + SourceKernelPath: suite.spec.SourceKernelPath, SourceInitramfsPath: suite.spec.SourceInitramfsPath, SourceDiskImagePath: suite.spec.SourceDiskImagePath, @@ -283,6 +326,18 @@ // verify initial cluster version suite.assertSameVersionCluster(client, suite.spec.SourceVersion) + // verify enforcing state + for _, node := range suite.Cluster.Info().Nodes { + rtestutils.AssertResource( + talosclient.WithNode(suite.ctx, node.IPs[0].String()), + suite.T(), client.COSI, + runtime.SecurityStateID, + func(r *runtime.SecurityState, asrt *assert.Assertions) { + asrt.Equal(suite.spec.WithEnforcing, r.TypedSpec().SELinuxState == runtime.SELinuxStateEnforcing) + }, + ) + } + options := upgradeOptions{ TargetInstallerImage: suite.spec.TargetInstallerImage, UpgradeStage: suite.spec.UpgradeStage, @@ -306,6 +361,18 @@ // verify final cluster version suite.assertSameVersionCluster(client, suite.spec.TargetVersion) + // verify enforcing state + for _, node := range suite.Cluster.Info().Nodes { + rtestutils.AssertResource( + talosclient.WithNode(suite.ctx, node.IPs[0].String()), + suite.T(), client.COSI, + runtime.SecurityStateID, + func(r *runtime.SecurityState, asrt *assert.Assertions) { + asrt.Equal(suite.spec.WithEnforcing, r.TypedSpec().SELinuxState == runtime.SELinuxStateEnforcing) + }, + ) + } + // upgrade Kubernetes if required suite.upgradeKubernetes(suite.spec.SourceK8sVersion, suite.spec.TargetK8sVersion, suite.spec.SkipKubeletUpgrade) @@ -337,5 +404,6 @@ &UpgradeSuite{specGen: upgradeCurrentToCurrentBios, track: 0}, &UpgradeSuite{specGen: upgradeStableToCurrentPreserveStage, track: 1}, &UpgradeSuite{specGen: upgradeCurrentToCurrentNewCmdline, track: 2}, + &UpgradeSuite{specGen: upgradeCurrentToCurrentEnforcing, track: 1}, ) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/internal/pkg/cgroup/cgroup.go new/talosctl-1.12.1/internal/pkg/cgroup/cgroup.go --- old/talosctl-1.12.0/internal/pkg/cgroup/cgroup.go 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/internal/pkg/cgroup/cgroup.go 2026-01-05 12:50:33.000000000 +0100 @@ -88,8 +88,9 @@ case constants.CgroupInit: return &cgroup2.Resources{ Memory: &cgroup2.Memory{ - Min: pointer.To[int64](constants.CgroupInitReservedMemory), - Low: pointer.To[int64](constants.CgroupInitReservedMemory * 2), + Min: pointer.To[int64](constants.CgroupInitReservedMemory), + Low: pointer.To[int64](constants.CgroupInitReservedMemory * 2), + Swap: pointer.To[int64](0), }, CPU: &cgroup2.CPU{ Weight: pointer.To[uint64](MillicoresToCPUWeight(MilliCores(constants.CgroupInitMillicores))), @@ -108,8 +109,9 @@ case constants.CgroupSystemRuntime: return &cgroup2.Resources{ Memory: &cgroup2.Memory{ - Min: pointer.To[int64](constants.CgroupSystemRuntimeReservedMemory), - Low: pointer.To[int64](constants.CgroupSystemRuntimeReservedMemory * 2), + Min: pointer.To[int64](constants.CgroupSystemRuntimeReservedMemory), + Low: pointer.To[int64](constants.CgroupSystemRuntimeReservedMemory * 2), + Swap: pointer.To[int64](0), }, CPU: &cgroup2.CPU{ Weight: pointer.To[uint64](MillicoresToCPUWeight(MilliCores(constants.CgroupSystemRuntimeMillicores))), @@ -118,8 +120,9 @@ case constants.CgroupUdevd: return &cgroup2.Resources{ Memory: &cgroup2.Memory{ - Min: pointer.To[int64](constants.CgroupUdevdReservedMemory), - Low: pointer.To[int64](constants.CgroupUdevdReservedMemory * 2), + Min: pointer.To[int64](constants.CgroupUdevdReservedMemory), + Low: pointer.To[int64](constants.CgroupUdevdReservedMemory * 2), + Swap: pointer.To[int64](0), }, CPU: &cgroup2.CPU{ Weight: pointer.To[uint64](MillicoresToCPUWeight(MilliCores(constants.CgroupUdevdMillicores))), @@ -134,8 +137,9 @@ case constants.CgroupPodRuntime: return &cgroup2.Resources{ Memory: &cgroup2.Memory{ - Min: pointer.To[int64](constants.CgroupPodRuntimeReservedMemory), - Low: pointer.To[int64](constants.CgroupPodRuntimeReservedMemory * 2), + Min: pointer.To[int64](constants.CgroupPodRuntimeReservedMemory), + Low: pointer.To[int64](constants.CgroupPodRuntimeReservedMemory * 2), + Swap: pointer.To[int64](0), }, CPU: &cgroup2.CPU{ Weight: pointer.To[uint64](MillicoresToCPUWeight(MilliCores(constants.CgroupPodRuntimeMillicores))), @@ -144,13 +148,24 @@ case constants.CgroupKubelet: return &cgroup2.Resources{ Memory: &cgroup2.Memory{ - Min: pointer.To[int64](constants.CgroupKubeletReservedMemory), - Low: pointer.To[int64](constants.CgroupKubeletReservedMemory * 2), + Min: pointer.To[int64](constants.CgroupKubeletReservedMemory), + Low: pointer.To[int64](constants.CgroupKubeletReservedMemory * 2), + Swap: pointer.To[int64](0), }, CPU: &cgroup2.CPU{ Weight: pointer.To[uint64](MillicoresToCPUWeight(MilliCores(constants.CgroupKubeletMillicores))), }, } + case constants.CgroupEtcd: + return &cgroup2.Resources{ + Memory: &cgroup2.Memory{ + Low: pointer.To[int64](constants.CgroupEtcdReservedMemory), + Swap: pointer.To[int64](0), + }, + CPU: &cgroup2.CPU{ + Weight: pointer.To[uint64](MillicoresToCPUWeight(MilliCores(constants.CgroupEtcdMillicores))), + }, + } case constants.CgroupDashboard: return &cgroup2.Resources{ Memory: &cgroup2.Memory{ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/internal/pkg/install/pull.go new/talosctl-1.12.1/internal/pkg/install/pull.go --- old/talosctl-1.12.0/internal/pkg/install/pull.go 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/internal/pkg/install/pull.go 2026-01-05 12:50:33.000000000 +0100 @@ -16,6 +16,7 @@ "github.com/containerd/errdefs" "github.com/siderolabs/talos/internal/pkg/containers/image" + "github.com/siderolabs/talos/internal/pkg/selinux" "github.com/siderolabs/talos/pkg/machinery/constants" ) @@ -67,6 +68,10 @@ oci.WithProcessArgs(args...), } + if selinux.IsEnabled() { + specOpts = append(specOpts, oci.WithSelinuxLabel(constants.SelinuxLabelInstaller)) + } + containerOpts := []containerd.NewContainerOpts{ containerd.WithImage(img), containerd.WithNewSnapshot(containerID, img), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/pkg/machinery/constants/constants.go new/talosctl-1.12.1/pkg/machinery/constants/constants.go --- old/talosctl-1.12.0/pkg/machinery/constants/constants.go 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/pkg/machinery/constants/constants.go 2026-01-05 12:50:33.000000000 +0100 @@ -14,7 +14,7 @@ const ( // DefaultKernelVersion is the default Linux kernel version. - DefaultKernelVersion = "6.18.1-talos" + DefaultKernelVersion = "6.18.2-talos" // KernelParamConfig is the kernel parameter name for specifying the URL. // to the config. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/pkg/machinery/gendata/data/pkgs new/talosctl-1.12.1/pkg/machinery/gendata/data/pkgs --- old/talosctl-1.12.0/pkg/machinery/gendata/data/pkgs 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/pkg/machinery/gendata/data/pkgs 2026-01-05 12:50:33.000000000 +0100 @@ -1 +1 @@ -v1.12.0-23-ge0b78b8 \ No newline at end of file +v1.12.0-25-g90ff196 \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/pkg/machinery/gendata/data/tag new/talosctl-1.12.1/pkg/machinery/gendata/data/tag --- old/talosctl-1.12.0/pkg/machinery/gendata/data/tag 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/pkg/machinery/gendata/data/tag 2026-01-05 12:50:33.000000000 +0100 @@ -1 +1 @@ -v1.12.0 \ No newline at end of file +v1.12.1 \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/pkg/machinery/gendata/data/tools new/talosctl-1.12.1/pkg/machinery/gendata/data/tools --- old/talosctl-1.12.0/pkg/machinery/gendata/data/tools 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/pkg/machinery/gendata/data/tools 2026-01-05 12:50:33.000000000 +0100 @@ -1 +1 @@ -v1.12.0-2-g7d57df0 \ No newline at end of file +v1.12.0-3-g5df8bae \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/pkg/machinery/version/os-release new/talosctl-1.12.1/pkg/machinery/version/os-release --- old/talosctl-1.12.0/pkg/machinery/version/os-release 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/pkg/machinery/version/os-release 2026-01-05 12:50:33.000000000 +0100 @@ -1,7 +1,7 @@ NAME="Talos" ID=talos -VERSION_ID=v1.12.0 -PRETTY_NAME="Talos (v1.12.0)" +VERSION_ID=v1.12.1 +PRETTY_NAME="Talos (v1.12.1)" HOME_URL="https://www.talos.dev/" BUG_REPORT_URL="https://github.com/siderolabs/talos/issues" VENDOR_NAME="Sidero Labs" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/pkg/provision/providers/qemu/launch.go new/talosctl-1.12.1/pkg/provision/providers/qemu/launch.go --- old/talosctl-1.12.0/pkg/provision/providers/qemu/launch.go 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/pkg/provision/providers/qemu/launch.go 2026-01-05 12:50:33.000000000 +0100 @@ -43,6 +43,7 @@ ExtraISOPath string PFlashImages []string KernelArgs string + SDStubKernelArgs string MonitorPath string DefaultBootOrder string BootloaderEnabled bool @@ -458,6 +459,10 @@ config.sdStubExtraCmdline = "console=ttyS0" + if config.SDStubKernelArgs != "" { + config.sdStubExtraCmdline += " " + config.SDStubKernelArgs + } + if strings.Contains(config.KernelArgs, "{TALOS_CONFIG_URL}") { config.KernelArgs = strings.ReplaceAll(config.KernelArgs, "{TALOS_CONFIG_URL}", fmt.Sprintf("http://%s/config.yaml", configServerAddr)) config.sdStubExtraCmdlineConfig = fmt.Sprintf(" talos.config=http://%s/config.yaml", httpServerAddr) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/pkg/provision/providers/qemu/node.go new/talosctl-1.12.1/pkg/provision/providers/qemu/node.go --- old/talosctl-1.12.0/pkg/provision/providers/qemu/node.go 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/pkg/provision/providers/qemu/node.go 2026-01-05 12:50:33.000000000 +0100 @@ -221,6 +221,10 @@ launchConfig.Network.Hostname = nodeReq.Name } + if nodeReq.SDStubKernelArgs != nil { + launchConfig.SDStubKernelArgs = nodeReq.SDStubKernelArgs.String() + } + if !nodeReq.PXEBooted && launchConfig.IPXEBootFileName == "" { launchConfig.KernelImagePath = strings.ReplaceAll(clusterReq.KernelPath, constants.ArchVariable, opts.TargetArch) launchConfig.InitrdPath = strings.ReplaceAll(clusterReq.InitramfsPath, constants.ArchVariable, opts.TargetArch) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/pkg/provision/request.go new/talosctl-1.12.1/pkg/provision/request.go --- old/talosctl-1.12.0/pkg/provision/request.go 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/pkg/provision/request.go 2026-01-05 12:50:33.000000000 +0100 @@ -218,6 +218,11 @@ // This doesn't apply to boots from ISO or from the disk image. ExtraKernelArgs *procfs.Cmdline + // SDStubKernelArgs passes additional kernel args via the systemd-stub. + // + // This applies to boots from ISO and from the disk image. + SDStubKernelArgs *procfs.Cmdline + // UUID allows to specify the UUID of the node (VMs only). // // If not specified, a random UUID will be generated. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/talosctl-1.12.0/website/content/v1.12/reference/cli.md new/talosctl-1.12.1/website/content/v1.12/reference/cli.md --- old/talosctl-1.12.0/website/content/v1.12/reference/cli.md 2025-12-22 11:11:18.000000000 +0100 +++ new/talosctl-1.12.1/website/content/v1.12/reference/cli.md 2026-01-05 12:50:33.000000000 +0100 @@ -134,7 +134,7 @@ --bad-rtc launch VM with bad RTC state --cidr string CIDR of the cluster network (IPv4, ULA network for IPv6 is derived in automated way) (default "10.5.0.0/24") --cni-bin-path strings search path for CNI binaries (default [/home/user/.talos/cni/bin]) - --cni-bundle-url string URL to download CNI bundle from (default "https://github.com/siderolabs/talos/releases/download/v1.12.0/talosctl-cni-bundle-${ARCH}.tar.gz") + --cni-bundle-url string URL to download CNI bundle from (default "https://github.com/siderolabs/talos/releases/download/v1.12.1/talosctl-cni-bundle-${ARCH}.tar.gz") --cni-cache-dir string CNI cache directory path (default "/home/user/.talos/cni/cache") --cni-conf-dir string CNI config directory path (default "/home/user/.talos/cni/conf.d") --config-injection-method string a method to inject machine config: default is HTTP server, 'metal-iso' to mount an ISO @@ -346,7 +346,7 @@ --bad-rtc launch VM with bad RTC state --cidr string CIDR of the cluster network (IPv4, ULA network for IPv6 is derived in automated way) (default "10.5.0.0/24") --cni-bin-path strings search path for CNI binaries (default [/home/user/.talos/cni/bin]) - --cni-bundle-url string URL to download CNI bundle from (default "https://github.com/siderolabs/talos/releases/download/v1.12.0/talosctl-cni-bundle-${ARCH}.tar.gz") + --cni-bundle-url string URL to download CNI bundle from (default "https://github.com/siderolabs/talos/releases/download/v1.12.1/talosctl-cni-bundle-${ARCH}.tar.gz") --cni-cache-dir string CNI cache directory path (default "/home/user/.talos/cni/cache") --cni-conf-dir string CNI config directory path (default "/home/user/.talos/cni/conf.d") --config-injection-method string a method to inject machine config: default is HTTP server, 'metal-iso' to mount an ISO @@ -3252,7 +3252,7 @@ -e, --endpoints strings override default endpoints in Talos configuration -f, --force force the upgrade (skip checks on etcd health and members, might lead to data loss) -h, --help help for upgrade - -i, --image string the container image to use for performing the install (default "ghcr.io/siderolabs/installer:v1.12.0") + -i, --image string the container image to use for performing the install (default "ghcr.io/siderolabs/installer:v1.12.1") --insecure upgrade using the insecure (encrypted with no auth) maintenance service -n, --nodes strings target the specified nodes -m, --reboot-mode string select the reboot mode during upgrade. Mode "powercycle" bypasses kexec. Valid values are: ["default" "powercycle"]. (default "default") ++++++ talosctl-1.12.0.obscpio -> talosctl-1.12.2.obscpio ++++++ ++++ 4339 lines of diff (skipped) ++++++ talosctl.obsinfo ++++++ --- /var/tmp/diff_new_pack.JtxWMb/_old 2026-01-23 17:33:51.683898672 +0100 +++ /var/tmp/diff_new_pack.JtxWMb/_new 2026-01-23 17:33:51.691899002 +0100 @@ -1,5 +1,5 @@ name: talosctl -version: 1.12.0 -mtime: 1766398278 -commit: ac91ade2c7e435e63ed2546244d428a81abd22ad +version: 1.12.2 +mtime: 1769015883 +commit: 54e5b438d8dcf6395e6424808d1155d02abf3bc0 ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/talosctl/vendor.tar.gz /work/SRC/openSUSE:Factory/.talosctl.new.1928/vendor.tar.gz differ: char 13, line 1
