Commit Graph

106 Commits

Author SHA1 Message Date
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 4a63a118b2 Remove unusued kubernetesVersion from AssetBuilder
This field is no longer used, and can be removed.
2024-12-04 08:57:17 -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 42072e9d74 fix: allow path-remapping in `set` commands
We remap field paths to their internal forms, where the mapping is well-known.
2024-10-12 19:10:14 -04: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
justinsb fbf3556772 Thread context through kubectl-auth 2023-11-30 09:08:52 -05:00
Ciprian Hacman c43b48a8d8 Remove Docker config option 2023-09-05 07:22:33 +03:00
John Gardiner Myers 2420991954 Determine default API access method by IG subnet type 2023-07-18 22:21:05 -07:00
Kubernetes Prow Robot 4b5519db33
Merge pull request #15664 from justinsb/auth_cache_tests
Add golden-output test for cacheFilePath
2023-07-18 17:12:03 -07:00
Kubernetes Prow Robot e18eaae082
Merge pull request #15663 from johngmyers/vfscontext
More VFSContext refactoring
2023-07-18 14:48:03 -07:00
justinsb 81f35513dc Add golden-output test for cacheFilePath
Just so we can verify that the value looks as we expect it to.  The
actual value doesn't much matter, but it's still helpful for us to be
able to see changes to the value in the PR workflow.
2023-07-18 12:38:45 -04:00
Kubernetes Prow Robot 55c64ca970
Merge pull request #15547 from norseto/auth_cache_filename_fix
Fix long auth helper cache file name
2023-07-18 09:31:09 -07:00
John Gardiner Myers 1358851c7d Get VFSContext from caller in NewAssetBuilder() 2023-07-18 08:49:06 -07:00
John Gardiner Myers 76ed6b9e27 Get VFSContext from caller in ValidateCluster() 2023-07-17 22:20:57 -07:00
John Gardiner Myers 245cd64a3a Get VFSContext from caller in LoadChannel() 2023-07-17 21:45:43 -07:00
Norihiro Seto 7bc1ac648e
Restore sanitizedName with maximum length limitation 2023-07-18 12:44:30 +09:00
Norihiro Seto 00a0deb8e6
Update to use sha224 and base62 text. 2023-07-09 21:52:17 +09:00
Norihiro Seto 969bd8f0b5
fix: update header 2023-06-27 20:48:16 +09:00
Norihiro Seto ce1169cae8
Fix long auth helper cache file name 2023-06-23 20:40:09 +09:00
John Gardiner Myers c051198f85 Pull pki.Keystore out of fi.KeystoreReader 2023-01-02 10:39:24 -08:00
John Gardiner Myers c68be498c6 Refactor NewAssetBuilder to not take a Cluster 2023-01-01 13:37:52 -08:00
justinsb 817c1e63b3 FindKeyset can return nil
We had missed a case in nodeup; add a Context argument to force us to
revisit the codepaths.
2022-12-24 16:12:21 -05:00
justinsb ba59d65bc9 Wire up context from cobra in cmd/kops
Removes a lot of context.TODO() calls.
2022-12-22 17:52:27 -05:00
justinsb 90cbf75584 Context threading: more wiring
We're aiming to use this for testing immediately and better
logging/tracing in future, but to make the changes manageable breaking
them into a smaller series that don't directly achieve much.
2022-12-22 17:52:22 -05:00
John Gardiner Myers 235aa61594 v1alpha3: move networking fields under networking 2022-12-02 19:19:59 -08:00
John Gardiner Myers 5fca16aa30 v1alpha3: Move API-related settings under API 2022-11-19 10:27:12 -08:00
Ciprian Hacman 8f79c9bd68 Replace fi.Bool/Float*/Int*/String() with fi.PtrTo() 2022-11-19 03:45:22 +02:00
Ole Markus With c7cfcd1af8 User IG without image should be allowed
This is technically a regression. kOps had the behavior where empty image meant use from channel. But this got removed due to strict validation of user input
2022-09-17 17:44:48 +02:00
Ole Markus With 2bb0b16e53 Rename ClientSet to KopsClient in cmd factory interface 2022-07-30 20:41:13 +02:00
Ole Markus With 9eca9c882b Add flag to version showing the kops 'server' version 2022-04-30 15:57:46 +02:00
Ole Markus With ce2e877aeb Remove bazel files from vendor 2022-04-12 13:29:03 +02:00
Ole Markus With aa493a3273 Validate IGs more strictly after defaults have applied
This commit will ensure IGs are validated in clientset prior to write similar to clusters. Also introduces strict flag similar to cluster, which only validate values where we have defaults after defaults have been applied.
2021-12-20 10:03:04 +01:00
Ciprian Hacman ea7df00719 Run hack/update-gofmt.sh 2021-12-01 22:39:50 +02:00
John Gardiner Myers 837176340d Change sense of Cilium DisableMasquerade in v1alpha3 2021-11-25 18:45:13 -08:00
John Gardiner Myers b9ac79ec6e Rename fields in v1alpha3 networking API to fit acronym convention 2021-11-22 08:07:55 -08:00
John Gardiner Myers 18d58f900c Support setting empty maps and structs 2021-11-13 19:10:29 -08:00
Eng Zer Jun 425173ae9f
refactor: move from io/ioutil to io and os packages
The io/ioutil package has been deprecated as of Go 1.16, see
https://golang.org/doc/go1.16#ioutil. This commit replaces the existing
io/ioutil functions with their new definitions in io and os packages.

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2021-11-12 15:37:18 +08:00
John Gardiner Myers ebe05e10a5 Remove unused fields cluster APIs 2021-10-03 12:28:20 -07:00