talos/CHANGELOG.md
Andrey Smirnov eee7ad13aa release(v0.10.0-alpha.2): prepare release
This is the official v0.10.0-alpha.2 release.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-04-08 13:03:50 -07:00

69 KiB

Talos 0.10.0-alpha.2 (2021-04-08)

Welcome to the v0.10.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.

Disaster Recovery

  • support for creating etcd snapshots (backups) with talosctl etcd snapshot command.
  • etcd cluster can be recovered from a snapshot using talosctl boostrap --recover-from= command.

Install Disk Selector

Install section of the machine config now has diskSelector field that allows querying install disk using the list of qualifiers:

...
  install:
    diskSelector:
      size: >= 500GB
      model: WDC*
...

talosctl disks -n <node> -i can be used to check allowed disk qualifiers when the node is running in the maintenance mode.

Optmizations

  • Talos system services now run without container images on initramfs from the single executable; this change reduces RAM usage, initramfs size and boot time..

SBCs

  • u-boot version was updated to fix the boot and USB issues on Raspberry Pi 4 8GiB version.
  • added support for Rock Pi 4.

Time Syncrhonization

  • timed service was replaced with a time sync controller, no machine configuration changes.
  • Talos now prefers last successful time server (by IP address) on each sync attempt (improves sync accuracy).

Contributors

  • Andrey Smirnov
  • Alexey Palazhchenko
  • Artem Chernyshev
  • Spencer Smith
  • Seán C McCord
  • Andrew Rynhard
  • Branden Cash
  • Jorik Jonker
  • Matt Zahorik
  • bzub

Changes

104 commits

  • e0650218 feat: support etcd recovery from snapshot on bootstrap
  • 247bd50e docs: describe steps to install and boot Talos from the SSD on rockpi4
  • e6b4e524 test: update CAPA to 0.6.4
  • 28753f6d fix: trim endpoints/nodes from arguments in talosctl config
  • aca63b88 docs: fix "DigitalOcean" spelling
  • 33035901 fix: revert mark PMBR EFI partition as bootable
  • fbfd1eb2 refactor: pull new version of os-runtime, update code
  • 8737ea71 feat: allow external cloud provides configration
  • 3909e2d0 chore: update Go to 1.16.3
  • 690eb20e chore: update blockdevice library for PMBR bootable fix
  • a8761b8e fix: require leader on etcd member operations
  • 3dc84625 fix: make both HDMI ports work on RPi 4
  • bd5ae1e0 fix: add a check for overlay mounts in installer pre-flight checks
  • df8649cb refactor: download modules before go generate
  • 39ae0415 chore: bump dependencies via dependabot
  • e16d6d34 fix: publish rockpi4 image to release artifacts
  • 39c6dbcc feat: add --config-patch parameter to talosctl gen config
  • e664362c feat: add API and command to save etcd snapshot (backup)
  • 61b694b9 fix: create rootfs for system services via /system tmpfs
  • abc2e17e test: update 0.9.x version in upgrade tests to 0.9.1
  • a1e64154 fix: retry Kubernetes API errors on cordon/uncordon/etc
  • 063d1abe fix: print task failure error immediately
  • e039172e fix: ignore EOF errors from Kubernetes API when converting control plane
  • 7bcb91a4 docs: fix typo for stage flag
  • a43acb21 feat: bring in Linux 5.10.27, support for 32-bit time syscalls
  • e2bb5973 release(v0.10.0-alpha.1): prepare release
  • 8309312a chore: build components with race detector enabled in dev mode
  • 7d912584 test: fix data race in apply config tests
  • 204caf8e test: fix apply-config integration test, bump clusterctl version
  • d812099d fix: address several issues in TUI installer
  • 269c9ad0 fix: don't write to config object on access
  • a9451f57 feat: update Kubernetes to 1.21.0-beta.1
  • 4b42ced4 feat: add ability to disable comments in talosctl gen config
  • a0dcfc3d fix: workaround race in containerd runner with stdin pipe
  • 2ea20f59 feat: replace timed with time sync controller
  • c38a161a test: add unit-test for machine config validation
  • a6106815 chore: bump dependencies via dependabot
  • 35598f39 chore: refactor: extract ClusterConfig
  • 03285184 fix: get rid of data race in encoder and fix concurrent map access
  • 4b3580aa fix: prevent panic in validate config if machine.install is missing
  • d7e9f6d6 chore: build integration tests with -race
  • 9f7d67ac chore: fix typo
  • 672c9707 fix: allow convert-k8s --remove-initialized-keys with K8s cp is down
  • fb605a0f chore: tweak nolintlint settings
  • 1f5a0c40 fix: resolve the issue with Kubernetes upgrade
  • 74b2b557 docs: update AWS docs to ensure instances are tagged
  • dc21d9b4 chore: remove old file
  • 966caf7a chore: remove unused module replace directives
  • 98b22f1e feat: show short options in talosctl kubeconfig
  • 51139d54 chore: cache go modules in the build
  • 65701aa7 fix: resolve the issue with DHCP lease not being renewed
  • 711f5b23 fix: config validation: CNI should apply to cp nodes, encryption config
  • 5ff491d9 fix: allow empty list for CNI URLs
  • 946e74f0 docs: update path for kernel downloads in qemu docs
  • ed272e60 feat: update Kubernetes to 1.21.0-beta.0
  • b0209fd2 refactor: move networkd, timed APIs to machined, remove routerd
  • 6ffabe51 feat: add ability to find disk by disk properties
  • ac876470 refactor: move apid, routerd, timed and trustd to single executable
  • 89a4b09f refactor: run networkd as a goroutine in machined
  • f4a6a19c chore: update sonobuoy
  • dc294db1 chore: bump dependencies via dependabot
  • 2b1641a3 docs: add AMIs for Talos 0.9.0
  • 79ceb428 docs: make v0.9 the default docs
  • a5b62f4d docs: add documentation for Talos 0.10
  • ce795f1c fix: command etcd remove-member shouldn't remove etcd data directory
  • aab49a16 fix: repair zsh completion
  • fc9c416a fix: build rockpi4 metal image as part of CI build
  • 125b86f4 fix: upgrade-k8s bug with empty config values and provision script
  • 8b2d228d chore: add script for starting registry proxies
  • f7d276b8 chore: remove old osctl reference
  • 5b14d6f2 chore: fix make help output
  • f0512dfc feat: update Kubernetes to 1.20.5
  • 24cd0a20 feat: publish talosctl container image
  • 6e17102c chore: remove unused code
  • 88104407 docs: add control plane in-depth guide
  • ecf03449 chore: bump Go to 1.16.2
  • cbc38418 release(v0.10.0-alpha.0): prepare release
  • 3455a8e8 chore: use new release tool for changelogs and release notes
  • 08271ba9 chore: use Go 1.16 language version
  • 7662d033 fix: talosctl health should not check kube-proxy when it is disabled
  • 0dbaeb9e chore: update tools, use new generators
  • e31790f6 fix: properly format spec comments in the resources
  • 78d384eb test: update aws cloud provider version
  • 3c5bfbb4 fix: don't touch any partitions on upgrade with --preserve
  • 891f90fe chore: update Linux to 5.10.23
  • d4d77882 chore: update dependencies via dependabot
  • 2e22f20b docs: minor fixes to getting started
  • ca8a5596 chore: fix provision tests after changes to build-container
  • 4aae924c refactor: provide explicit logger for networkd
  • 22f37530 chore: update golanci-lint to 1.38.0
  • 83b4e7f7 feat: add Rock pi 4 support
  • 1362966f docs: rewrite getting-started for ISO
  • 8e57fc4f fix: move containerd CRI config files under /var/
  • 6f7df3da fix: update output of convert-k8s command
  • dce6118c docs: add guide for VIP
  • ee5d9ffa chore: bump Go to 1.16.1
  • 7c529e1c docs: fix links in the documentation
  • f596c7f6 docs: add video for raspberry pi install
  • 47324dca docs: add guide on editing machine configuration
  • 99d5f894 chore: update website npm dependencies
  • 11056a80 docs: add highlights for 0.9 release
  • ae8bedb9 docs: add control plane conversion guide and 0.9 upgrade notes
  • ed9673e5 docs: add troubleshooting control plane documentation
  • 485cb126 docs: update Kubernetes upgrade guide

