v0.5.0
Sidero 0.5.0 (2022-02-14)
Welcome to the v0.5.0 release of Sidero!
Please try out the release binaries and report any issues at
https://github.com/talos-systems/sidero/issues.
Machine Addresses
Sidero now populates MetalMachine
addresses with the ones discovered from Siderolink server events.
Which is then propagated to CAPI Machine
resources.
Requires Talos >= v0.14.
iPXE Boot From Disk Method
iPXE boot from disk method can now be set not only on the global level, but also in the Server and ServerClass specs.
CAPI v1beta1
This release of Sidero brings compatibility with CAPI v1beta1.
Cluster Template
Sidero ships with new cluster template without init
nodes.
This template is only compatible with Talos >= 0.14 (it requires SideroLink feature which was introduced in Talos 0.14).
On upgrade, Sidero supports clusters running Talos < 0.14 if they were created before the upgrade.
Use legacy template to deploy clusters with Talos < 0.14.
New MetalMachines
Conditions
New set of conditions is now available which can simplify cluster troubleshooting:
TalosConfigLoaded
is set to false when the config load has failed.TalosConfigValidated
is set to false when the config validation
fails on the node.TalosInstalled
is set to true/false when talos installer finishes.
Requires Talos >= v0.14.
IPMI PXE Method
IPMI PXE method (UEFI, BIOS) can now be configured with SIDERO_CONTROLLER_MANAGER_IPMI_PXE_METHOD
while installing Sidero.
Retry PXE Boot
Sidero server controller now keeps track of Talos installation progress.
Now the node will be PXE booted until Talos installation succeeds.
SideroLink
Sidero now connects to all servers using SideroLink (available only with Talos >= 0.14).
This enables streaming of kernel logs and events back to Sidero.
All server logs can now be viewed by getting logs of one of the container of the sidero-controller-manager
:
kubectl logs -f -n sidero-system deployment/sidero-controller-manager -c serverlogs
Events:
kubectl logs -f -n sidero-system deployment/sidero-controller-manager -c serverevents
Contributors
- Andrey Smirnov
- Michal Witkowski
- Andrey Smirnov
- Artem Chernyshev
- Noel Georgi
- Andrey Smirnov
- Spencer Smith
- Steve Francis
- Charlie Haley
- Daniel Low
- Jack Wink
- Rubens Farias
- Serge Logvinov
- Seán C McCord
Changes
54 commits
f9da0bd
release(v0.5.0): prepare release36ebc2a
docs: document SideroLink and other 0.5.0 new features416cc51
chore: bump pkgs to include latest kernel into the agent environment3db140c
chore: clean up/bump dependencies7a9ed30
release(v0.5.0-alpha.2): prepare release0a967a8
feat: configure boot from disk method on Server/ServerClass level7912509
refactor: cleanup and deduplicate the code which matches SideroLink IPs003f6a7
fix: don't boot from not ready environmentse44f350
fix: use controller-runtime standard healthz endpointsc73d8e5
docs: update to Sidero from Talos5e3f68d
fix: add move label to BMC secretsf28d7b0
docs: update README and index page194e870
chore: bump dependenciesb30fbe4
feat: set server PXEBooted condition only after Talos gets installed34f7822
docs: fixes to the homepage, footer, log682594c
docs: update index.md and sync across versionsdea2179
refactor: rewrite conditions update function in the adapter59ed3cd
release(v0.5.0-alpha.1): prepare release1f7588f
docs: update office hoursfe41335
feat: introduce new conditions in themetalmachine
6454dee
feat: populate addresses and hostname in ServerBindingsd69264f
docs: fix patching examples04d90fd
docs: add patching examples41b7451
docs: update docs for upcoming Sidero 0.4.1 released5f8f4e
release(v0.5.0-alpha.0): prepare release229dae1
fix: ignore BMC info if username or password are not set650743a
fix: use environment variables in the ipmitooled39a3c
fix: ensure we setup BMC info after disk wiping025ff04
feat: additional printer colums189793e
fix: wait for link up in iPXE script9a27861
fix: make iPXE script replace script on chain request1bbe3be
feat: extend information printed in the iPXE script, add retries4cfdeda
feat: provide a way to configure IPMI PXE method2ff14c4
docs: reflect sidero runs on ARM274ae33
fix: check for server power state when in used0df929
feat: implement events manager containerab12b81
feat: implement Talos kernel log receiver5bf7c21
docs: fix clusterctl usagee77bf54
feat: support cordoning serverab29103
feat: implement SideroLinkadc73b6
fix: update CAPI resources versions to v1alpha4 in the cluster template04dbaf0
test: fix Sidero components version in sfyra docsacb5f57
feat: automatically append talos.config to the Environment0e7f8a6
docs: metadata server -> sideroa826281
fix: hide password from ipmitool argsef270df
docs: fork docs for 0.5a0bf382
docs: dhcp option-93bbbe814
chore: conformance check701d01b
fix: drop into the agent for non-allocated serversb0e3611
docs: update help message for extra kernel argsbb87567
chore: bump dependencies62ab9be
fix: update extension for controlplane.yam l talosctl generates YAML files with the .yaml extension, update to the apply-config command to reflect this0511d78
feat: allow defining http server and api server ports separately432ca2a
docs: createv0.4
docs and set them as latest
Changes since v0.5.0-alpha.2
4 commits
Changes from talos-systems/go-blockdevice
2 commits
Changes from talos-systems/go-smbios
Changes from talos-systems/grpc-proxy
44 commits
ca3bc61
fix: ignore some errors so that we don't spam the logs5c579a7
feat: allow different formats for messages streaming/unary6c9f7b3
fix: allow mode to be set for each request being proxiedcc91c09
refactor: provide better public API, enforce proxying moded8d3a75
chore: update import paths after repo movedbf07a4
Merge pull request #7 from smira/one2many-4fc0d27d
More tests, small code fixes, updated README.d9ce0b1
Merge pull request #6 from smira/one2many-32d37ba4
Support for one2many streaming calls, tests.817b035
Merge pull request #5 from smira/one2many-2436b338
More unary one-2-many tests, error propagation.1f0cb46
Merge pull request #4 from smira/one2many-1992a975
Proxying one to many: first iterationa0988ff
Merge pull request #3 from smira/small-fixupse3111ef
Small fixups in preparation to add one-to-many proxying.6d76ffc
Merge pull request #2 from smira/backend-concept2aad63a
Add concept of a 'Backend', but still one to one proxying7cc4610
Merge pull request #1 from smira/build37f01f3
Rework build to use GitHub Actions, linting updates.0f1106e
Move error checking further up (#34)d5b35f6
Update gRPC and fix tests (#27)67591eb
Break StreamDirector interface, fix metadata propagation for gRPC-Go>1.5. (#20)97396d9
Merge pull request #11 from mwitkow/fix-close-bug3fcbd37
fixup closing connsa8f5f87
fixup tests, extend readme428fa1c
Fix a channel closing bugaf55d61
Merge pull request #10 from mwitkow/bugfix/streaming-fixde4d3db
remove spurious printfs84242c4
fix the "i don't know who finished" case9b22f41
fix full duplex streamingc2f7c98
update readmed654141
update READMEf457856
move to proxy subdirectory4889d78
Add fixup scriptsef60a37
version 2 of the grpc-proxy, this time with fewer grpc upstream deps07aeac1
Merge pull request #2 from daniellowtw/mastere5c3df5
Fix compatibility with latest grpc library52be0a5
bugfix: fix gRPC Java deadlock, due to different dispatch logic822df7d
Fix reference to mwitkow.28341d1
move out forward logic to method, allowing for use asgrpc.Server
not found handler.89e28b4
add reference to upstream grpc bug00dd588
merge upstreamgrpc.Server
changes changing the dispatch logic77edc97
move to upstreamprotobuf
fromgogo
db71c3e
initial commit, tested and working.
Changes from talos-systems/net
2 commits
Changes from talos-systems/siderolink
7 commits
9902ad2
feat: pass request context and node address to the events sink adapterd0612a7
refactor: pass in listener to the log receiverd86cdd5
feat: implement logreceiver for kernel logsf7cadbc
fix: handle duplicate peer updates0755b24
feat: initial implementation of SideroLinkee73ea9
feat: add Talos events sink proto files and the reference implementation1e2cd9d
Initial commit
Dependency Changes
- github.com/evanphx/json-patch v4.11.0 -> v5.6.0
- github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 new
- github.com/onsi/ginkgo v1.16.4 -> v1.16.5
- github.com/onsi/gomega v1.16.0 -> v1.18.1
- github.com/talos-systems/go-blockdevice v0.2.4 -> v0.2.5
- github.com/talos-systems/go-smbios d3a32bea731a -> v0.1.1
- github.com/talos-systems/grpc-proxy v0.2.0 new
- github.com/talos-systems/net v0.3.0 -> v0.3.1
- github.com/talos-systems/siderolink 9902ad2774f0 new
- go.uber.org/zap v1.20.0 new
- golang.org/x/net 853a461950ff -> cd36cc0744dd
- golang.org/x/sys 39ccf1dd6fa6 -> 99c3d69c2c27
- golang.zx2c4.com/wireguard/wgctrl daad0b7ba671 new
- google.golang.org/grpc v1.41.0 -> v1.44.0
- inet.af/netaddr c74959edd3b6 new
- k8s.io/utils bdf08cb9a70a -> cb0fa318a74b
- sigs.k8s.io/cluster-api v0.4.3 -> v1.0.4
- sigs.k8s.io/controller-runtime v0.9.7 -> v0.10.3
Previous release can be found at v0.4.0