Skip to content

v0.15.0-alpha.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@talos-bot talos-bot released this 11 Feb 17:58
v0.15.0-alpha.2
f1a93d2

Talos 0.15.0-alpha.2 (2022-02-11)

Welcome to the v0.15.0-alpha.2 release of Talos!
This is a pre-release of Talos

Please try out the release binaries and report any issues at
https://github.com/talos-systems/talos/issues.

Apply Config Enhancements

talosctl apply/patch/edit cli commands got revamped.
Separate flags --on-reboot, --immediate, --interactive were replaced
with a single --mode flag that can take the following values:

  • auto new mode that automatically applies the configuration in immediate/reboot mode.
  • no-reboot force apply immediately, if not possible, then fail.
  • reboot force reboot with apply config.
  • staged write new machine configuration to STATE, but don't apply it (it will be applied after a reboot).
  • interactive starts interactive installer, only for apply.

Pinned Kubernets Version

Command talosctl gen config now defaults to Kubernetes version pinning in the generate machine configuration.
Previously default was to omit explicit Kubernetes version, so Talos picked up the default version it was built against.
Old behavior can be achieved by specifiying empty flag value: --kubernetes-version=.

Machine Configuration

Talos now preserves machine configuration as it was submitted to the node.

Machine Configuration Patching

talosctl commands which accept JSON patches (gen config, cluster create, patch machineconfig) now support multiple patches, loading patches
from files with @file.json syntax, and support loading from YAML format.

Platform Support

Talos now supports Oracle Cloud.

Platform network configuration was rewritten to avoid modifying Talos machine configuration.
Network configuration is performed independent of the machine configuration presence, so it works
even if Talos is booted in maintenance mode (without machine configuration is platform userdata).

SBC Support

Talos now supports Jetson Nano SBC.

Static Pods in the Machine Configuration

Talos now accepts static pod definitions in the .machine.pods key of the machine configuration.
Please note that static pod definitions are not validated by Talos.
Static pod definitions can be updated without a node reboot.

System Extensions

System extensions allow extending Talos root filesystem, which enables a set of different features, including custom
container runtimes, additional firmware, etc.

System extensions are only activated during Talos installation (or upgrade), and with system extensions installed, Talos
root filesystem is still immutable and read-only.

Please see extensions repository and documentation for more information.

Component Updates

  • Linux: 5.15.23
  • Kubernetes: 1.23.3
  • CoreDNS: 1.8.7
  • etcd: 3.5.2
  • containerd: 1.6.0-rc.0
  • runc: 1.1.0

Talos is built with Go 1.17.7

Wipe System Kernel Parameter

Added new kernel parameter talos.experimental.wipe=system which can help resetting system disk for the machine
and start over with a fresh installation.
See Resetting a Machine on how to use it.

Contributors

  • Andrey Smirnov
  • Noel Georgi
  • Artem Chernyshev
  • Spencer Smith
  • Serge Logvinov
  • Seán C McCord
  • Florian Klink
  • Steve Francis
  • Andrew Rynhard
  • Anthony Rabbito
  • Bernard Sébastien
  • Charlie Haley
  • Eric Wohltman
  • Niklas Metje
  • Philipp Sauter
  • Shahar Naveh
  • Tim Jones
  • nebulait

Changes