Changes since v0.10.0-alpha.1

25 commits

  • e0650218 feat: support etcd recovery from snapshot on bootstrap
  • 247bd50e docs: describe steps to install and boot Talos from the SSD on rockpi4
  • e6b4e524 test: update CAPA to 0.6.4
  • 28753f6d fix: trim endpoints/nodes from arguments in talosctl config
  • aca63b88 docs: fix "DigitalOcean" spelling
  • 33035901 fix: revert mark PMBR EFI partition as bootable
  • fbfd1eb2 refactor: pull new version of os-runtime, update code
  • 8737ea71 feat: allow external cloud provides configration
  • 3909e2d0 chore: update Go to 1.16.3
  • 690eb20e chore: update blockdevice library for PMBR bootable fix
  • a8761b8e fix: require leader on etcd member operations
  • 3dc84625 fix: make both HDMI ports work on RPi 4
  • bd5ae1e0 fix: add a check for overlay mounts in installer pre-flight checks
  • df8649cb refactor: download modules before go generate
  • 39ae0415 chore: bump dependencies via dependabot
  • e16d6d34 fix: publish rockpi4 image to release artifacts
  • 39c6dbcc feat: add --config-patch parameter to talosctl gen config
  • e664362c feat: add API and command to save etcd snapshot (backup)
  • 61b694b9 fix: create rootfs for system services via /system tmpfs
  • abc2e17e test: update 0.9.x version in upgrade tests to 0.9.1
  • a1e64154 fix: retry Kubernetes API errors on cordon/uncordon/etc
  • 063d1abe fix: print task failure error immediately
  • e039172e fix: ignore EOF errors from Kubernetes API when converting control plane
  • 7bcb91a4 docs: fix typo for stage flag
  • a43acb21 feat: bring in Linux 5.10.27, support for 32-bit time syscalls

Changes from talos-systems/extras

3 commits

Changes from talos-systems/go-blockdevice

