github siderolabs/talos v1.2.0-alpha.1

latest releases: v1.8.0-beta.1, pkg/machinery/v1.8.0-beta.1, v1.8.0-beta.0...
pre-release2 years ago

Talos 1.2.0-alpha.1 (2022-07-28)

Welcome to the v1.2.0-alpha.1 release of Talos!
This is a pre-release of Talos

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

Generating Talos secrets from PKI directory

It is now possible to generate a secrets bundle from a Kubernetes PKI directory (e.g. /etc/kubernetes/pki).

You can also specify a bootstrap token to be used in the secrets bundle.

This secrets bundle can then be used to generate a machine config.

This facilitates migrating clusters (e.g. created using kubeadm) to Talos.

talosctl gen secrets --kubernetes-bootstrap-token znzio1.1ifu15frz7jd59pv --from-kubernetes-pki /etc/kubernetes/pki
talosctl gen config --with-secrets secrets.yaml my-cluster https://172.20.0.1:6443

Kubernetes ControlPlane Components

Talos now run all Kubernetes Control Plane Components with the CRI default Seccomp Profile and other recommendations as described in
KEP-2568.

Kubelet Default Runtime Seccomp Profile

Talos now runs Kubelet with the CRI default Seccomp Profile enabled.
This can be disabled by setting .machine.kubelet.defaultRuntimeSeccompProfileEnabled to false.

This is not enabled automatically on upgrades, so upgrading to Talos v1.2 needs this to be explicitly enabled.

Network bridge support

Talos now supports configuring Linux bridges. It can be configured in the machine config like the following:

machine:
  network:
    interfaces:
      - interface: br0
        bridge:
          stp:
            enabled: true
          interfaces:
            - eth0
            - eth1

See documentation for more details.

VLAN support in cmdline arguments

Talos now supports dracut-style vlan kernel argument to allow
installing Talos Linux in networks where ports are not tagged
with a default VLAN:

vlan=eth1.5:eth1 ip=172.20.0.2::172.20.0.1:255.255.255.0::eth1.5:::::

Packet Capture

Talos now supports capturing packets on a network interface with talosctl pcap command:

talosctl pcap --interface eth0

Seccomp Profiles

Talos now supports creating custom seccomp profiles on the host machine which in turn can be used by Kubernetes workloads.
It can be configured in the machine config as below:

machine:
  seccompProfiles:
    - name: audit.json
      value:
        defaultAction: SCMP_ACT_LOG
    - name: deny.json
      value: {"defaultAction":"SCMP_ACT_LOG"}

This profile data can be either configured as a YAML definition or as a JSON string.

The profiles are created on the host under /var/lib/seccomp/profiles and bind mounted at /var/lib/kubelet/seccomp/profiles so Kubelet can use it.

See documentation for more details.

Stable Default Hostname

Talos now generates the default hostname (when there is no explicitly specified hostname) for the nodes based on the
node id (e.g. talos-2gd-76y) instead of using the DHCP assigned IP address (e.g. talos-172-20-0-2).

This ensures that the node hostname is not changed when DHCP assigns a new IP to a node.

Strategic merge machine configuration patching

In addition to JSON (RFC6902) patches Talos now supports strategic merge patching.

For example, machine hostname can be set with the following patch:

machine:
  network:
    hostname: worker1

Patch format is detected automatically.

Variable substitution for URL query parameter in the talos.config kernel parameter

The kernel parameter talos.config can now substitute system information into placeholders inside its URL query values. This example shows all supported variables:

http://example.com/metadata?h=${hostname}&m=${mac}&s=${serial}&u=${uuid}

Component Updates

  • Linux: 5.15.57

Talos is built with Go 1.18.4.

Contributors

  • Andrey Smirnov
  • Noel Georgi
  • Utku Ozdemir
  • Dmitriy Matrenichev
  • Philipp Sauter
  • Tim Jones
  • Spencer Smith
  • Artem Chernyshev
  • Davincible
  • AMet
  • Alex Wied
  • Bermi Ferrer
  • Christoph Schmatzler
  • Dennis Marttinen
  • Eirik Askheim
  • Florian Klink
  • Han Cen
  • Larry Rosenman
  • Markus Reiter
  • Matthew Richardson
  • Nico Berlee
  • Rio Kierkels
  • RyanSquared
  • Serge Logvinov
  • Seán C McCord
  • hobyte
  • nett_hier
  • zebernst

