Commit Graph

19 Commits

Author SHA1 Message Date
Peter Rifel c98fb47eb8
Merge conditional boolean assignments 2025-08-22 20:56:53 -05:00
justinsb 3f25b1eee1 metal: split host creation from enrollment
This is needeed for bootstrapping the control plane,
because it's a CRD so can't be registered until the control plane is running.

It's also quite nice because we might want to review the contents of the
host CRD, e.g. to verify the key out-of-band.
2025-07-26 20:01:12 -04:00
justinsb 05f8618306 metal: simple IPAM for IPv6 2025-07-26 20:01:12 -04:00
justinsb 138e14b1ad Create flag override-api-endpoint which allows for custom DNS setups
Issue #17262
2025-06-28 17:39:56 -04:00
Arnaud Meukam 3ee34d37d9
toolbox: ensure SSH keys are loaded
Ensure `kops toolbox enroll` verify if SSH keys are loaded before
authenticate to the host.

Signed-off-by: Arnaud Meukam <ameukam@gmail.com>
2025-04-07 22:15:06 +02:00
justinsb beb5cc5ac5 metal: copy control plane config to nodes
This avoids the needs for these nodes to have access to the state store.

* We no longer need S3/GCS credentials on the node.

* We don't depend on S3/GCS being reachable from the control
  plane - at least here!
2025-02-20 12:23:16 -05:00
justinsb 859a9fd9f1 chore: refactor factory to accept a cluster
This should allow us to build our own rest config in future,
rather than relying on the kubeconfig being configured correctly.

To do this, we need to stop sharing the factory between the channels
and kops commands.
2024-12-27 15:36:37 -05:00
justinsb 49de7d6648 refactor: build assets for kubernetes and nodeup explicitly
Also remove the (potentially) confusing FileAssets type.
2024-11-24 18:29:42 -05:00
justinsb 0963d73cc5 metal: initial support for adding hosts
The bulk of this work is implementing a clientset for use in kops-controller.
2024-09-18 09:03:43 -04:00
justinsb 4946176e4e Refactor: make bootstrap-data building more reusable
Export from the current package (we can always move it later), and
move it to an on-demand processing model to enable use in more
scenarios.
2024-09-16 12:10:02 -04:00
justinsb 623ae0672c metal: copy static manifests to the control plane
Used by the kube-apiserver healthcheck.
2024-09-14 13:09:45 -04:00
justinsb a65bb16a38 metal: support `kops toolbox enroll` on a control-plane machine
In particular, we want to build the full cluster and instance group.

The control plane does not yet start, because etcd is not configured correctly.
2024-08-31 07:14:47 -04:00
justinsb 6e036b39c2 refactor: move more nodeup script logic to NodeUpScript
This enables simpler reuse.
2024-08-30 09:14:49 -04:00
justinsb 3646a610b1 refactor: Move GetCloudProvider to cluster
This lets us use labels (or annotations), meaning we can experiment
with different clouds without changing the API.

We also add initial (experimental/undocumented) support for exposing a "Metal" provider.
2024-08-26 08:20:37 -04:00
justinsb 192b880434 chore: refactor MirroredAsset into assets
This seems logically coherent, and is part of the work to start using
compiled-in hashes for most well-known assets.
2024-03-30 10:34:27 -04:00
justinsb 5afc86d1a8 Refactor: Move nodeUpConfigBuilder to nodemodel
Another big chunk of node code out of cloudup!
2024-03-28 09:11:38 -04:00
justinsb e5d5175e08 refactor: isolate asset construction out of cloudup
Continuing the node/infra splitting.
2024-03-28 08:04:46 -04:00
justinsb 50776a7e92 Refactor ForAPIServer
We instead return a list of the services we are supporting.

We can in future split out internal and external apiserver services.
2024-01-12 15:53:41 -05:00
justinsb d5e55e4f8e feat: kops toolbox enroll command
Implement the enroll command, to add a node to an existing cluster.
This is intended to be used with (experimental) metal support.
2023-12-02 17:48:34 -05:00