3 commits

  • 1d830a2 fix: revert mark the EFI partition in PMBR as bootable
  • bec914f fix: mark the EFI partition in PMBR as bootable
  • 776b37d feat: add options to probe disk by various sysblock parameters

Changes from talos-systems/os-runtime

5 commits

  • 86d9e09 chore: bump go.mod dependencies
  • 2de411a feat: major rewrite of the os-runtime with new features
  • ded40a7 feat: implement controller runtime gRPC bridge
  • 0d5b5a9 feat: implement resource state service and client
  • d04ec51 feat: add common COSI resource protobuf, implement bridge with state

Changes from talos-systems/pkgs

8 commits

  • 9a6cf6b feat: build with Go 1.16.3
  • 60ce626 feat: update Linux to 5.10.27, enable 32-bit time syscalls
  • fdf4866 feat: bump tools for Go 1.16.2
  • 35f9b6f feat: update kernel to 5.10.23
  • dbae83e fix: do not use git-lfs for rockpi4 binaries
  • 1c6b9a3 feat: bump tools for Go 1.16.1
  • c18073f feat: add u-boot for Rock Pi 4
  • 6b85a2b feat: upgrade u-boot to 2021.04-rc3

Changes from talos-systems/tools

5 commits

  • 1f26def feat: update Go to 1.16.3
  • 41b8073 feat: bump protobuf-related tools
  • f7bce92 chore: bump Go to 1.16.2
  • bcf3380 feat: bump protobuf deps, add protoc-gen-go-grpc
  • b49c40e feat: bump Go to 1.16.1

Dependency Changes

  • github.com/coreos/go-semver v0.3.0 new
  • github.com/golang/protobuf v1.4.3 -> v1.5.2
  • github.com/google/go-cmp v0.5.4 -> v0.5.5
  • github.com/hashicorp/go-multierror v1.1.0 -> v1.1.1
  • github.com/talos-systems/extras v0.2.0-1-g0db3328 -> v0.3.0-alpha.0-2-gcf3934a
  • github.com/talos-systems/go-blockdevice bb3ad73f6983 -> 1d830a25f64f
  • github.com/talos-systems/os-runtime 7b3d14457439 -> 86d9e090bdc4
  • github.com/talos-systems/pkgs v0.4.1-2-gd471b60 -> v0.5.0-alpha.0-5-g9a6cf6b
  • github.com/talos-systems/tools v0.4.0-1-g3b25a7e -> v0.5.0-alpha.0-4-g1f26def
  • go.etcd.io/etcd/etcdctl/v3 v3.5.0-alpha.0 new
  • google.golang.org/grpc v1.36.0 -> v1.36.1
  • google.golang.org/protobuf v1.25.0 -> v1.26.0
  • k8s.io/api v0.20.5 -> v0.21.0-rc.0
  • k8s.io/apimachinery v0.20.5 -> v0.21.0-rc.0
  • k8s.io/apiserver v0.20.5 -> v0.21.0-rc.0
  • k8s.io/client-go v0.20.5 -> v0.21.0-rc.0
  • k8s.io/cri-api v0.20.5 -> v0.21.0-rc.0
  • k8s.io/kubectl v0.20.5 -> v0.21.0-rc.0
  • k8s.io/kubelet v0.20.5 -> v0.21.0-rc.0

Previous release can be found at v0.9.0

Talos 0.10.0-alpha.1 (2021-03-31)

Welcome to the v0.10.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/talos-systems/talos/issues.

Install Disk Selector

Install section of the machine config now has diskSelector field that allows querying install disk using the list of qualifiers:

...
  install:
    diskSelector:
      size: >= 500GB
      model: WDC*
...

talosctl disks -n <node> -i can be used to check allowed disk qualifiers when the node is running in the maintenance mode.

Optmizations

  • Talos system services now run without container images on initramfs from the single executable; this change reduces RAM usage, initramfs size and boot time..

SBCs

  • u-boot version was updated to fix the boot and USB issues on Raspberry Pi 4 8GiB version.
  • added support for Rock Pi 4.

Contributors

  • Andrey Smirnov
  • Alexey Palazhchenko
  • Artem Chernyshev
  • Spencer Smith
  • Seán C McCord
  • Andrew Rynhard
  • Jorik Jonker
  • bzub

Changes

