Skip to content

Commit fff221f

Browse files
committed
SOLTYSH: genericclioptions
1 parent b6bff70 commit fff221f

File tree

4 files changed

+14
-19
lines changed

4 files changed

+14
-19
lines changed

pkg/cmd/infra/router/clientcmd.go

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66

77
"github.com/spf13/cobra"
88
"github.com/spf13/pflag"
9+
"k8s.io/kubernetes/pkg/kubectl/genericclioptions"
910

1011
restclient "k8s.io/client-go/rest"
1112
"k8s.io/client-go/tools/clientcmd"
@@ -50,15 +51,6 @@ func (cfg *Config) Clients() (kclientset.Interface, error) {
5051
return kubeClientset, nil
5152
}
5253

53-
// BindClientConfigSecurityFlags adds flags for the supplied client config
54-
func BindClientConfigSecurityFlags(config *restclient.Config, flags *pflag.FlagSet) {
55-
flags.BoolVar(&config.Insecure, "insecure-skip-tls-verify", config.Insecure, "If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure.")
56-
flags.StringVar(&config.CertFile, "client-certificate", config.CertFile, "Path to a client certificate file for TLS.")
57-
flags.StringVar(&config.KeyFile, "client-key", config.KeyFile, "Path to a client key file for TLS.")
58-
flags.StringVar(&config.CAFile, "certificate-authority", config.CAFile, "Path to a cert. file for the certificate authority")
59-
flags.StringVar(&config.BearerToken, "token", config.BearerToken, "If present, the bearer token for this request.")
60-
}
61-
6254
// KubeConfig returns the Kubernetes configuration
6355
func (cfg *Config) KubeConfig() (*restclient.Config, string, error) {
6456
clientConfig, err := cfg.clientConfig.ClientConfig()
@@ -74,8 +66,8 @@ func (cfg *Config) KubeConfig() (*restclient.Config, string, error) {
7466

7567
func DefaultClientConfig(flags *pflag.FlagSet) kclientcmd.ClientConfig {
7668
loadingRules := kclientcmd.NewDefaultClientConfigLoadingRules()
77-
flags.StringVar(&loadingRules.ExplicitPath, kclientcmd.OpenShiftKubeConfigFlagName, "", "Path to the config file to use for CLI requests.")
78-
cobra.MarkFlagFilename(flags, kclientcmd.OpenShiftKubeConfigFlagName)
69+
flags.StringVar(&loadingRules.ExplicitPath, genericclioptions.OpenShiftKubeConfigFlagName, "", "Path to the config file to use for CLI requests.")
70+
cobra.MarkFlagFilename(flags, genericclioptions.OpenShiftKubeConfigFlagName)
7971

8072
// set our explicit defaults
8173
defaultOverrides := &kclientcmd.ConfigOverrides{ClusterDefaults: kclientcmdapi.Cluster{Server: os.Getenv("KUBERNETES_MASTER")}}

pkg/oc/cli/cli.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,12 @@ import (
1010
"github.com/openshift/origin/pkg/api/legacygroupification"
1111
"github.com/spf13/cobra"
1212

13+
kclientcmd "k8s.io/client-go/tools/clientcmd"
1314
kubecmd "k8s.io/kubernetes/pkg/kubectl/cmd"
15+
kcmdset "k8s.io/kubernetes/pkg/kubectl/cmd/set"
1416
ktemplates "k8s.io/kubernetes/pkg/kubectl/cmd/templates"
1517
kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
18+
"k8s.io/kubernetes/pkg/kubectl/genericclioptions"
1619
"k8s.io/kubernetes/pkg/kubectl/genericclioptions/resource"
1720

1821
"github.com/openshift/origin/pkg/cmd/flagtypes"
@@ -318,6 +321,11 @@ func CommandFor(basename string) *cobra.Command {
318321
cmd = kubecmd.NewKubectlCommand(kcmdutil.NewFactory(nil), in, out, errout)
319322
default:
320323
// we only need this change for `oc`. `kubectl` should behave as close to `kubectl` as we can
324+
// if we call this factory construction method, we want the openshift style config loading
325+
genericclioptions.UseOpenShiftKubeConfigValues = true
326+
kclientcmd.ErrEmptyConfig = genericclioptions.NewErrConfigurationMissing()
327+
kcmdset.ParseDockerImageReferenceToStringFunc = clientcmd.ParseDockerImageReferenceToStringFunc
328+
321329
resource.OAPIToGroupified = legacygroupification.OAPIToGroupified
322330
kcmdutil.OAPIToGroupifiedGVK = legacygroupification.OAPIToGroupifiedGVK
323331
cmd = NewCommandCLI("oc", "oc", in, out, errout)

pkg/oc/cli/config/loader.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,22 @@ package config
22

33
import (
44
"github.com/spf13/cobra"
5+
"k8s.io/kubernetes/pkg/kubectl/genericclioptions"
56

67
kclientcmd "k8s.io/client-go/tools/clientcmd"
78
kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
89
)
910

1011
func NewPathOptions(cmd *cobra.Command) *kclientcmd.PathOptions {
11-
return NewPathOptionsWithConfig(kcmdutil.GetFlagString(cmd, kclientcmd.OpenShiftKubeConfigFlagName))
12+
return NewPathOptionsWithConfig(kcmdutil.GetFlagString(cmd, genericclioptions.OpenShiftKubeConfigFlagName))
1213
}
1314

1415
func NewPathOptionsWithConfig(configPath string) *kclientcmd.PathOptions {
1516
return &kclientcmd.PathOptions{
1617
GlobalFile: kclientcmd.RecommendedHomeFile,
1718

1819
EnvVar: kclientcmd.RecommendedConfigPathEnvVar,
19-
ExplicitFileFlag: kclientcmd.OpenShiftKubeConfigFlagName,
20+
ExplicitFileFlag: genericclioptions.OpenShiftKubeConfigFlagName,
2021

2122
LoadingRules: &kclientcmd.ClientConfigLoadingRules{
2223
ExplicitPath: configPath,

pkg/oc/cli/util/clientcmd/factory_client_access.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import (
1919
kapi "k8s.io/kubernetes/pkg/apis/core"
2020
kclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
2121
"k8s.io/kubernetes/pkg/kubectl"
22-
"k8s.io/kubernetes/pkg/kubectl/cmd/set"
2322
kcmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
2423
"k8s.io/kubernetes/pkg/kubectl/genericclioptions/resource"
2524

@@ -35,11 +34,6 @@ type ring0Factory struct {
3534
}
3635

3736
func NewClientAccessFactory(optionalClientConfig kclientcmd.ClientConfig) kcmdutil.ClientAccessFactory {
38-
// if we call this factory construction method, we want the openshift style config loading
39-
kclientcmd.UseOpenShiftKubeConfigValues = true
40-
kclientcmd.ErrEmptyConfig = kclientcmd.NewErrConfigurationMissing()
41-
set.ParseDockerImageReferenceToStringFunc = ParseDockerImageReferenceToStringFunc
42-
4337
factory := &ring0Factory{
4438
kubeClientAccessFactory: kcmdutil.NewClientAccessFactory(optionalClientConfig),
4539
}

0 commit comments

Comments
 (0)