This requires passing a cloud object in additional places throughout the validation package and originating mostly from cmd/kops
This means that some kops commands now require valid cloud provider credentials, but I don't think this is an issue because the vast majority of use-cases already require the same cloud provider credentials in order to interact with the state store.
The client-go signature for most methods adds a context.Context
object, and also makes Options mandatory. Feed through a
context.Context through many of our methods (but use context.TODO to
stop it getting totally out of hand!)
pull-kops-e2e-kubernetes-aws — Job failed. [Details](https://prow.k8s.io/view/gcs/kubernetes-jenkins/pr-logs/pull/kops/7160/pull-kops-e2e-kubernetes-aws/1141685394924900352/)
```
I0620 12:37:27.976] /root/.cache/bazel/_bazel_prow/ae5d1f01453377487c630b230ced7d61/sandbox/linux-sandbox/836/execroot/__main__/pkg/commands/set_cluster.go:97:16: cluster.Spec.masterPublicName undefined (type "k8s.io/kops/pkg/apis/kops".ClusterSpec has no field or method masterPublicName, but does have MasterPublicName)
```
fixes typo
We upload to a location that includes the version, but we need to
specify the version in KOPS_BASE_URL. We expose an option to make
`kops version` more amenable to this scripting.
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`
Introduce an experimental kops set cluster command, for setting
individual fields in the same style as the kops create cluster
--override flags.
For now, feature flag gated by the same SpecOverrideFlag feature flag.
Also split out pkg/commands package to facilitate testing.