Bump CAPI, controller-runtime, Talos dependencies, Kubernetes.
Fix some compatibility issues, but should be no functional changes.
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
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>
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>
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>
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>
- `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.
All conditions are set by the adapter on the `ServerBinding`, then
copied to the `MetalMachine`.
Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
Get addresses from the events coming into events sink container.
Add v1beta1 support.
Update `metalmachine_controller` to set providerID earlier and add
ProviderSet condition to be set after the cluster nodes actually get
patched with the provider ID as well.
The condition is required to trigger reconcile on CAPI `machines`,
otherwise it never picks `Node` ready condition.
Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
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>
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>
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>