78 commits

  • 8309312a chore: build components with race detector enabled in dev mode
  • 7d912584 test: fix data race in apply config tests
  • 204caf8e test: fix apply-config integration test, bump clusterctl version
  • d812099d fix: address several issues in TUI installer
  • 269c9ad0 fix: don't write to config object on access
  • a9451f57 feat: update Kubernetes to 1.21.0-beta.1
  • 4b42ced4 feat: add ability to disable comments in talosctl gen config
  • a0dcfc3d fix: workaround race in containerd runner with stdin pipe
  • 2ea20f59 feat: replace timed with time sync controller
  • c38a161a test: add unit-test for machine config validation
  • a6106815 chore: bump dependencies via dependabot
  • 35598f39 chore: refactor: extract ClusterConfig
  • 03285184 fix: get rid of data race in encoder and fix concurrent map access
  • 4b3580aa fix: prevent panic in validate config if machine.install is missing
  • d7e9f6d6 chore: build integration tests with -race
  • 9f7d67ac chore: fix typo
  • 672c9707 fix: allow convert-k8s --remove-initialized-keys with K8s cp is down
  • fb605a0f chore: tweak nolintlint settings
  • 1f5a0c40 fix: resolve the issue with Kubernetes upgrade
  • 74b2b557 docs: update AWS docs to ensure instances are tagged
  • dc21d9b4 chore: remove old file
  • 966caf7a chore: remove unused module replace directives
  • 98b22f1e feat: show short options in talosctl kubeconfig
  • 51139d54 chore: cache go modules in the build
  • 65701aa7 fix: resolve the issue with DHCP lease not being renewed
  • 711f5b23 fix: config validation: CNI should apply to cp nodes, encryption config
  • 5ff491d9 fix: allow empty list for CNI URLs
  • 946e74f0 docs: update path for kernel downloads in qemu docs
  • ed272e60 feat: update Kubernetes to 1.21.0-beta.0
  • b0209fd2 refactor: move networkd, timed APIs to machined, remove routerd
  • 6ffabe51 feat: add ability to find disk by disk properties
  • ac876470 refactor: move apid, routerd, timed and trustd to single executable
  • 89a4b09f refactor: run networkd as a goroutine in machined
  • f4a6a19c chore: update sonobuoy
  • dc294db1 chore: bump dependencies via dependabot
  • 2b1641a3 docs: add AMIs for Talos 0.9.0
  • 79ceb428 docs: make v0.9 the default docs
  • a5b62f4d docs: add documentation for Talos 0.10
  • ce795f1c fix: command etcd remove-member shouldn't remove etcd data directory
  • aab49a16 fix: repair zsh completion
  • fc9c416a fix: build rockpi4 metal image as part of CI build
  • 125b86f4 fix: upgrade-k8s bug with empty config values and provision script
  • 8b2d228d chore: add script for starting registry proxies
  • f7d276b8 chore: remove old osctl reference
  • 5b14d6f2 chore: fix make help output
  • f0512dfc feat: update Kubernetes to 1.20.5
  • 24cd0a20 feat: publish talosctl container image
  • 6e17102c chore: remove unused code
  • 88104407 docs: add control plane in-depth guide
  • ecf03449 chore: bump Go to 1.16.2
  • cbc38418 release(v0.10.0-alpha.0): prepare release
  • 3455a8e8 chore: use new release tool for changelogs and release notes
  • 08271ba9 chore: use Go 1.16 language version
  • 7662d033 fix: talosctl health should not check kube-proxy when it is disabled
  • 0dbaeb9e chore: update tools, use new generators
  • e31790f6 fix: properly format spec comments in the resources
  • 78d384eb test: update aws cloud provider version
  • 3c5bfbb4 fix: don't touch any partitions on upgrade with --preserve
  • 891f90fe chore: update Linux to 5.10.23
  • d4d77882 chore: update dependencies via dependabot
  • 2e22f20b docs: minor fixes to getting started
  • ca8a5596 chore: fix provision tests after changes to build-container
  • 4aae924c refactor: provide explicit logger for networkd
  • 22f37530 chore: update golanci-lint to 1.38.0
  • 83b4e7f7 feat: add Rock pi 4 support
  • 1362966f docs: rewrite getting-started for ISO
  • 8e57fc4f fix: move containerd CRI config files under /var/
  • 6f7df3da fix: update output of convert-k8s command
  • dce6118c docs: add guide for VIP
  • ee5d9ffa chore: bump Go to 1.16.1
  • 7c529e1c docs: fix links in the documentation
  • f596c7f6 docs: add video for raspberry pi install
  • 47324dca docs: add guide on editing machine configuration
  • 99d5f894 chore: update website npm dependencies
  • 11056a80 docs: add highlights for 0.9 release
  • ae8bedb9 docs: add control plane conversion guide and 0.9 upgrade notes
  • ed9673e5 docs: add troubleshooting control plane documentation
  • 485cb126 docs: update Kubernetes upgrade guide

Changes since v0.10.0-alpha.0

