8 Commits

Author SHA1 Message Date
Andrey Smirnov
fbcd02a45d
feat: update for Talos 1.3.0
Rename to siderolabs, bump dependencies, controller-runtime, get rid of
netaddr, new SideroLink API, etc.

Use bootstrap cluster with a control plane + worker to avoid nasty
restarts when host-mode SideroLink IP pops up.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-12-16 16:35:30 +04:00
Andrey Smirnov
7c7a377857
feat: add extended hardware information to Server and ServerClass CRDs
This is final part of #735, previous part in #823.

This imports all remaining changes with some fixups minus the webhook
changes.

This change adds detailed hardware information to the Server CRD.
Hardware info is extracted by the agent from SMBIOS.
The ServerClass CRD is also updated so more precise qualifiers can be used.

Co-authored-by: Gerard de Leeuw <gdeleeuw@leeuwit.nl>
Signed-off-by: Gerard de Leeuw <gdeleeuw@leeuwit.nl>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-15 20:43:07 +03:00
Andrey Smirnov
061ee8e57d
refactor: remove pre-ServerBinding leftovers, use remote cached clients
This PR has two major changes:

* retire the code which supported seamless migration from
pre-ServerBinding era to ServerBindings: creating `ServerBinding` on the
fly from the `MetalMachine` and `Server`; as there's no migration path
from pre-ServerBinding Sidero to the new version, it's time to drop it
* instead of creating workload cluster Kubernetes client each time, use
CAPI standard class to cache the client; the problem with "leaking"
clients is that HTTP/2 clients are almost never gc'ed, so they stay in
memory keeping an open connection with keepalives going both ways, so
caching lowers the load both on the controller and the control plane
endpoint

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-12 22:35:46 +03:00
Gerard de Leeuw
15f67308f0
chore: use consistent naming for imports
Imports should be consistently named so future changes are more readable and easier to understand.

Signed-off-by: Gerard de Leeuw <gdeleeuw@leeuwit.nl>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-31 17:14:17 +03:00
Andrey Smirnov
ab291034e5
feat: implement SideroLink
Fixes #615

This implements the SideroLink integration on Sidero side. This feature
requires Talos 0.14 from master as of right now.

SideroLink status is stored in `ServerBinding` resource for each server.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-11-25 22:06:51 +03:00
Gerard de Leeuw
bb52e71861
feat: support CAPI v1alpha4
This PR will add all of the changes necessary for supporting CAPI v1alpha4 resources.

Signed-off-by: Gerard de Leeuw <gdeleeuw@leeuwit.nl>
Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2021-10-08 23:09:26 +03:00
Andrey Smirnov
90e7804640 chore: bump dependencies in go.mod
This also bumps cluster-api version to the latest 0.3 release.

Closes #476 #484 #486 #487 #490 #491 #492 #493

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2021-07-06 13:51:10 -07:00
Spencer Smith
6821dd2c0a feat: update paths of apps
This PR updates the naming of the two apps that make up sidero for
consistency. It also updates things like the Makefile, Dockerfile, and
kustomize to make sure image names are the same as these app names.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2021-05-26 10:36:02 -07:00