Skip to content

Releases: siderolabs/sidero

v0.4.0-alpha.0

19 Jul 21:43
Compare
Choose a tag to compare
v0.4.0-alpha.0 Pre-release
Pre-release

Sidero 0.4.0-alpha.0 (2021-07-19)

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

BMC Port

Sidero now supports the ability to specify the port in a server's BMC info. By default, this value will be determined by talking directly to the BMC if possible, with a fallback to port 623. The value can also simply be specied as part of editing the Server resource directly.

Contributors

  • Andrey Smirnov
  • Spencer Smith
  • Artem Chernyshev
  • Seán C McCord

Changes

19 commits

  • fb0da3c release(v0.4.0-alpha.0): prepare release
  • ee36c74 docs: redirect latest to v0.3
  • 7cdae7b feat: add ability to specify ports for BMC
  • c14e055 chore: bump Talos to 0.11.0-beta.3
  • 7170777 fix: make sure powercycle condition gets properly update
  • 90e7804 chore: bump dependencies in go.mod
  • dc70167 docs: fix duplicate titles in the guides
  • fd1fae7 chore: update Talos to 0.11.0-beta.2
  • 1f8f141 docs: promote 0.3 docs to be the latest
  • ea3016f fix: update Sfyra to install CAPI v0.3
  • 8e49ddf chore: update to latest stable talos providers
  • 1155004 docs: document using ISO for mgmt plane
  • a5b3e67 docs: add docs for server removal/decommissioning
  • c7ae88a docs: ensure tutorial docs are present in sidebar
  • 83b0875 docs: rework guides into Tutorial
  • ee31160 fix: make sure components of agent environment are of proper arch
  • dfe2c85 chore: bump dependencies via dependabot
  • bf2be1b feat: update default Talos version to v0.10.3
  • dfeaeec docs: add notes on running Sidero on RPi4

Changes from talos-systems/go-blockdevice

3 commits

  • 30c2bc3 feat: mark MBR bootable
  • 1292574 fix: make disk type matcher parser case insensitive
  • b77400e fix: properly detect nvme and sd card disk types

Changes from talos-systems/go-debug

1 commit

  • 3d0a6e1 feat: race build tag flag detector

Changes from talos-systems/go-kmsg

1 commit

  • b08e4d3 feat: replace tab character with space in console output

Changes from talos-systems/go-retry

1 commit

  • c78cc95 fix: implement errors.Is for all errors in the set

Dependency Changes

  • github.com/evanphx/json-patch v4.9.0 -> v4.11.0
  • github.com/onsi/ginkgo v1.16.3 -> v1.16.4
  • github.com/talos-systems/go-blockdevice 1d830a25f64f -> v0.2.1
  • github.com/talos-systems/go-debug v0.2.0 -> v0.2.1
  • github.com/talos-systems/go-kmsg v0.1.0 -> v0.1.1
  • github.com/talos-systems/go-retry v0.3.0 -> v0.3.1
  • github.com/talos-systems/talos/pkg/machinery 828772cec9a3 -> v0.11.0-beta.3
  • golang.org/x/net 0714010a04ed -> abc453219eb5
  • golang.org/x/sys 0981d6026fa6 -> 59db8d763f22
  • google.golang.org/grpc v1.38.0 -> v1.39.0
  • google.golang.org/protobuf v1.26.0 -> v1.27.1
  • k8s.io/api v0.19.3 -> v0.17.9
  • k8s.io/apiextensions-apiserver v0.19.1 -> v0.17.9
  • k8s.io/apimachinery v0.19.3 -> v0.17.9
  • k8s.io/client-go v0.19.3 -> v0.17.9
  • sigs.k8s.io/cluster-api v0.3.12 -> v0.3.20
  • sigs.k8s.io/controller-runtime v0.6.3 -> v0.5.14

Previous release can be found at v0.3.0

v0.3.0

21 Jun 23:34
Compare
Choose a tag to compare

Sidero 0.3.0 (2021-06-21)

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

Application Renaming