50 commits

  • 8309312a chore: build components with race detector enabled in dev mode
  • 7d912584 test: fix data race in apply config tests
  • 204caf8e test: fix apply-config integration test, bump clusterctl version
  • d812099d fix: address several issues in TUI installer
  • 269c9ad0 fix: don't write to config object on access
  • a9451f57 feat: update Kubernetes to 1.21.0-beta.1
  • 4b42ced4 feat: add ability to disable comments in talosctl gen config
  • a0dcfc3d fix: workaround race in containerd runner with stdin pipe
  • 2ea20f59 feat: replace timed with time sync controller
  • c38a161a test: add unit-test for machine config validation
  • a6106815 chore: bump dependencies via dependabot
  • 35598f39 chore: refactor: extract ClusterConfig
  • 03285184 fix: get rid of data race in encoder and fix concurrent map access
  • 4b3580aa fix: prevent panic in validate config if machine.install is missing
  • d7e9f6d6 chore: build integration tests with -race
  • 9f7d67ac chore: fix typo
  • 672c9707 fix: allow convert-k8s --remove-initialized-keys with K8s cp is down
  • fb605a0f chore: tweak nolintlint settings
  • 1f5a0c40 fix: resolve the issue with Kubernetes upgrade
  • 74b2b557 docs: update AWS docs to ensure instances are tagged
  • dc21d9b4 chore: remove old file
  • 966caf7a chore: remove unused module replace directives
  • 98b22f1e feat: show short options in talosctl kubeconfig
  • 51139d54 chore: cache go modules in the build
  • 65701aa7 fix: resolve the issue with DHCP lease not being renewed
  • 711f5b23 fix: config validation: CNI should apply to cp nodes, encryption config
  • 5ff491d9 fix: allow empty list for CNI URLs
  • 946e74f0 docs: update path for kernel downloads in qemu docs
  • ed272e60 feat: update Kubernetes to 1.21.0-beta.0
  • b0209fd2 refactor: move networkd, timed APIs to machined, remove routerd
  • 6ffabe51 feat: add ability to find disk by disk properties
  • ac876470 refactor: move apid, routerd, timed and trustd to single executable
  • 89a4b09f refactor: run networkd as a goroutine in machined
  • f4a6a19c chore: update sonobuoy
  • dc294db1 chore: bump dependencies via dependabot
  • 2b1641a3 docs: add AMIs for Talos 0.9.0
  • 79ceb428 docs: make v0.9 the default docs
  • a5b62f4d docs: add documentation for Talos 0.10
  • ce795f1c fix: command etcd remove-member shouldn't remove etcd data directory
  • aab49a16 fix: repair zsh completion
  • fc9c416a fix: build rockpi4 metal image as part of CI build
  • 125b86f4 fix: upgrade-k8s bug with empty config values and provision script
  • 8b2d228d chore: add script for starting registry proxies
  • f7d276b8 chore: remove old osctl reference
  • 5b14d6f2 chore: fix make help output
  • f0512dfc feat: update Kubernetes to 1.20.5
  • 24cd0a20 feat: publish talosctl container image
  • 6e17102c chore: remove unused code
  • 88104407 docs: add control plane in-depth guide
  • ecf03449 chore: bump Go to 1.16.2

Changes from talos-systems/extras

2 commits

Changes from talos-systems/go-blockdevice

1 commit

  • 776b37d feat: add options to probe disk by various sysblock parameters

Changes from talos-systems/pkgs

6 commits

  • fdf4866 feat: bump tools for Go 1.16.2
  • 35f9b6f feat: update kernel to 5.10.23
  • dbae83e fix: do not use git-lfs for rockpi4 binaries
  • 1c6b9a3 feat: bump tools for Go 1.16.1
  • c18073f feat: add u-boot for Rock Pi 4
  • 6b85a2b feat: upgrade u-boot to 2021.04-rc3

Changes from talos-systems/tools

4 commits

  • 41b8073 feat: bump protobuf-related tools
  • f7bce92 chore: bump Go to 1.16.2
  • bcf3380 feat: bump protobuf deps, add protoc-gen-go-grpc
  • b49c40e feat: bump Go to 1.16.1

Dependency Changes

  • github.com/coreos/go-semver v0.3.0 new
  • github.com/golang/protobuf v1.4.3 -> v1.5.1
  • github.com/google/go-cmp v0.5.4 -> v0.5.5
  • github.com/hashicorp/go-multierror v1.1.0 -> v1.1.1
  • github.com/talos-systems/extras v0.2.0-1-g0db3328 -> v0.3.0-alpha.0-1-gc0fa0c0
  • github.com/talos-systems/go-blockdevice bb3ad73f6983 -> 776b37d31de0
  • github.com/talos-systems/pkgs v0.4.1-2-gd471b60 -> v0.5.0-alpha.0-3-gfdf4866
  • github.com/talos-systems/tools v0.4.0-1-g3b25a7e -> v0.5.0-alpha.0-3-g41b8073
  • google.golang.org/grpc v1.36.0 -> v1.36.1
  • google.golang.org/protobuf v1.25.0 -> v1.26.0
  • k8s.io/api v0.20.5 -> v0.21.0-rc.0
  • k8s.io/apimachinery v0.20.5 -> v0.21.0-rc.0
  • k8s.io/apiserver v0.20.5 -> v0.21.0-rc.0
  • k8s.io/client-go v0.20.5 -> v0.21.0-rc.0
  • k8s.io/cri-api v0.20.5 -> v0.21.0-rc.0
  • k8s.io/kubectl v0.20.5 -> v0.21.0-rc.0
  • k8s.io/kubelet v0.20.5 -> v0.21.0-rc.0

Previous release can be found at v0.9.0

Talos 0.10.0-alpha.0 (2021-03-17)

Welcome to the v0.10.0-alpha.0 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.

SBCs

  • u-boot version was updated to fix the boot and USB issues on Raspberry Pi 4 8GiB version.
  • added support for Rock Pi 4.

Contributors

  • Andrey Smirnov
  • Alexey Palazhchenko
  • Artem Chernyshev
  • Seán C McCord
  • Spencer Smith
  • Andrew Rynhard

Changes

