0.3.0-alpha.1
Pre-releaseSidero 0.3.0-alpha.1 (2021-05-20)
Welcome to the v0.3.0-alpha.1 release of Sidero!
This is a pre-release of Sidero
Please try out the release binaries and report any issues at
https://github.com/talos-systems/sidero/issues.
ServerClass any
and Environment default
Sidero now creates ServerClass any
which matches all servers.
Environment default
is created which will supply Talos release that Sidero was built with, as well as default kernel flags.
Boot from Disk Methods
If the server is configured to PXE boot by default, it might hit the Sidero iPXE server after Talos install, so Sidero has to force the
server to boot from disk.
Sidero 0.2 supports default method via iPXE exit
command, but this command doesn't always work
(details).
Sidero 0.3 adds support for two additional methods:
http-404
force HTTP 404 response from iPXE serveripxe-sanboot
usessanboot
command to boot from the first disk
Variable SIDERO_CONTROLLER_MANAGER_BOOT_FROM_DISK_METHOD
controls this setting.
Install and Upgrade Variables
Some aspects of Sidero installation can now be controlled via environment variables or clusterctl
variables.
IPMI Discovery and Automatic Setup
Sidero agent by default discovers BMC (IPMI) endpoint when it first runs on the server and provisions user for Sidero automatically.
This feature enables completely automated server and IPMI discovery on the agent boot.
Variable SIDERO_CONTROLLER_MANAGER_AUTO_BMC_SETUP
can be used to disable this feature during install or upgrade of Sidero.
Additionally Sidero supports storing IMPI credentials in Kubernetes secrets referencing them from the Server object.
iPXE script
iPXE image delivered by Sidero (either ipxe.efi
or undionly.kpxe
) now contains embedded iPXE script to access Sidero iPXE server.
This change allows to simplify DHCP server setup to return only iPXE image without any additional if
s.
Label Selector support in ServerClass
ServerClasses now support Kubernetes label selectors: Servers can be selected based on their labels.
metal-controller-manager
External Ports Change
Component metal-metadata-server
was merged into metal-controller-manager
, and three separate HTTP endpoints were merged into one endpoint on port :8081
:
- iPXE server (which used to be on port 8081)
- internal gRPC server (Sidero agent uses it to talk back to Sidero service), previously was 50001
- metadata server endpoint (used to be separate deployment and service, docs used port 9091)
Support for arm64
All components are now capable of running on arm64, including Rasberry Pi 4.
Sidero can provision amd64
and arm64
nodes from any platform.
Only UEFI boot is supported for arm64
.
Note: Upstream CAPI includes
kube-rbac-proxy
component which is not compatible witharm64
at the moment of this writing.
A workaround is to patch the deployment to bump thekube-rbac-proxy
image from v0.4.1 to v0.8.0.
Contributors
- Andrey Smirnov
- Alexey Palazhchenko
- Spencer Smith
- Artem Chernyshev
- Andrew Rynhard
- Brandon Nason
- Matt Zahorik
- bzub
Changes
45 commits
99c3cd3
release(v0.3.0-alpha.1): prepare releasedcc3fde
feat: add label selector to serverclass3caa6f5
chore: fix markdown lintinga792890
feat: provide several options to force boot from disk via iPXE1e8096e
docs: add Mermaidc240381
feat: bump default Talos version to v0.10.20a50888
docs: move to standardized template4a1183b
feat: ship Environment "default"2e8c1ed
chore: fix a few linter warnings6bcf9a8
chore: bump dependencies via dependabot4c0b3de
docs: clarify docs around endpoints and metadata server990263a
feat: merge Sidero HTTP endpoints under a single port5266a76
chore: reduce bootstrap node resources in Sfyra7f3b4b8
fix: remove kube-rbac-proxybfa3cd9
chore: re-sign the .drone.yml filecf383ab
chore: use release-tool to generate release notes056f8c2
release(v0.3.0-alpha.0): prepare releaseca75eb4
fix: back down resource requests3a6c5b9
chore: parse "boolean" variables148e228
chore: bump dependenciesdb28ed3
chore: allow building with debug handlers2cdde00
test: fix the Environment args to support UEFI bootd15a960
chore: add golangci-lint configurationb3afd17
feat: ship ServerClass "any"94ff33b
feat: enable auto-setup of BMC52647f9
docs: fix install disk name in the examples44eaa7d
feat: inject iPXE script into the iPXE binaries1659b96
docs: fix typofb04b24
chore: fixmake help
commandf8bc9b1
test: add missing empty testsb17f370
test: port improvements from Talosc43f9ec
test: run unit tests on CI, skip broken45cb973
chore: document Makefile target8e12ab9
chore: disable dependabot rebases4267ed7
chore: update dependecies4aae477
chore: add dependabot config1e33dcd
feat: pull the Sidero configuration asclusterctl
variables23c75e4
docs: add guide for upgradesc9aca48
docs: fix the docs around CONTROL_PLANE_ENDPOINT37e4ab7
fix: remove erroneous wg.Add in environment controller74d9bf9
feat: add an option to reference IPMI creds via the secret refs0613b8f
feat: pull in new version of go-smbios for UUID endiannes fixf6ca6e8
feat: build Sidero for amd64 and arm64, support arm64 in the agent8960225
chore: improve build systema20fcf9
docs: create v0.2 docs and add note about specifying TALOS_VERSION
Changes since v0.3.0-alpha.0
16 commits
d51fda5
release(v0.3.0-alpha.1): prepare releasedcc3fde
feat: add label selector to serverclass3caa6f5
chore: fix markdown lintinga792890
feat: provide several options to force boot from disk via iPXE1e8096e
docs: add Mermaidc240381
feat: bump default Talos version to v0.10.20a50888
docs: move to standardized template4a1183b
feat: ship Environment "default"2e8c1ed
chore: fix a few linter warnings6bcf9a8
chore: bump dependencies via dependabot4c0b3de
docs: clarify docs around endpoints and metadata server990263a
feat: merge Sidero HTTP endpoints under a single port5266a76
chore: reduce bootstrap node resources in Sfyra7f3b4b8
fix: remove kube-rbac-proxybfa3cd9
chore: re-sign the .drone.yml filecf383ab
chore: use release-tool to generate release notes
Changes from talos-systems/cluster-api-bootstrap-provider-talos
4 commits
Changes from talos-systems/cluster-api-control-plane-provider-talos
3 commits
Changes from talos-systems/go-blockdevice
9 commits
1d830a2
fix: revert mark the EFI partition in PMBR as bootablebec914f
fix: mark the EFI partition in PMBR as bootable776b37d
feat: add options to probe disk by various sysblock parametersbb3ad73
fix: align partition start to physical sector size8f976c2
feat: replace exec.Command with go-cmd module1cf7f25
fix: properly handle no child processes error from cmd.Wait04a9851
feat: implement luks encryption providerb0375e4
feat: add an option to open block device with exclusive flock5a1c7f7
refactor: add devname into gpt.Partition, refactor probe package
Changes from talos-systems/go-debug
4 commits
Changes from talos-systems/go-kmsg
Changes from talos-systems/go-procfs
2 commits
Changes from talos-systems/go-retry
3 commits
Changes from talos-systems/go-smbios
3 commits
Dependency Changes
- github.com/go-logr/logr ee2de8da5be6 -> v0.4.0
- github.com/hashicorp/go-multierror v1.1.0 -> v1.1.1
- github.com/onsi/ginkgo v1.15.0 -> v1.16.2
- github.com/onsi/gomega v1.10.1 -> v1.12.0
- github.com/stretchr/testify v1.7.0 new
- github.com/talos-systems/cluster-api-bootstrap-provider-talos v0.2.0-alpha.11 -> v0.2.0-alpha.12
- github.com/talos-systems/cluster-api-control-plane-provider-talos v0.1.0-alpha.11 -> v0.1.0-alpha.12
- github.com/talos-systems/go-blockdevice f2728a581972 -> 1d830a25f64f
- github.com/talos-systems/go-debug v0.2.0 new
- github.com/talos-systems/go-kmsg v0.1.0 new
- github.com/talos-systems/go-procfs a82654edcec1 -> 8cbc42d3dc24
- github.com/talos-systems/go-retry v0.2.0 -> v0.3.0
- github.com/talos-systems/go-smbios 80196199691e -> d3a32bea731a
- github.com/talos-systems/talos/pkg/machinery 1d8e9674a91b -> 8d73bc5999b4
- go.uber.org/zap v1.14.1 -> v1.16.0
- golang.org/x/mod v0.4.0 new
- golang.org/x/net 0714010a04ed new
- golang.org/x/sync 67f06af15bc9 -> 036812b2e83c
- golang.org/x/sys 489259a85091 -> 0981d6026fa6
- golang.org/x/tools 2dba1e4ea05c new
- google.golang.org/grpc v1.36.0 -> v1.37.1
- google.golang.org/protobuf v1.26.0 new
Previous release can be found at v0.2.0