kops set: support for enableEtcdTLS and enableTLSAuth

These shortcut commands make it easy to set enableEtcdTLS and
enableTLSAuth.

`kops set cluster cluster.spec.etcdClusters[*].enableEtcdTLS=true`

`kops set cluster cluster.spec.etcdClusters[*].enableTLSAuth=true`
This commit is contained in:
Justin Santa Barbara 2018-11-24 22:23:41 -05:00
parent 4eeba152cd
commit b56457dc05
1 changed files with 20 additions and 0 deletions

View File

@ -19,6 +19,7 @@ package commands
import (
"fmt"
"io"
"strconv"
"strings"
"github.com/spf13/cobra"
@ -84,6 +85,25 @@ func SetClusterFields(fields []string, cluster *api.Cluster, instanceGroups []*a
cluster.Spec.NodePortAccess = append(cluster.Spec.NodePortAccess, kv[1])
case "spec.kubernetesVersion":
cluster.Spec.KubernetesVersion = kv[1]
case "cluster.spec.etcdClusters[*].enableEtcdTLS":
v, err := strconv.ParseBool(kv[1])
if err != nil {
return fmt.Errorf("unknown boolean value: %q", kv[1])
}
for _, c := range cluster.Spec.EtcdClusters {
c.EnableEtcdTLS = v
}
case "cluster.spec.etcdClusters[*].enableTLSAuth":
v, err := strconv.ParseBool(kv[1])
if err != nil {
return fmt.Errorf("unknown boolean value: %q", kv[1])
}
for _, c := range cluster.Spec.EtcdClusters {
c.EnableTLSAuth = v
}
case "cluster.spec.etcdClusters[*].version":
for _, c := range cluster.Spec.EtcdClusters {
c.Version = kv[1]