27 commits

  • 3455a8e8 chore: use new release tool for changelogs and release notes
  • 08271ba9 chore: use Go 1.16 language version
  • 7662d033 fix: talosctl health should not check kube-proxy when it is disabled
  • 0dbaeb9e chore: update tools, use new generators
  • e31790f6 fix: properly format spec comments in the resources
  • 78d384eb test: update aws cloud provider version
  • 3c5bfbb4 fix: don't touch any partitions on upgrade with --preserve
  • 891f90fe chore: update Linux to 5.10.23
  • d4d77882 chore: update dependencies via dependabot
  • 2e22f20b docs: minor fixes to getting started
  • ca8a5596 chore: fix provision tests after changes to build-container
  • 4aae924c refactor: provide explicit logger for networkd
  • 22f37530 chore: update golanci-lint to 1.38.0
  • 83b4e7f7 feat: add Rock pi 4 support
  • 1362966f docs: rewrite getting-started for ISO
  • 8e57fc4f fix: move containerd CRI config files under /var/
  • 6f7df3da fix: update output of convert-k8s command
  • dce6118c docs: add guide for VIP
  • ee5d9ffa chore: bump Go to 1.16.1
  • 7c529e1c docs: fix links in the documentation
  • f596c7f6 docs: add video for raspberry pi install
  • 47324dca docs: add guide on editing machine configuration
  • 99d5f894 chore: update website npm dependencies
  • 11056a80 docs: add highlights for 0.9 release
  • ae8bedb9 docs: add control plane conversion guide and 0.9 upgrade notes
  • ed9673e5 docs: add troubleshooting control plane documentation
  • 485cb126 docs: update Kubernetes upgrade guide

Changes since v0.10.0-alpha.0

0 commit

Changes from talos-systems/extras

1 commit

Changes from talos-systems/os-runtime

1 commit

  • 7b3d144 feat: use go-yaml fork and serialize spec as RawYAML objects

Changes from talos-systems/pkgs

5 commits

  • 35f9b6f feat: update kernel to 5.10.23
  • dbae83e fix: do not use git-lfs for rockpi4 binaries
  • 1c6b9a3 feat: bump tools for Go 1.16.1
  • c18073f feat: add u-boot for Rock Pi 4
  • 6b85a2b feat: upgrade u-boot to 2021.04-rc3

Changes from talos-systems/tools

2 commits

  • bcf3380 feat: bump protobuf deps, add protoc-gen-go-grpc
  • b49c40e feat: bump Go to 1.16.1

Dependency Changes

  • github.com/hashicorp/go-multierror v1.1.0 -> v1.1.1
  • github.com/talos-systems/extras v0.2.0 -> v0.3.0-alpha.0
  • github.com/talos-systems/os-runtime 84c3c875eb2b -> 7b3d14457439
  • github.com/talos-systems/pkgs v0.4.1 -> v0.5.0-alpha.0-2-g35f9b6f
  • github.com/talos-systems/tools v0.4.0 -> v0.5.0-alpha.0-1-gbcf3380

Previous release can be found at v0.9.0-beta.0

v0.9.0-alpha.5 (2021-03-03)

Chore

  • bump Go module dependencies
  • properly propagate context object in the controller

Feat

  • bypass lock if ACPI reboot/shutdown issued
  • add --on-reboot flag to talosctl edit/patch machineConfig
  • support JSON output in talosctl get, event types
  • rename namespaces, resources, types etc

v0.9.0-alpha.4 (2021-03-02)

Chore

  • update provision/upgrade tests to 0.9.0-alpha.3

Docs

  • bump v0.8 release version in the SBCs guides
  • add disk encryption guide

Feat

  • update linux kernel to 5.10.19

Fix

  • ignore 'ENOENT' (no such file directory) on mount
  • move etcd to cri containerd runner

v0.9.0-alpha.3 (2021-03-01)

Chore

  • bump dependencies via dependabot
  • build both Darwin and Linux versions of talosctl
  • bump dependencies via dependabot
  • switch CI to stop embedding local registry into the builds

Docs

  • update AMI images for 0.8.4

Feat

  • implement etcd remove-member cli command
  • update etcd to 3.4.15
  • talosctl: allow v-prefixed k8s versions
  • implement simple layer 2 shared IP for CP
  • implement talosctl edit and patch config commands
  • bump etcd client library to 3.5.0-alpha.0

Fix

  • update in-cluster kubeconfig validity to match other certs
  • add ApplyDynamicConfig call in the apply-config --immediate mode
  • set hdmi_safe=1 on Raspberry Pi for maximum HDMI compatibility
  • show stopped/exited containers via CRI inspector
  • make ApplyDynamicConfig idempotent
  • improve the drain function
  • correctly set service state in the resource
  • update the layout of the Disks API to match proxying requirements
  • stop and clean up installer container correctly
  • sanitize volume name better in static pod extra volumes

Refactor

  • add context to the networkd
  • split WithNetworkConfig into sub-options

Test

  • add integration test with Canal CNI and reset API
  • upgrade master to master tests

v0.9.0-alpha.2 (2021-02-20)

Chore

  • add default cron pipeline to the list of pipelines
  • run default pipeline as part of the cron pipeline