Changes

129 commits

  • 1db097f50 release(v1.2.0-alpha.1): prepare release
  • 5ac4947b6 feat: enable default seccomp profile for kubelet
  • e5994ff7a fix: skip ResetDuringBoot test if the Cluster config is unknown
  • 8028e1074 fix: wait for boot done when rebooting a node in the integration tests
  • ae1bec59e feat: allow running only one sequence at a time
  • ec05aee04 fix: correctly unwrap errors when streaming
  • 7c7f2d8c3 feat: refactor disk size matcher to be compatible with DeepEqual
  • 3addea83b feat: introduce support for Talos API access from Kubernetes
  • 34d3a4164 docs: add missing <> to relref
  • c4d2d20c4 fix: enable stable hostnames for worker configs as well
  • 0326bac1f chore: bump kernel to 5.15.57
  • 86820c33f chore: bump dependencies
  • 6e7dfeeb3 fix: data race in packet capture (part 2)
  • c11e1dae7 docs: fix spelling and grammar errors
  • 30f7851d2 chore: bump golangci-lint from 1.45.2 to 1.47.2
  • 2cce9112d chore: bump goimports from 0.1.10 to 0.1.11
  • 18756c7ff fix: folder permissions of overlay mounted folders
  • 47c35dc47 feat: set stable default hostname based on machine-id
  • 1ed3df295 chore: support glibc apps extension spec
  • a2aea9726 fix: write etcd PKI files in a controller
  • bb4abc096 fix: regenerate kubelet certs when hostname changes
  • d650afb6c chore: fix typo in powercycle
  • 644e803ad fix: use masks and different firewall mark for KubeSpan
  • 80444a43d fix: remove data race in pcap capture
  • 04a45dff2 docs: remove katacoda links
  • 065b59276 feat: implement packet capture API
  • 7c006cabc feat: update Kubernetes to 1.24.3
  • 551290195 chore: bump dependencies
  • 1677bcc4b fix: skip bond itself when matching interface (Equinix Metal)
  • f1c2b5c55 feat: implement strategic merge patching for API server admission config
  • be98cb82b feat: follow KEP-2568 non-root enhancements
  • 87ea1d961 fix: update kubelet kubeconfig when cluster control plane endpoint changes
  • a75fe7600 feat: gen secrets from kubernetes pki dir
  • a1d7b535a docs: add kubeadm migration guide
  • 9e0c56581 docs: guide for setting up synology-csi driver
  • f0b8eea5e refactor: remove bootstrap sequence
  • 89c7da899 docs: add documentation for vagrant & libvirt
  • 014b85fdc docs: improve talos kubernetes upgrade note
  • 88bb017ed docs: remove old docs from site
  • c92c90655 feat: build talosctl for FreeBSD
  • 616da3069 docs: update last release for 1.1
  • 091e6ef0e feat: resubstitute talos.config url variables on retry
  • ec74ab38a feat: update Go to 1.18.4, Linux to 5.15.54
  • 641f6a1e4 feat: expose strategic merge config patches
  • 6e3d2d647 docs: fix disk encryption params
  • c43d6a31d docs: fix typos
  • 551887528 chore: bump dependencies
  • 626ef05e6 fix: correct SANs for etcd certs
  • 83ce92c5f docs: fix theila docs
  • 8a038d40e fix: stabilize etcd join and promote sequences
  • 136122556 fix: use correct etcd cert path
  • c170ec0b0 chore: bump kernel to 5.15.53
  • d924901b7 feat: add cli subcommand to generate secrets
  • 34aabedd8 feat: more circular pkg from internal to pkg
  • 4f044e466 feat: implement strategic merge machine config patching
  • c2a512608 fix: avoid double append of talos.platform kernel argument
  • 27dfe7c03 fix: perform accurate conflict resolution on overal (kubespan)
  • e437445b4 chore: bump kernel to 5.15.52
  • d27a6a4ac feat: add vlan support to cmdline
  • fdca5d8a9 chore: bump dependencies
  • ae3840dbc refactor: move kubeconfig package under public api
  • 184e113f3 chore: disable systeminfo controller in container
  • 86a0a7bdf refactor: use pointer types more in machine config structs
  • 3a1eb10e6 docs: update the Proxmox kvm64 note
  • 30e220fcd docs: kernel cmdline params updated on upgrades
  • 915de9cf9 docs: fix bridge documentation
  • 52cd12951 test: bump Talos versions in upgrade tests
  • 022581d80 release(v1.2.0-alpha.0): prepare release
  • 643e81cfe feat: add SenseLabs to ADOPTERS.md
  • bdfee2b3b chore: bump kernel to 5.15.51
  • 36c44a651 fix: provide CA certificates in /etc/ssl/certs/ca-certificates.crt
  • 7ebd9bcce docs: fix pod security talos resource name
  • 57b625e0a refactor: avoid recreating grpc clients in service health checks
  • a68a00f1b docs: recommend setting "host" Processor Type on proxmox
  • 923600a73 chore: bump kernel to 5.15.50
  • 758a9bf59 docs: add theila ui
  • b81016e62 chore: update blockdevice library to v0.3.3
  • 284a2f959 fix: filter static pods correctly and optimize fetching
  • 61abf3111 docs: change command for cluster create to keep $HOME with sudo
  • 6ae1e9bf2 chore: bump dependencies
  • 2deff6b6e feat: add support for variable substitution in talos.config kernel parameter
  • 103c94225 fix: update crypto library with support for RSA-SHA*
  • 448de7194 docs: add UpCloud installation guide
  • 07014e0a8 fix: generate correct bootstrap manifests when only IPv6 CIDR is used
  • 465edbb47 fix: look for qemu-kvm binary
  • 63caa281a fix: create native image format for DigitalOcean
  • f15ce549e fix: siderlink api assume port 443 with https schema
  • 797596229 feat: add support for configuring network bridges
  • 2b23fabcc docs: use SVG image for K8s conformance
  • d4606c33e chore: bump kernel to 5.15.49
  • cfb640222 docs: update docs for release 1.1
  • b816d0b60 docs: fix the vendor information for Kubernetes conformance tests
  • a167a5402 test: fix CLI nodes discovery without provisioner data
  • 916a30682 docs: add twitter meta info
  • 80090a3ed test: fix health endpoint cli test when discovery is disabled
  • 3c263bb44 chore: bump dependencies
  • e8113527f chore: bump kubernetes to v1.24.2
  • 068f1b6d0 feat: add ctest package and base for test suite
  • 2aad3a1e4 chore: bump kernel to 5.15.48
  • a31a858e0 docs: snippets for logging api server audit logs
  • 89aaaef9f chore: bump kernel to 5.15.47
  • 6759fcd4a feat: use discovery service on cluster health checks
  • f54d90787 fix: enable orderly poweroff in hyper-v on Azure
  • 35475ce45 docs: openebs jiva example with iscsi-tools extension
  • 8d2be5e31 feat: extend node definition used in health checks
  • 7a11b4def fix: make talosctl bootstrap accept only single node
  • 217fba288 test: fix csi tests
  • 90bf34fed docs: fork docs for Talos 1.2
  • a0dd010a8 docs: add link to discovery service in kubespan
  • c0371410e fix: support SideroLink "secure" gRPC connection
  • b03709620 feat: build Talos images with system extensions included
  • 43def7490 chore: bump kernel and runc
  • 4dbbf4ac5 chore: add generic methods and use them part #2
  • 7114292b6 docs: fix latest release version in docs
  • da2985fe1 fix: respect local API server port
  • e03266667 fix: correctly validate reboot mode in CLI
  • 70fc42409 chore: add generic methods and use them
  • 3ae8bdd92 chore: run xfs_repair on xfs filesystem returing EUCLEAN
  • 0c91c89f4 chore: revert day-two tests for csi tests
  • f71b58312 feat: disallow anonymous requests by default (kube-apiserver)
  • c19dd1b89 feat: add 'etcd members should be control plane nodes' health check
  • f2997c0f2 chore: bump dependencies
  • f3efec4b5 feat: update containerd 1.6.6, Linux 5.15.45, Flannel 0.18.1
  • 27f8e50ce fix: add ovmf image path for rhel
  • 87e7de30c docs: fix required ports
  • c126f2ee8 chore: bump golang to 1.18.3
  • c1aed6240 fix: wait for /var to be mounted in kubelet service controller
  • d7a64f5d2 fix: improve vip operator shutdown sequence
  • 7b9dfcb85 chore: add 'make go-mod-outdated'