138 commits

  • f1a93d28f release(v0.15.0-alpha.2): prepare release
  • 1e9f0ad4c feat: update Go to 1.17.7, Linux to 5.15.23
  • fef99892d chore: pin kubernetes version to talosctl gen config
  • bcf928134 feat: udev extensions support
  • 47619f832 docs: update system extensions guide with grammar fixes
  • 2bcceb6e4 chore: disable TIPC and B.A.T.M.A.N
  • c6bca1b33 docs: add guide on system extensions
  • 492b156da feat: implement static pods via machine configuration
  • 6fadfa8db fix: parse properly IPv6 address in the cmdline ip= arg
  • d991f3982 chore: update the kernel with IGC driver enabled
  • cbc9610be feat: sysctl system optimization
  • 8b6d6220d fix: parse interface ip correctly (nocloud)
  • 54632b1be docs: fix developing Talos docs
  • 0da370dfe test: unlock CABPT/CACPPT provider versions
  • df0e388a4 feat: extract firmware part of system extensions into initramfs
  • 8899dd349 chore: add json-tags for SecretsBundle
  • 4f391cd5c chore: bump kernel to 5.15.22
  • 6bd07406e feat: disable reboots via kexec
  • 1e3f2f952 fix: validate kubelet node IP subnets correctly
  • d211bff47 feat: enable accept_ra when IPv6 forwarding
  • 930205831 chore: update kernel to 5.15.21
  • c7186ed08 chore: bump dependencies
  • 9ee470f95 feat: set /etc/localtime to UTC
  • c34768367 fix: disable auto-tls for etcd
  • 9bffc7e8d fix: pass proper sequence to shutdown sequence on ACPI shutdown
  • e47387e41 chore: bump CAPI to 1.0.4
  • 5462f5ed1 feat: update etcd to 3.5.2
  • f6fa12e53 docs: update upgrading Talos, Kubernetes, and Docker guides
  • 5484579c1 feat: allow link scope routes in the machine config
  • 56b83b087 feat: enable persistence for docker provider
  • 949464e4b fix: use leaf certificate in the apid RBAC check
  • 446972f21 chore: bump kernel to 5.15.19
  • fe40e7b1b feat: drain node on shutdown
  • 7f0b3aae0 feat: add multiple config patches, patches from files, YAML support
  • 202290be7 docs: update Kubernetes upgrade video
  • 036644f7a chore: bump kernel to 5.15.18
  • dcde2c4f6 chore: update k8s upgrade message
  • 1c949335c docs: add documentation for Hyper-V
  • 7f9790912 fix: clean up containerd state on installer run/validate
  • 8b98d8eb3 docs: clarify Filebeat example
  • 74c03120c docs: replace Talos upgrades video
  • 65e64d425 chore: update kernel to stable 5.15.17
  • 4245f72d3 feat: add --extra-uefi-search-paths option
  • 7ffeb6c2e docs: update oracle cloud example
  • 151c9df09 chore: add CSI tests for e2e-qemu
  • cdb621c82 feat: provide a way to list installed system extensions
  • abfb25812 feat: share /lib/firmware across initramfs and rootfs
  • ebec5d4a0 feat: support full disk path in the diskSelector
  • 831f65a07 fix: close client provider instead of Talos client in the upgrade module
  • 0bf161dff test: add integration test for system extensions
  • 7b3962745 fix: handle 404 errors from AWS IMDS correctly
  • 85782faa2 feat: update Kubernetes to 1.23.3
  • c5e5922e5 chore: bump dependencies
  • b3c3ef29b feat: install system extensions
  • a0889600f chore: fix golangci-lint install
  • a50c42980 fix: use #!/usr/bin/env bash as shebang instead of #!/bin/bash
  • 4464b725c fix: qemu: always use runtime.GOARCH for CNI bundle
  • e7379c81b release(v0.15.0-alpha.1): prepare release
  • 58eb3600f fix: enforce reasonable TLS min tls-min-version
  • b8d4c5dfa fix: use correct error in kernel_param_spec Modify call handling
  • 4961d6867 docs: drop talos.interface kernel arg
  • b1e61fa5b chore: update Linux to 5.15.16
  • d4b844593 feat: support CRI configuration merging and reimplement registry config
  • f94c8c6e1 feat: update Kubernetes to 1.23.2
  • 21f497b3e feat: install readonly overlay mounts during talos chroot sequence
  • 9ad5a67d2 feat: inject platform network configuration as network resources
  • 907f8cbfb docs: fix patch flag
  • caa434426 docs: add documentation on developing Talos
  • 16eeb6776 docs: readme updates
  • 3c0737027 chore: update release notes
  • 6d8bea5d5 feat: jetson nano SoC
  • 1d8955ebe feat: update CoreDNS to 1.8.7
  • 6af83afd5 fix: handle multiple-IP cluster nodes
  • 43b2d8137 chore: bump dependencies
  • 529e80f4f docs: update home page and footer
  • 37630e70c Update twitter link
  • af440919b fix: avoid panic in config loading/validation
  • 4b8e9de59 docs: add guide on adding proprietary kernel modules
  • 833dc4169 docs: rework vmware assets
  • 2869b5eea feat: add oraclecloud.com platform support
  • f3ec24beb fix: vmware documentation typo
  • 2f2bdb26a feat: replace flags with --mode in apply, edit and patch commands
  • b09be2a69 docs: update index.md and sync across versions
  • ca65b918a docs: add nocloud documentation
  • 59437d6d8 fix: filter down nameservers for docker-based cluster create
  • 194eaa6f2 chore: clean up /usr/bin from unneeded files
  • 74e727240 docs: update office office
  • 539af338c docs: update vmware docs
  • 279a3fda7 feat: update Go to 1.17.6, containerd to 1.5.9
  • 3d3088941 chore: bump Go dependencies
  • d02d944ec chore: provide umarshal from YAML methods for network resource specs
  • 2e735714d fix: derive machine-id from node identity
  • d8a2721e1 test: update CAPI components to latest
  • 7dff8a53e fix: ignore missing init.yaml for cluster create
  • f4516c7d8 chore: bump dependencies
  • 944f13221 chore: fix release pipeline
  • cb548a368 release(v0.15.0-alpha.0): prepare release
  • da0b36e61 feat: introduce talos.exp.wipe kernel param to wipe system disk
  • c079eb32b refactor: use AWS SDK to access AWS metadata service
  • 2f4b9d8d6 feat: make machine configuration read-only in Talos (almost)
  • 524f83d3d feat: use official Go SDK to fetch GCP instance metadata
  • d2a7e082c test: retry in discovery tests
  • f4219e530 chore: remove unused methods in AWS platform
  • 35bc2940e fix: kexec on RPI4
  • f235cfbae fix: multiple usability fixes
  • b3fbb2f31 test: don't build all images in the default CI pipeline
  • dac550a50 docs: fix troubleshooting guide
  • 83e8bec6b feat: update Linux to 5.15.11
  • d5a82b37e feat: remove ApplyDynamicConfig
  • 3623da136 feat: provide a way to load Linux kernel modules
  • 4d1514add docs: update Mayastor deployment process
  • cff1ff6d5 feat: shell completion for list, read
  • 19728437e feat: output IPs when etcd needs to be bootstrapped
  • c297d66a1 test: attempt number on two on proper retries in CLI time tests
  • dc299da9e docs: add arm64 option to talosctl download
  • f49f40a33 fix: pass path to conformance retrieve results
  • 942c8074f docs: fork docs for 0.15
  • 880a7782c docs: update documentation for 0.14.0 release
  • dc9a0cfe9 chore: bump Go dependencies
  • 773496935 fix: config apply immediate
  • 17c147488 test: retry talosctl time call in the tests
  • acf1ac0f1 feat: show human-readable aliases in talosctl get rd
  • 5532867b0 refactor: rewrite the implementation of Processes API
  • 80350861a feat: update Kubernetes to 1.23.1
  • 4c96e936e docs: add cilium guide
  • e3f2acb5e refactor: rewrite the check for unknown keys in the machine configuration
  • 4175396a8 refactor: use update go-blockdevice library with allocation fixes
  • b58f567a1 refactor: optimize Runtime config interface to avoid config marshaling
  • bb355c9ab chore: remove govalidator library
  • 3af56bd2e test: update capi templates to v1beta1
  • 936b4c4ce fix: update DHCP library with the panic fix
  • ab42886bf fix: allow kubelet to be started via the API
  • ec641f729 fix: use default time servers in time API if none are configured
  • 79f213eec fix: cleanup affiliates
  • 2dd0b5b68 chore: update Go to 1.17.5
  • 97ffa7a64 feat: upgrade kubelet version in talosctl upgrade-k8s
  • 5bc5123eb docs: document ip= kernel argument
  • 8e1d0bfb5 feat: update Kubernetes to 1.23.0