Docs

  • add link to GitHub Discussions as a support forum

Feat

  • u-boot 2021.01, ca-certificates update, Linux file ACLs
  • support control plane upgrades with Talos managed control plane
  • add support for extra volume mounts for control plane pods
  • add a warning to boot log if running self-hosted control plane
  • add an option to disable kube-proxy manifest
  • update Kubernetes to 1.20.4
  • add state encryption support

Fix

  • redirect warnings in manifest apply k8s client
  • handle case when kubelet serving certificates are issued
  • correctly escape extra args in kube-proxy manifest
  • skip empty manifest YAML sub-documents

Refactor

  • split kubernetes/etcd resource generation into subresources

Test

  • enable disk encryption key rotation test
  • update integration tests to use wrapped client for etcd APIs

v0.9.0-alpha.1 (2021-02-09)

Chore

  • update artifacts bucket name in Drone
  • rework Drone pipelines
  • update dependencies via dependabot
  • ci: fix schedules in Drone pipelines
  • ci: update gcp templates

Docs

  • update AMI list for 0.8.2
  • fix typos

Feat

  • add a tool and package to convert self-hosted CP to static pods
  • implement ephemeral partition encryption
  • add resource watch API + CLI
  • rename apply-config --no-reboot to --on-reboot
  • skip filesystem for state and ephemeral partitions in the installer
  • stop all pods before unmounting ephemeral partition
  • bump Go to 1.15.8
  • support version contract for Talos config generation
  • update Linux to 5.10.14
  • add an option to force upgrade without checks
  • upgrade CoreDNS to 1.8.0
  • implement IPv6 DHCP client in networkd

Fix

  • correctly unwrap responses for etcd commands
  • drop cri dependency on etcd
  • move versions to annotations in control plane static pods
  • find master node IPs correctly in health checks
  • add 3 seconds grub boot timeout
  • don't use filename from URL when downloading manifest
  • pass attributes when adding routes
  • correct response structure for GenerateConfig API
  • correctly extract wrapped error messages
  • prevent crash in machined on apid service stop
  • wait for time sync before generating Kubernetes certificates
  • set proper hostname on docker nodes
  • mount kubelet secrets from system instead of ephemeral
  • allow loading of empty config files
  • prefer configured nameservers, fix DHCP6 in container
  • refresh control plane endpoints on worker apids on schedule
  • update DHCP client to use Request-Ack sequence after an Offer

Refactor

  • extract go-cmd into a separate library

Test

  • trigger e2e on thrice daily
  • update aws templates
  • add support for IPv6 in talosctl cluster create

v0.9.0-alpha.0 (2021-02-01)

Chore

  • bump dependencies (via dependabot)
  • fix import path for fsnotify
  • add dependabot config
  • enable virtio-balloon and monitor in QEMU provisioner
  • update protobuf, grpc-go, prototool
  • update upgrade test version used

Docs

  • update components.md
  • add v0.9 docs
  • add modes to validate command
  • document omitting DiskPartition size
  • update references to 0.8.0, add 0.8.0 AWS AMIs
  • fix latest docs
  • set latest docs to v0.8
  • provide AMIs for 0.8.0-beta.0
  • fix SBC docs to point to beta.0 instead of beta.1
  • update Talos release for SBCs

Feat

  • move to ECDSA keys for all Kubernetes/etcd certs and keys
  • update kernel
  • mount hugetlbfs
  • allow fqdn to be used when registering k8s node
  • copy cryptsetup executable from pkgs
  • use multi-arch images for k8s and Flannel CNI
  • replace bootkube with Talos-managed control plane
  • implement resource API in Talos
  • update Linux to 5.10.7, musl-libc to 1.2.2
  • update Kubernetes to 1.20.2
  • support Wireguard networking
  • bump pkgs for kernel with CONFIG_IPV6_MULTIPLE_TABLES
  • support type filter in list API and CLI
  • add commands to manage/query etcd cluster
  • support disk image in talosctl cluster create
  • update Kubernetes to 1.20.1

Fix

  • use hugetlbfs instead of none
  • use grpc load-balancing when connecting to trustd
  • lower memory usage a bit by disabling memory profiling
  • don't probe disks in container mode
  • prefix rendered Talos-owned static pod manifests
  • bump timeout for worker apid waiting for kubelet client config
  • kill all processes and umount all disk on reboot/shutdown
  • open blockdevices with exclusive flock for partitioning
  • list command unlimited recursion default behavior
  • pick first interface valid hostname (vs. last one)
  • allow 'console' argument in kernel args to be always overridden
  • bring up bonded interfaces correctly on packet
  • checkpoint controller-manager and scheduler
  • correctly transport gRPC errors from apid
  • use SetAll instead of AppendAll when building kernel args
  • add more dependencies for bootstrap services
  • pass disk image flags to e2e-qemu cluster create command
  • ignore pods spun up from checkpoints in health checks
  • leave etcd for staged upgrades
  • ignore errors on stopping/removing pod sandboxes
  • use the correct console on Banana Pi M64
  • don't run LabelNodeAsMaster in two sequences