The layout of this repository, as well as the naming of the two apps that make up Sidero have changed.
In an effort to give better clarity to users, there are two apps:

  • caps-controller-manager: Responsible for all things related to the Cluster API infrastructur provider
  • sidero-controller-manager: Responsible for all things related to Sidero's bare metal integrations.

It should also be noted that container image names, as well as the kustomize code has been edited to match.

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 server
  • ipxe-sanboot uses sanboot 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.

**
Note that this functionality is known to have issues with iDRAC currently. This can be worked around by updating the <server-uuid>-bmc secret that is created in the sidero-system namespace with credentials of an existing iDRAC admin user or by disabling the feature altogether with the aforementioned environment variable.
**

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 ifs.

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 with arm64 at the moment of this writing.
A workaround is to patch the deployment to bump the kube-rbac-proxy image from v0.4.1 to v0.8.0.

Contributors

  • Andrey Smirnov
  • Spencer Smith
  • Alexey Palazhchenko
  • Artem Chernyshev
  • Andrew Rynhard
  • Brandon Nason
  • Kevin Hellemun
  • Matt Zahorik
  • bzub

Changes

61 commits

  • 654a1d0 release(v0.3.0): prepare release
  • ef86bb0 chore: update to latest stable talos providers
  • 9463b47 fix: make sure components of agent environment are of proper arch
  • 20a7622 feat: update default Talos version to v0.10.3
  • f2099d9 release(v0.3.0-beta.0): prepare release
  • 864ec57 docs: add doc for using rpi4 as server
  • a563284 chore: bump dependencies via dependabot
  • 6821dd2 feat: update paths of apps
  • 5bfcb9d chore: remove parsebool script
  • e558d18 feat: always return BMC IP if found
  • efd300b chore: add support for WITH_RACE
  • 2f8ad47 docs: fix duplicate titles in documentation
  • 56ca87c chore: bump dependencies via dependabot
  • 3ab1fad fix: make server class qualifiers and selectors optional
  • 72a22a9 chore: check for dirtiness of the source tree
  • ceca560 chore: fix generated CRDs
  • 99c3cd3 release(v0.3.0-alpha.1): prepare release
  • dcc3fde feat: add label selector to serverclass
  • 3caa6f5 chore: fix markdown linting
  • a792890 feat: provide several options to force boot from disk via iPXE
  • 1e8096e docs: add Mermaid
  • c240381 feat: bump default Talos version to v0.10.2
  • 0a50888 docs: move to standardized template
  • 4a1183b feat: ship Environment "default"
  • 2e8c1ed chore: fix a few linter warnings
  • 6bcf9a8 chore: bump dependencies via dependabot
  • 4c0b3de docs: clarify docs around endpoints and metadata server
  • 990263a feat: merge Sidero HTTP endpoints under a single port
  • 5266a76 chore: reduce bootstrap node resources in Sfyra
  • 7f3b4b8 fix: remove kube-rbac-proxy
  • bfa3cd9 chore: re-sign the .drone.yml file
  • cf383ab chore: use release-tool to generate release notes
  • 056f8c2 release(v0.3.0-alpha.0): prepare release
  • ca75eb4 fix: back down resource requests
  • 3a6c5b9 chore: parse "boolean" variables
  • 148e228 chore: bump dependencies
  • db28ed3 chore: allow building with debug handlers
  • 2cdde00 test: fix the Environment args to support UEFI boot
  • d15a960 chore: add golangci-lint configuration
  • [b3afd17](b3afd17a8e809...
Read more

v0.3.0-beta.0

02 Jun 18:57
Compare
Choose a tag to compare
v0.3.0-beta.0 Pre-release
Pre-release

Sidero 0.3.0-beta.0 (2021-06-02)

Welcome to the v0.3.0-beta.0 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.

Application Renaming

The layout of this repository, as well as the naming of the two apps that make up Sidero have changed.
In an effort to give better clarity to users, there are two apps:

  • caps-controller-manager: Responsible for all things related to the Cluster API infrastructur provider
  • sidero-controller-manager: Responsible for all things related to Sidero's bare metal integrations.

It should also be noted that container image names, as well as the kustomize code has been edited to match.

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 server
  • ipxe-sanboot uses sanboot 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 ifs.

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 with arm64 at the moment of this writing.
A workaround is to patch the deployment to bump the kube-rbac-proxy image from v0.4.1 to v0.8.0.

Contributors

  • Andrey Smirnov
  • Alexey Palazhchenko
  • Spencer Smith
  • Artem Chernyshev
  • Andrew Rynhard
  • Brandon Nason
  • Kevin Hellemun
  • Matt Zahorik
  • bzub

Changes

57 commits

  • f2099d9 release(v0.3.0-beta.0): prepare release
  • 864ec57 docs: add doc for using rpi4 as server
  • a563284 chore: bump dependencies via dependabot
  • 6821dd2 feat: update paths of apps
  • 5bfcb9d chore: remove parsebool script
  • e558d18 feat: always return BMC IP if found
  • efd300b chore: add support for WITH_RACE
  • 2f8ad47 docs: fix duplicate titles in documentation
  • 56ca87c chore: bump dependencies via dependabot
  • 3ab1fad fix: make server class qualifiers and selectors optional
  • 72a22a9 chore: check for dirtiness of the source tree
  • ceca560 chore: fix generated CRDs
  • 99c3cd3 release(v0.3.0-alpha.1): prepare release
  • dcc3fde feat: add label selector to serverclass
  • 3caa6f5 chore: fix markdown linting
  • a792890 feat: provide several options to force boot from disk via iPXE
  • 1e8096e docs: add Mermaid
  • c240381 feat: bump default Talos version to v0.10.2
  • 0a50888 docs: move to standardized template
  • 4a1183b feat: ship Environment "default"
  • 2e8c1ed chore: fix a few linter warnings
  • 6bcf9a8 chore: bump dependencies via dependabot
  • 4c0b3de docs: clarify docs around endpoints and metadata server
  • 990263a feat: merge Sidero HTTP endpoints under a single port
  • 5266a76 chore: reduce bootstrap node resources in Sfyra
  • 7f3b4b8 fix: remove kube-rbac-proxy
  • bfa3cd9 chore: re-sign the .drone.yml file
  • cf383ab chore: use release-tool to generate release notes
  • 056f8c2 release(v0.3.0-alpha.0): prepare release
  • ca75eb4 fix: back down resource requests
  • 3a6c5b9 chore: parse "boolean" variables
  • 148e228 chore: bump dependencies
  • db28ed3 chore: allow building with debug handlers
  • 2cdde00 test: fix the Environment args to support UEFI boot
  • d15a960 chore: add golangci-lint configuration
  • b3afd17 feat: ship ServerClass "any"
  • 94ff33b feat: enable auto-setup of BMC
  • 52647f9 docs: fix install disk name in the examples
  • 44eaa7d feat: inject iPXE script into the iPXE binaries
  • 1659b96 docs: fix typo
  • fb04b24 chore: fix make help command
  • f8bc9b1 test: add missing empty tests
  • [`b1...
Read more

0.3.0-alpha.1

20 May 18:59
Compare
Choose a tag to compare
0.3.0-alpha.1 Pre-release
Pre-release

Sidero 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 server
  • ipxe-sanboot uses sanboot 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 ifs.

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 with arm64 at the moment of this writing.
A workaround is to patch the deployment to bump the kube-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 release
  • dcc3fde feat: add label selector to serverclass
  • 3caa6f5 chore: fix markdown linting
  • a792890 feat: provide several options to force boot from disk via iPXE
  • 1e8096e docs: add Mermaid
  • c240381 feat: bump default Talos version to v0.10.2
  • 0a50888 docs: move to standardized template
  • 4a1183b feat: ship Environment "default"
  • 2e8c1ed chore: fix a few linter warnings
  • 6bcf9a8 chore: bump dependencies via dependabot
  • 4c0b3de docs: clarify docs around endpoints and metadata server
  • 990263a feat: merge Sidero HTTP endpoints under a single port
  • 5266a76 chore: reduce bootstrap node resources in Sfyra
  • 7f3b4b8 fix: remove kube-rbac-proxy
  • bfa3cd9 chore: re-sign the .drone.yml file
  • cf383ab chore: use release-tool to generate release notes
  • 056f8c2 release(v0.3.0-alpha.0): prepare release
  • ca75eb4 fix: back down resource requests
  • 3a6c5b9 chore: parse "boolean" variables
  • 148e228 chore: bump dependencies
  • db28ed3 chore: allow building with debug handlers
  • 2cdde00 test: fix the Environment args to support UEFI boot
  • d15a960 chore: add golangci-lint configuration
  • b3afd17 feat: ship ServerClass "any"
  • 94ff33b feat: enable auto-setup of BMC
  • 52647f9 docs: fix install disk name in the examples
  • 44eaa7d feat: inject iPXE script into the iPXE binaries
  • 1659b96 docs: fix typo
  • fb04b24 chore: fix make help command
  • f8bc9b1 test: add missing empty tests
  • b17f370 test: port improvements from Talos
  • c43f9ec test: run unit tests on CI, skip broken
  • 45cb973 chore: document Makefile target
  • 8e12ab9 chore: disable dependabot rebases
  • 4267ed7 chore: update dependecies
  • 4aae477 chore: add dependabot config
  • 1e33dcd feat: pull the Sidero configuration as clusterctl variables
  • 23c75e4 docs: add guide for upgrades
  • c9aca48 docs: fix the docs around CONTROL_PLANE_ENDPOINT
  • 37e4ab7 fix: remove erroneous wg.Add in environment controller
  • 74d9bf9 feat: add an option to reference IPMI creds via the secret refs
  • 0613b8f feat: pull in new version of go-smbios for UUID endiannes fix
  • f6ca6e8 feat: build Sidero for amd64 and arm64, support arm64 in the agent
  • 8960225 chore: improve build system
  • a20fcf9 docs: create v0.2 docs and add note about specifying TALOS_VERSION

Read more

v0.3.0-alpha.0

13 May 15:26
Compare
Choose a tag to compare
v0.3.0-alpha.0 Pre-release
Pre-release
Release v0.3.0-alpha.0

v0.2.0

09 Apr 19:20
Compare
Choose a tag to compare

v0.2.0 (2021-04-09)

This release of Sidero brings support for Talos 0.9 and upcoming Talos 0.10 releases.

Cluster template supports new environment variable TALOS_VERSION which should be set to the Talos release minor version: v0.9, v0.10, etc. (it defaults to v0.8)

Chore

  • use common 'setup-ci' function

Docs

  • update bootstrapping guide
  • setup google analytics
  • add IPMI info, fix links, update environment
  • add note on installation disk
  • fix typo on Server Classes page
  • describe the command to install talosctl in the bootstrap guide

Feat

  • add support for DNS resolution in the agent
  • update Talos and machinery to 0.9.1
  • update sidero to use newer talos
  • serve assets from TFTP folder in IPXE HTTP server
  • bump talos to 0.8.0 release

Fix

  • break the potential endless reconcile loop of ServerClasses
  • don't marshal the machine configuration via machinery package
  • log retry errors
  • add kubernetes version to cluster template
  • prevent server orphaning

Test

  • drop installer image from the server patch
  • enable control plane scale down test

v0.2.0-beta.0

08 Apr 18:53
Compare
Choose a tag to compare
v0.2.0-beta.0 Pre-release
Pre-release

v0.2.0-beta.0 (2021-04-08)

Chore

  • use common 'setup-ci' function

Feat

  • add support for DNS resolution in the agent

Fix

  • break the potential endless reconcile loop of ServerClasses
  • don't marshal the machine configuration via machinery package

Test

  • drop installer image from the server patch

v0.2.0-alpha.1

06 Apr 20:36
Compare
Choose a tag to compare
v0.2.0-alpha.1 Pre-release
Pre-release

This release provides support for Talos 0.9

v0.1.0

15 Jan 16:46
Compare
Choose a tag to compare

v0.1.0 (2021-01-13)

Fix

  • prevent server orphaning

Test

  • fix test flakiness on workers scale down test

v0.1.0-beta.0

23 Dec 15:03
Compare
Choose a tag to compare
v0.1.0-beta.0 Pre-release
Pre-release
Release v0.1.0-beta.0