Changes since v0.15.0-alpha.1

57 commits

  • f1a93d28f release(v0.15.0-alpha.2): prepare release
  • 1e9f0ad4c feat: update Go to 1.17.7, Linux to 5.15.23
  • fef99892d chore: pin kubernetes version to talosctl gen config
  • bcf928134 feat: udev extensions support
  • 47619f832 docs: update system extensions guide with grammar fixes
  • 2bcceb6e4 chore: disable TIPC and B.A.T.M.A.N
  • c6bca1b33 docs: add guide on system extensions
  • 492b156da feat: implement static pods via machine configuration
  • 6fadfa8db fix: parse properly IPv6 address in the cmdline ip= arg
  • d991f3982 chore: update the kernel with IGC driver enabled
  • cbc9610be feat: sysctl system optimization
  • 8b6d6220d fix: parse interface ip correctly (nocloud)
  • 54632b1be docs: fix developing Talos docs
  • 0da370dfe test: unlock CABPT/CACPPT provider versions
  • df0e388a4 feat: extract firmware part of system extensions into initramfs
  • 8899dd349 chore: add json-tags for SecretsBundle
  • 4f391cd5c chore: bump kernel to 5.15.22
  • 6bd07406e feat: disable reboots via kexec
  • 1e3f2f952 fix: validate kubelet node IP subnets correctly
  • d211bff47 feat: enable accept_ra when IPv6 forwarding
  • 930205831 chore: update kernel to 5.15.21
  • c7186ed08 chore: bump dependencies
  • 9ee470f95 feat: set /etc/localtime to UTC
  • c34768367 fix: disable auto-tls for etcd
  • 9bffc7e8d fix: pass proper sequence to shutdown sequence on ACPI shutdown
  • e47387e41 chore: bump CAPI to 1.0.4
  • 5462f5ed1 feat: update etcd to 3.5.2
  • f6fa12e53 docs: update upgrading Talos, Kubernetes, and Docker guides
  • 5484579c1 feat: allow link scope routes in the machine config
  • 56b83b087 feat: enable persistence for docker provider
  • 949464e4b fix: use leaf certificate in the apid RBAC check
  • 446972f21 chore: bump kernel to 5.15.19
  • fe40e7b1b feat: drain node on shutdown
  • 7f0b3aae0 feat: add multiple config patches, patches from files, YAML support
  • 202290be7 docs: update Kubernetes upgrade video
  • 036644f7a chore: bump kernel to 5.15.18
  • dcde2c4f6 chore: update k8s upgrade message
  • 1c949335c docs: add documentation for Hyper-V
  • 7f9790912 fix: clean up containerd state on installer run/validate
  • 8b98d8eb3 docs: clarify Filebeat example
  • 74c03120c docs: replace Talos upgrades video
  • 65e64d425 chore: update kernel to stable 5.15.17
  • 4245f72d3 feat: add --extra-uefi-search-paths option
  • 7ffeb6c2e docs: update oracle cloud example
  • 151c9df09 chore: add CSI tests for e2e-qemu
  • cdb621c82 feat: provide a way to list installed system extensions
  • abfb25812 feat: share /lib/firmware across initramfs and rootfs
  • ebec5d4a0 feat: support full disk path in the diskSelector
  • 831f65a07 fix: close client provider instead of Talos client in the upgrade module
  • 0bf161dff test: add integration test for system extensions
  • 7b3962745 fix: handle 404 errors from AWS IMDS correctly
  • 85782faa2 feat: update Kubernetes to 1.23.3
  • c5e5922e5 chore: bump dependencies
  • b3c3ef29b feat: install system extensions
  • a0889600f chore: fix golangci-lint install
  • a50c42980 fix: use #!/usr/bin/env bash as shebang instead of #!/bin/bash
  • 4464b725c fix: qemu: always use runtime.GOARCH for CNI bundle