Refactor

  • update go-blockdevice and restructure disk interaction code
  • define default kernel flags in machinery instead of procfs

Test

  • clear connection refused errors after reset
  • skip etcd tests on non-HA clusters

v0.8.0-alpha.3 (2020-12-10)

Chore

  • update CONTRIBUTING.md
  • limit unit-test run concurrency
  • bump Go to 1.15.6
  • bump dockerfile frontend version
  • fix conform for releases

Docs

  • update Equinix Metal guide
  • add architectural doc on the root file system layout
  • add a note on caveats in container mode
  • add storage doc
  • add guide for custom CAs
  • add docs for network connectivity
  • improve SBC documentation

Feat

  • update kernel to 5.9.13, new KSPP requirements
  • reset with system disk wipe spec
  • add talosctl merge config command
  • add talosctl config contexts
  • update Kubernetes to 1.20.0
  • implement "staged" (failsafe/backup) upgrades
  • allow disabling NoSchedule taint on masters using TUI installer

Fix

  • remove kmsg ratelimiting on startup
  • zero out partitions without filesystems on install
  • make interactive installer work without endpoints provided

Test

  • add ISO test
  • add support for mounting ISO in talosctl cluster create
  • bump Talos release version for upgrade test to 0.7.1
  • bump defaults for provision tests resources

v0.8.0-alpha.2 (2020-12-04)

Chore

  • publish Rock64 image
  • enable thrice daily pipeline
  • run integration test thrice daily
  • output SBC images as compressed raw images
  • build SBC images
  • update module dependencies
  • drop support for docker load
  • fix metal image name
  • use IMAGE_TAG instead of TAG for :latest pushes

Docs

  • fix typos
  • add openstack docs
  • ensure port for vbox and proxmox docs
  • add console kernel arg to rpi_4 image generation
  • add console kernel arg to libretech_all_h3_cc_h5 image generation

Feat

  • add support for the Pine64 Rock64
  • add TUI for configuring network interfaces settings
  • make GenerateConfiguration accept current time as a parameter
  • introduce configpatcher package in machinery
  • suggest fixed control plane endpoints in talosctl gen config
  • update kubernetes to 1.20.0-rc.0
  • allow boards to set kernel args
  • add support for the Banana Pi M64
  • stop including K8s version by default in talosctl gen config
  • add support for the Raspberry Pi 4 Model B
  • implement network interfaces list API
  • bump package for kernel with CIFS support
  • upgrade etcd to 3.4.14
  • update Containerd and Linux
  • add support for installing to SBCs
  • add ability to choose CNI config

Fix

  • make default generate image arch dynamic based on arch
  • stabilize serial console on RPi4, add video console
  • make reset work again
  • node taint doesn't contain value anymore
  • defer resolving config context in client code
  • remove value (change to empty) for NoSchedule taint
  • prevent endless loop with DHCP requests in networkd
  • skip board argument to the installer if it's not set
  • use the dtb from kernel pkg for libretech_all_h3_cc_h5
  • prevent crash in talosctl config commands
  • update generated .ova manifest for raw disk size
  • security: update Containerd to v1.4.3

Release

  • v0.8.0-alpha.2: prepare release

v0.8.0-alpha.1 (2020-11-26)

Chore

  • add cloud image uploader (AWS AMIs for now)
  • bump K8s to 1.19.4 in e2e scripts with CABPT version
  • build arm64 images in CI
  • remove maintenance service interface and use machine service

Docs

  • provide list of AMIs on AWS documentation page
  • add 0.8 docs for the upcoming release
  • ensure we configure nodes in guides
  • ensure gcp docs have firewall and node info
  • add qemu diagram and video walkthrough
  • graduate v0.7 docs
  • improve configuration reference documentation
  • fix small typo in talosctl processes cast
  • update asciinemas with talosctl
  • add proxmox doc
  • add live walkthroughs where applicable

Feat

  • support openstack platform
  • update Kubernetes to v1.20.0-beta.2
  • change UI component for disks selector
  • support cluster expansion in the interactive installer
  • implement apply configuration without reboot
  • make GenerateConfiguration API reuse current node auth
  • sync time before installer runs
  • set interface MTU in DHCP mode even if DHCP is not successful
  • print hint about using interative installer in mainenance mode
  • add TUI based talos interactive installer
  • support ipv6 routes
  • return client config as the second value in GenerateConfiguration
  • correctly merge talosconfig (don't ever overwrite)
  • drop to maintenance mode in cloud platforms if userdata is missing
  • read config from extra guestinfo key (vmware)
  • update Go to 1.15.5
  • add generate config gRPC API
  • upgrade Kubernetes default version to 1.19.4
  • add example command in maintenance, enforce cert fingerprint
  • add storage API

Fix

  • bump blockdevice library for mmcblk part name fix
  • ignore 'not found' errors when stopping/removing CRI pods
  • return hostname from packet platform
  • make fingerprint clearly optional in a boot hint
  • ensure packet nics get all IPs
  • use ghcr.io/talos-systems/kubelet
  • bump timeout for config downloading on bare metal

Refactor

  • drop osd compatibility layer

Release

  • v0.8.0-alpha.1: prepare release

Test

  • update integration test versions, clean up names