Changes since v1.2.0-alpha.0

67 commits

  • 1db097f50 release(v1.2.0-alpha.1): prepare release
  • 5ac4947b6 feat: enable default seccomp profile for kubelet
  • e5994ff7a fix: skip ResetDuringBoot test if the Cluster config is unknown
  • 8028e1074 fix: wait for boot done when rebooting a node in the integration tests
  • ae1bec59e feat: allow running only one sequence at a time
  • ec05aee04 fix: correctly unwrap errors when streaming
  • 7c7f2d8c3 feat: refactor disk size matcher to be compatible with DeepEqual
  • 3addea83b feat: introduce support for Talos API access from Kubernetes
  • 34d3a4164 docs: add missing <> to relref
  • c4d2d20c4 fix: enable stable hostnames for worker configs as well
  • 0326bac1f chore: bump kernel to 5.15.57
  • 86820c33f chore: bump dependencies
  • 6e7dfeeb3 fix: data race in packet capture (part 2)
  • c11e1dae7 docs: fix spelling and grammar errors
  • 30f7851d2 chore: bump golangci-lint from 1.45.2 to 1.47.2
  • 2cce9112d chore: bump goimports from 0.1.10 to 0.1.11
  • 18756c7ff fix: folder permissions of overlay mounted folders
  • 47c35dc47 feat: set stable default hostname based on machine-id
  • 1ed3df295 chore: support glibc apps extension spec
  • a2aea9726 fix: write etcd PKI files in a controller
  • bb4abc096 fix: regenerate kubelet certs when hostname changes
  • d650afb6c chore: fix typo in powercycle
  • 644e803ad fix: use masks and different firewall mark for KubeSpan
  • 80444a43d fix: remove data race in pcap capture
  • 04a45dff2 docs: remove katacoda links
  • 065b59276 feat: implement packet capture API
  • 7c006cabc feat: update Kubernetes to 1.24.3
  • 551290195 chore: bump dependencies
  • 1677bcc4b fix: skip bond itself when matching interface (Equinix Metal)
  • f1c2b5c55 feat: implement strategic merge patching for API server admission config
  • be98cb82b feat: follow KEP-2568 non-root enhancements
  • 87ea1d961 fix: update kubelet kubeconfig when cluster control plane endpoint changes
  • a75fe7600 feat: gen secrets from kubernetes pki dir
  • a1d7b535a docs: add kubeadm migration guide
  • 9e0c56581 docs: guide for setting up synology-csi driver
  • f0b8eea5e refactor: remove bootstrap sequence
  • 89c7da899 docs: add documentation for vagrant & libvirt
  • 014b85fdc docs: improve talos kubernetes upgrade note
  • 88bb017ed docs: remove old docs from site
  • c92c90655 feat: build talosctl for FreeBSD
  • 616da3069 docs: update last release for 1.1
  • 091e6ef0e feat: resubstitute talos.config url variables on retry
  • ec74ab38a feat: update Go to 1.18.4, Linux to 5.15.54
  • 641f6a1e4 feat: expose strategic merge config patches
  • 6e3d2d647 docs: fix disk encryption params
  • c43d6a31d docs: fix typos
  • 551887528 chore: bump dependencies
  • 626ef05e6 fix: correct SANs for etcd certs
  • 83ce92c5f docs: fix theila docs
  • 8a038d40e fix: stabilize etcd join and promote sequences
  • 136122556 fix: use correct etcd cert path
  • c170ec0b0 chore: bump kernel to 5.15.53
  • d924901b7 feat: add cli subcommand to generate secrets
  • 34aabedd8 feat: more circular pkg from internal to pkg
  • 4f044e466 feat: implement strategic merge machine config patching
  • c2a512608 fix: avoid double append of talos.platform kernel argument
  • 27dfe7c03 fix: perform accurate conflict resolution on overal (kubespan)
  • e437445b4 chore: bump kernel to 5.15.52
  • d27a6a4ac feat: add vlan support to cmdline
  • fdca5d8a9 chore: bump dependencies
  • ae3840dbc refactor: move kubeconfig package under public api
  • 184e113f3 chore: disable systeminfo controller in container
  • 86a0a7bdf refactor: use pointer types more in machine config structs
  • 3a1eb10e6 docs: update the Proxmox kvm64 note
  • 30e220fcd docs: kernel cmdline params updated on upgrades
  • 915de9cf9 docs: fix bridge documentation
  • 52cd12951 test: bump Talos versions in upgrade tests

