Skip to content

Commit 01af115

Browse files
authored
Add support for the VKE HA control plane option (#368)
* Add support for the VKE HA control plane option * Use more verbose printer output for HA * Fix long line
1 parent 1ca2285 commit 01af115

File tree

2 files changed

+22
-13
lines changed

2 files changed

+22
-13
lines changed

cmd/kubernetes.go

+20-13
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@ var (
3737
createLong = `Create kubernetes cluster on your Vultr account`
3838
createExample = `
3939
# Full Example
40-
vultr-cli kubernetes create --label="my-cluster" --region="ewr" --version="v1.20.0+1" \
40+
vultr-cli kubernetes create --label="my-cluster" --region="ewr" --version="v1.28.2+1" \
4141
--node-pools="quantity:3,plan:vc2-1c-2gb,label:my-nodepool,tag:my-tag"
4242
4343
# Shortened with alias commands
44-
vultr-cli k c -l="my-cluster" -r="ewr" -v="v1.20.0+1" -n="quantity:3,plan:vc2-1c-2gb,label:my-nodepool,tag:my-tag"
44+
vultr-cli k c -l="my-cluster" -r="ewr" -v="v1.28.2+1" -n="quantity:3,plan:vc2-1c-2gb,label:my-nodepool,tag:my-tag"
4545
`
4646

4747
getLong = `Get a single kubernetes cluster from your account`
@@ -241,6 +241,11 @@ func Kubernetes() *cobra.Command { //nolint: funlen
241241
k8Create.Flags().StringP("label", "l", "", "label for your kubernetes cluster")
242242
k8Create.Flags().StringP("region", "r", "", "region you want your kubernetes cluster to be located in")
243243
k8Create.Flags().StringP("version", "v", "", "the kubernetes version you want for your cluster")
244+
k8Create.Flags().Bool(
245+
"high-avail",
246+
false,
247+
"(optional, default false) whether or not the cluster should be deployed with multiple, highly available, control planes",
248+
)
244249
k8Create.Flags().StringArrayP(
245250
"node-pools",
246251
"n",
@@ -360,6 +365,7 @@ var k8Create = &cobra.Command{
360365
region, _ := cmd.Flags().GetString("region")
361366
nodepools, _ := cmd.Flags().GetStringArray("node-pools")
362367
version, _ := cmd.Flags().GetString("version")
368+
ha, _ := cmd.Flags().GetBool("high-avail")
363369

364370
nps, err := formatNodePools(nodepools)
365371
if err != nil {
@@ -368,19 +374,20 @@ var k8Create = &cobra.Command{
368374
}
369375

370376
options := &govultr.ClusterReq{
371-
Label: label,
372-
Region: region,
373-
NodePools: nps,
374-
Version: version,
377+
Label: label,
378+
Region: region,
379+
NodePools: nps,
380+
Version: version,
381+
HAControlPlanes: ha,
375382
}
376383

377-
kubernetes, _, err := client.Kubernetes.CreateCluster(context.Background(), options)
384+
vke, _, err := client.Kubernetes.CreateCluster(context.Background(), options)
378385
if err != nil {
379386
fmt.Printf("error creating kubernetes cluster : %v\n", err)
380387
os.Exit(1)
381388
}
382389

383-
printer.Cluster(kubernetes)
390+
printer.Cluster(vke)
384391
},
385392
}
386393

@@ -394,16 +401,16 @@ var k8List = &cobra.Command{
394401
options := getPaging(cmd)
395402
summarize, _ := cmd.Flags().GetBool("summarize")
396403

397-
k8s, meta, _, err := client.Kubernetes.ListClusters(context.Background(), options)
404+
vkes, meta, _, err := client.Kubernetes.ListClusters(context.Background(), options)
398405
if err != nil {
399406
fmt.Printf("error listing kubernetes clusters : %v\n", err)
400407
os.Exit(1)
401408
}
402409

403410
if summarize {
404-
printer.ClustersSummary(k8s, meta)
411+
printer.ClustersSummary(vkes, meta)
405412
} else {
406-
printer.Clusters(k8s, meta)
413+
printer.Clusters(vkes, meta)
407414
}
408415
},
409416
}
@@ -422,13 +429,13 @@ var k8Get = &cobra.Command{
422429
},
423430
Run: func(cmd *cobra.Command, args []string) {
424431
id := args[0]
425-
lb, _, err := client.Kubernetes.GetCluster(context.Background(), id)
432+
vke, _, err := client.Kubernetes.GetCluster(context.Background(), id)
426433
if err != nil {
427434
fmt.Printf("error getting cluster : %v\n", err)
428435
os.Exit(1)
429436
}
430437

431-
printer.Cluster(lb)
438+
printer.Cluster(vke)
432439
},
433440
}
434441

cmd/printer/kubernetes.go

+2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ func Clusters(cluster []govultr.Cluster, meta *govultr.Meta) {
2020
display(columns{"SERVICE SUBNET", cluster[i].ServiceSubnet})
2121
display(columns{"IP", cluster[i].IP})
2222
display(columns{"ENDPOINT", cluster[i].Endpoint})
23+
display(columns{"HIGH AVAIL", cluster[i].HAControlPlanes})
2324
display(columns{"VERSION", cluster[i].Version})
2425
display(columns{"REGION", cluster[i].Region})
2526
display(columns{"STATUS", cluster[i].Status})
@@ -70,6 +71,7 @@ func Cluster(k *govultr.Cluster) {
7071
display(columns{"SERVICE SUBNET", k.ServiceSubnet})
7172
display(columns{"IP", k.IP})
7273
display(columns{"ENDPOINT", k.Endpoint})
74+
display(columns{"HIGH AVAIL", k.HAControlPlanes})
7375
display(columns{"VERSION", k.Version})
7476
display(columns{"REGION", k.Region})
7577
display(columns{"STATUS", k.Status})

0 commit comments

Comments
 (0)