From 5721c108b6c2dc64d5fb03ca95fa60dae9276c45 Mon Sep 17 00:00:00 2001 From: jpgouin Date: Thu, 23 Jan 2025 16:16:45 +0000 Subject: [PATCH 1/2] add flag to override kubernetes server value in the generated kubeconfig --- cli/cmds/cluster/create.go | 34 ++++++++++++++++++++----------- cli/cmds/kubeconfig/kubeconfig.go | 11 ++++++++++ 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/cli/cmds/cluster/create.go b/cli/cmds/cluster/create.go index 861ab04c..5fde22e8 100644 --- a/cli/cmds/cluster/create.go +++ b/cli/cmds/cluster/create.go @@ -37,18 +37,19 @@ func init() { } var ( - name string - token string - clusterCIDR string - serviceCIDR string - servers int64 - agents int64 - serverArgs cli.StringSlice - agentArgs cli.StringSlice - persistenceType string - storageClassName string - version string - mode string + name string + token string + clusterCIDR string + serviceCIDR string + servers int64 + agents int64 + serverArgs cli.StringSlice + agentArgs cli.StringSlice + persistenceType string + storageClassName string + version string + mode string + kubeconfigServerHost string clusterCreateFlags = []cli.Flag{ &cli.StringFlag{ @@ -115,6 +116,12 @@ var ( Destination: &mode, Value: "shared", }, + &cli.StringFlag{ + Name: "kubeconfig-server", + Usage: "override the kubeconfig server host", + Destination: &kubeconfigServerHost, + Value: "", + }, } ) @@ -169,6 +176,9 @@ func create(clx *cli.Context) error { return err } host := strings.Split(url.Host, ":") + if kubeconfigServerHost != "" { + host = []string{kubeconfigServerHost} + } cluster.Spec.TLSSANs = []string{host[0]} if err := ctrlClient.Create(ctx, cluster); err != nil { diff --git a/cli/cmds/kubeconfig/kubeconfig.go b/cli/cmds/kubeconfig/kubeconfig.go index 8dba8c92..058853f6 100644 --- a/cli/cmds/kubeconfig/kubeconfig.go +++ b/cli/cmds/kubeconfig/kubeconfig.go @@ -38,6 +38,7 @@ var ( altNames cli.StringSlice expirationDays int64 configName string + kubeconfigServerHost string generateKubeconfigFlags = []cli.Flag{ &cli.StringFlag{ Name: "name", @@ -71,6 +72,12 @@ var ( Destination: &expirationDays, Value: 356, }, + &cli.StringFlag{ + Name: "kubeconfig-server", + Usage: "override the kubeconfig server host", + Destination: &kubeconfigServerHost, + Value: "", + }, } ) @@ -121,6 +128,10 @@ func generate(clx *cli.Context) error { return err } host := strings.Split(url.Host, ":") + if kubeconfigServerHost != "" { + host = []string{kubeconfigServerHost} + altNames.Set(kubeconfigServerHost) + } certAltNames := certs.AddSANs(altNames.Value()) From ec93371b71bca9abbff0883d49731f07c7660ae4 Mon Sep 17 00:00:00 2001 From: jpgouin Date: Thu, 23 Jan 2025 16:29:43 +0000 Subject: [PATCH 2/2] check err --- cli/cmds/kubeconfig/kubeconfig.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cli/cmds/kubeconfig/kubeconfig.go b/cli/cmds/kubeconfig/kubeconfig.go index 058853f6..21df708b 100644 --- a/cli/cmds/kubeconfig/kubeconfig.go +++ b/cli/cmds/kubeconfig/kubeconfig.go @@ -130,7 +130,10 @@ func generate(clx *cli.Context) error { host := strings.Split(url.Host, ":") if kubeconfigServerHost != "" { host = []string{kubeconfigServerHost} - altNames.Set(kubeconfigServerHost) + err := altNames.Set(kubeconfigServerHost) + if err != nil { + return err + } } certAltNames := certs.AddSANs(altNames.Value())