Changes from siderolabs/extras

2 commits

Changes from siderolabs/pkgs

24 commits

Changes from siderolabs/tools

5 commits

Changes from talos-systems/crypto

1 commit

Changes from talos-systems/go-blockdevice

2 commits

Changes from talos-systems/grpc-proxy

1 commit

Dependency Changes

  • cloud.google.com/go/compute v1.6.1 -> v1.7.0
  • github.com/BurntSushi/toml v1.1.0 -> v1.2.0
  • github.com/aws/aws-sdk-go v1.44.24 -> v1.44.61
  • github.com/containerd/containerd v1.6.4 -> v1.6.6
  • github.com/containernetworking/cni v1.1.0 -> v1.1.1
  • github.com/cosi-project/runtime 95d06feaf8b5 -> 22c6aa1ca7ec
  • github.com/docker/docker v20.10.16 -> v20.10.17
  • github.com/emicklei/dot v0.16.0 -> v1.0.0
  • github.com/google/gopacket v1.1.19 new
  • github.com/google/nftables a9775fb167d2 -> a346d51f53b3
  • github.com/hashicorp/go-getter v1.6.1 -> v1.6.2
  • github.com/hashicorp/go-version v1.5.0 -> v1.6.0
  • github.com/hetznercloud/hcloud-go v1.33.2 -> v1.35.1
  • github.com/martinlindhe/base36 v1.1.1 new
  • github.com/packethost/packngo v0.24.0 -> v0.25.0
  • github.com/rivo/tview 9994674d60a8 -> 73bf2902b59a
  • github.com/siderolabs/extras v1.1.0-1-g5800284 -> v1.2.0-alpha.0-1-g17a319f
  • github.com/siderolabs/pkgs v1.1.0-8-gfa9a488 -> v1.2.0-alpha.0-23-gdcc0311
  • github.com/siderolabs/tools v1.1.0-1-g134974c -> v1.2.0-alpha.0-4-g0d669dd
  • github.com/spf13/cobra v1.4.0 -> v1.5.0
  • github.com/stretchr/testify v1.7.1 -> v1.8.0
  • github.com/talos-systems/crypto v0.3.5 -> e9df1b8ca74c
  • github.com/talos-systems/go-blockdevice v0.3.2 -> v0.3.4
  • github.com/talos-systems/grpc-proxy v0.3.0 -> v0.3.1
  • github.com/vishvananda/netlink v1.2.0-beta -> v1.2.1-beta.2
  • github.com/vmware-tanzu/sonobuoy v0.56.6 -> v0.56.8
  • github.com/vmware/govmomi v0.28.0 -> v0.29.0
  • golang.org/x/net 5463443f8c37 -> a158d28d115b
  • golang.org/x/sync 0976fa681c29 -> 886fb9371eb4
  • golang.org/x/sys bc2c85ada10a -> 8c9f86f7a55f
  • golang.org/x/term 065cf7ba2467 -> a9ba230a4035
  • golang.org/x/time 583f2d630306 -> e5dcc9cfc0b9
  • google.golang.org/grpc v1.46.2 -> v1.48.0
  • gopkg.in/yaml.v3 496545a6307b -> v3.0.1
  • inet.af/netaddr c74959edd3b6 -> 097006376321
  • k8s.io/api v0.24.2 -> v0.24.3
  • k8s.io/apiserver v0.24.2 -> v0.24.3
  • k8s.io/client-go v0.24.2 -> v0.24.3
  • k8s.io/component-base v0.24.2 -> v0.24.3
  • k8s.io/kubectl v0.24.2 -> v0.24.3
  • k8s.io/kubelet v0.24.2 -> v0.24.3
  • kernel.org/pub/linux/libs/security/libcap/cap v1.2.64 -> v1.2.65

Previous release can be found at v1.1.0

Images

ghcr.io/siderolabs/flannel:v0.18.1
ghcr.io/siderolabs/install-cni:v1.2.0-alpha.0-1-g17a319f
docker.io/coredns/coredns:1.9.3
gcr.io/etcd-development/etcd:v3.5.4
k8s.gcr.io/kube-apiserver:v1.24.3
k8s.gcr.io/kube-controller-manager:v1.24.3
k8s.gcr.io/kube-scheduler:v1.24.3
k8s.gcr.io/kube-proxy:v1.24.3
ghcr.io/siderolabs/kubelet:v1.24.3
ghcr.io/siderolabs/installer:v1.2.0-alpha.1
k8s.gcr.io/pause:3.6

Don't miss a new talos release

NewReleases is sending notifications on new releases.