Changes from talos-systems/crypto

2 commits

Changes from talos-systems/extras

3 commits

Changes from talos-systems/go-blockdevice

3 commits

Changes from talos-systems/net

1 commit

Changes from talos-systems/pkgs

25 commits

Changes from talos-systems/tools

4 commits

Dependency Changes

  • cloud.google.com/go/compute v1.2.0 new
  • github.com/BurntSushi/toml v0.4.1 -> v1.0.0
  • github.com/aws/aws-sdk-go v1.42.47 new
  • github.com/containerd/cgroups v1.0.2 -> v1.0.3
  • github.com/containerd/containerd v1.5.8 -> v1.6.0-rc.2
  • github.com/docker/docker v20.10.11 -> v20.10.12
  • github.com/google/go-cmp v0.5.6 -> v0.5.7
  • github.com/google/nftables 16a134723a96 -> 91d3b4571db1
  • github.com/hashicorp/go-getter v1.5.9 -> v1.5.11
  • github.com/hashicorp/go-version v1.4.0 new
  • github.com/insomniacslk/dhcp 5297eed8f489 -> 3c283ff8b7dd
  • github.com/jsimonetti/rtnetlink fd9a11f42291 -> v1.1.0
  • github.com/jxskiss/base62 v1.0.0 -> v1.1.0
  • github.com/mdlayher/ethtool 288d040e9d60 -> 81c2608dd90e
  • github.com/mdlayher/genetlink v1.0.0 -> v1.2.0
  • github.com/mdlayher/netlink v1.4.2 -> v1.6.0
  • github.com/opencontainers/image-spec v1.0.2 new
  • github.com/packethost/packngo v0.20.0 -> v0.21.0
  • github.com/pelletier/go-toml v1.9.4 new
  • github.com/pmorjan/kmod v1.0.0 new
  • github.com/rivo/tview 2a6de950f73b -> 1f7581b67bd1
  • github.com/spf13/cobra v1.2.1 -> v1.3.0
  • github.com/talos-systems/crypto v0.3.4 -> 510b0d2753a8
  • github.com/talos-systems/extras v0.7.0-1-gd6b73a7 -> v0.8.0-alpha.0-2-g8f607fc
  • github.com/talos-systems/go-blockdevice v0.2.5 -> 7b9de26bc6bc
  • github.com/talos-systems/net v0.3.1 -> 409926aec1c3
  • github.com/talos-systems/pkgs v0.9.0-1-g7a3419a -> v0.10.0-alpha.0-24-g6019223
  • github.com/talos-systems/tools v0.9.0-1-gb1146f9 -> v0.10.0-alpha.0-3-g4c9e7a4
  • github.com/u-root/u-root v7.0.0 -> v0.8.0
  • github.com/vishvananda/netlink f5de75959ad5 -> 650dca95af54
  • github.com/vmware-tanzu/sonobuoy v0.55.1 -> v0.56.0
  • github.com/vmware/govmomi v0.27.2 -> v0.27.3
  • go.etcd.io/etcd/api/v3 v3.5.1 -> v3.5.2
  • go.etcd.io/etcd/client/pkg/v3 v3.5.1 -> v3.5.2
  • go.etcd.io/etcd/client/v3 v3.5.1 -> v3.5.2
  • go.etcd.io/etcd/etcdutl/v3 v3.5.1 -> v3.5.2
  • go.uber.org/zap v1.19.1 -> v1.20.0
  • golang.org/x/net 491a49abca63 -> cd36cc0744dd
  • golang.org/x/sys 97ca703d548d -> 1c1b9b1eba6a
  • golang.zx2c4.com/wireguard/wgctrl dd7407c86d22 -> daad0b7ba671
  • google.golang.org/grpc v1.42.0 -> v1.44.0
  • k8s.io/api v0.23.1 -> v0.23.3
  • k8s.io/apimachinery v0.23.1 -> v0.23.3
  • k8s.io/client-go v0.23.1 -> v0.23.3
  • k8s.io/component-base v0.23.1 -> v0.23.3
  • k8s.io/kubectl v0.23.1 -> v0.23.3
  • k8s.io/kubelet v0.23.1 -> v0.23.3
  • kernel.org/pub/linux/libs/security/libcap/cap v1.2.61 -> v1.2.63

Previous release can be found at v0.14.0

Images

quay.io/coreos/flannel:v0.15.1
ghcr.io/talos-systems/install-cni:v0.8.0-alpha.0-2-g8f607fc
docker.io/coredns/coredns:1.8.7
gcr.io/etcd-development/etcd:v3.5.2
k8s.gcr.io/kube-apiserver:v1.23.3
k8s.gcr.io/kube-controller-manager:v1.23.3
k8s.gcr.io/kube-scheduler:v1.23.3
k8s.gcr.io/kube-proxy:v1.23.3
ghcr.io/talos-systems/kubelet:v1.23.3
ghcr.io/talos-systems/installer:v0.15.0-alpha.2
k8s.gcr.io/pause:3.2