Skip to content

Commit 47eb162

Browse files
committed
Unprefix flags for set-docker-edpoint and set-kubernetes-endpoint
Signed-off-by: Simon Ferquel <simon.ferquel@docker.com>
1 parent 1b2d9a3 commit 47eb162

File tree

3 files changed

+32
-21
lines changed

3 files changed

+32
-21
lines changed

cli/command/context/create.go

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@ package context
33
import (
44
"io/ioutil"
55
"os"
6+
"path/filepath"
67

78
"github.com/docker/cli/cli"
89
"github.com/docker/cli/cli/command"
910
"github.com/docker/cli/cli/context/common"
1011
"github.com/docker/cli/cli/context/docker"
1112
"github.com/docker/cli/cli/context/kubernetes"
1213
"github.com/docker/cli/cli/context/store"
14+
"github.com/docker/docker/pkg/homedir"
1315
"github.com/pkg/errors"
1416
"github.com/spf13/cobra"
1517
"github.com/spf13/pflag"
@@ -26,8 +28,8 @@ type createOptions struct {
2628
func (o *createOptions) addFlags(flags *pflag.FlagSet) {
2729
flags.StringVar(&o.description, "description", "", "set the description of the context")
2830
flags.StringVar(&o.defaultStackOrchestrator, "default-stack-orchestrator", "", "set the default orchestrator for stack operations if different to the default one, to use with this context (swarm|kubernetes|all)")
29-
o.docker.addFlags(flags)
30-
o.kubernetes.addFlags(flags)
31+
o.docker.addFlags(flags, "docker-")
32+
o.kubernetes.addFlags(flags, "kubernetes-")
3133
}
3234

3335
type dockerEndpointOptions struct {
@@ -40,14 +42,14 @@ type dockerEndpointOptions struct {
4042
fromEnv bool
4143
}
4244

43-
func (o *dockerEndpointOptions) addFlags(flags *pflag.FlagSet) {
44-
flags.StringVar(&o.host, "docker-host", "", "required: specify the docker endpoint on wich to connect")
45-
flags.StringVar(&o.apiVersion, "docker-api-version", "", "override negociated api version")
46-
flags.StringVar(&o.ca, "docker-tls-ca", "", "path to the ca file to validate docker endpoint")
47-
flags.StringVar(&o.cert, "docker-tls-cert", "", "path to the cert file to authenticate to the docker endpoint")
48-
flags.StringVar(&o.key, "docker-tls-key", "", "path to the key file to authenticate to the docker endpoint")
49-
flags.BoolVar(&o.skipTLSVerify, "docker-tls-skip-verify", false, "skip tls verify when connecting to the docker endpoint")
50-
flags.BoolVar(&o.fromEnv, "from-env", false, "convert the current env-variable based configuration to a context")
45+
func (o *dockerEndpointOptions) addFlags(flags *pflag.FlagSet, prefix string) {
46+
flags.StringVar(&o.host, prefix+"host", "", "required: specify the docker endpoint on wich to connect")
47+
flags.StringVar(&o.apiVersion, prefix+"api-version", "", "override negociated api version")
48+
flags.StringVar(&o.ca, prefix+"tls-ca", "", "path to the ca file to validate docker endpoint")
49+
flags.StringVar(&o.cert, prefix+"tls-cert", "", "path to the cert file to authenticate to the docker endpoint")
50+
flags.StringVar(&o.key, prefix+"tls-key", "", "path to the key file to authenticate to the docker endpoint")
51+
flags.BoolVar(&o.skipTLSVerify, prefix+"tls-skip-verify", false, "skip tls verify when connecting to the docker endpoint")
52+
flags.BoolVar(&o.fromEnv, prefix+"from-env", false, "convert the current env-variable based configuration to a context")
5153
}
5254

5355
func (o *dockerEndpointOptions) toEndpoint(cli command.Cli, contextName string) (docker.Endpoint, error) {
@@ -85,20 +87,29 @@ type kubernetesEndpointOptions struct {
8587
defaultNamespace string
8688
kubeconfigFile string //--kubernetes-kubeconfig-file string: path to a kubernetes cli config file
8789
kubeconfigContext string //--kubernetes-kubeconfig-context string: name of the kubernetes cli config file context to use
90+
fromEnv bool
8891
}
8992

90-
func (o *kubernetesEndpointOptions) addFlags(flags *pflag.FlagSet) {
91-
flags.StringVar(&o.server, "kubernetes-host", "", "specify the kubernetes endpoint on wich to connect")
92-
flags.StringVar(&o.ca, "kubernetes-tls-ca", "", "path to the ca file to validate kubernetes endpoint")
93-
flags.StringVar(&o.cert, "kubernetes-tls-cert", "", "path to the cert file to authenticate to the kubernetes endpoint")
94-
flags.StringVar(&o.key, "kubernetes-tls-key", "", "path to the key file to authenticate to the kubernetes endpoint")
95-
flags.BoolVar(&o.skipTLSVerify, "kubernetes-tls-skip-verify", false, "skip tls verify when connecting to the kubernetes endpoint")
96-
flags.StringVar(&o.defaultNamespace, "kubernetes-default-namespace", "default", "override default namespace when connecting to kubernetes endpoint")
97-
flags.StringVar(&o.kubeconfigFile, "kubernetes-kubeconfig", "", "path to an existing kubeconfig file")
98-
flags.StringVar(&o.kubeconfigContext, "kubernetes-kubeconfig-context", "", `context to use in the kubeconfig file referenced in "kubernetes-kubeconfig"`)
93+
func (o *kubernetesEndpointOptions) addFlags(flags *pflag.FlagSet, prefix string) {
94+
flags.StringVar(&o.server, prefix+"host", "", "specify the kubernetes endpoint on wich to connect")
95+
flags.StringVar(&o.ca, prefix+"tls-ca", "", "path to the ca file to validate kubernetes endpoint")
96+
flags.StringVar(&o.cert, prefix+"tls-cert", "", "path to the cert file to authenticate to the kubernetes endpoint")
97+
flags.StringVar(&o.key, prefix+"tls-key", "", "path to the key file to authenticate to the kubernetes endpoint")
98+
flags.BoolVar(&o.skipTLSVerify, prefix+"tls-skip-verify", false, "skip tls verify when connecting to the kubernetes endpoint")
99+
flags.StringVar(&o.defaultNamespace, prefix+"default-namespace", "default", "override default namespace when connecting to kubernetes endpoint")
100+
flags.StringVar(&o.kubeconfigFile, prefix+"kubeconfig", "", "path to an existing kubeconfig file")
101+
flags.StringVar(&o.kubeconfigContext, prefix+"kubeconfig-context", "", `context to use in the kubeconfig file referenced in "kubernetes-kubeconfig"`)
102+
flags.BoolVar(&o.fromEnv, prefix+"from-env", false, `use the default kubeconfig file or the value defined in KUBECONFIG environement variable`)
99103
}
100104

101105
func (o *kubernetesEndpointOptions) toEndpoint(contextName string) (*kubernetes.Endpoint, error) {
106+
if o.kubeconfigFile == "" && o.fromEnv {
107+
if config := os.Getenv("KUBECONFIG"); config != "" {
108+
o.kubeconfigFile = config
109+
} else {
110+
o.kubeconfigFile = filepath.Join(homedir.Get(), ".kube/config")
111+
}
112+
}
102113
if o.kubeconfigFile != "" {
103114
ep, err := kubernetes.FromKubeConfig(contextName, o.kubeconfigFile, o.kubeconfigContext, o.defaultNamespace)
104115
if err != nil {

cli/command/context/setdocker.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@ func newSetDockerEndpointCommand(dockerCli command.Cli) *cobra.Command {
2424
},
2525
}
2626

27-
opts.addFlags(cmd.Flags())
27+
opts.addFlags(cmd.Flags(), "")
2828
return cmd
2929
}

cli/command/context/setkubernetes.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,6 @@ func newSetKubernetesEndpointCommand(dockerCli command.Cli) *cobra.Command {
3636
},
3737
}
3838

39-
opts.addFlags(cmd.Flags())
39+
opts.addFlags(cmd.Flags(), "")
4040
return cmd
4141
}

0 commit comments

Comments
 (0)