Skip to content

Commit

Permalink
Remove dependency from cmd/config on cli-utils
Browse files Browse the repository at this point in the history
  • Loading branch information
mortent committed Sep 24, 2020
1 parent cb7974c commit d2ebf80
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 340 deletions.
170 changes: 85 additions & 85 deletions cmd/config/configcobra/live.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,88 +2,88 @@
// SPDX-License-Identifier: Apache-2.0

package configcobra

import (
"flag"

"github.com/spf13/cobra"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/cli-runtime/pkg/genericclioptions"
"k8s.io/client-go/discovery"
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
"k8s.io/kubectl/pkg/cmd/util"
"sigs.k8s.io/cli-utils/cmd/apply"
"sigs.k8s.io/cli-utils/cmd/destroy"
"sigs.k8s.io/cli-utils/cmd/diff"
"sigs.k8s.io/cli-utils/cmd/initcmd"
"sigs.k8s.io/cli-utils/cmd/preview"
"sigs.k8s.io/cli-utils/pkg/util/factory"
)

func GetLive(name string) *cobra.Command {
cmd := &cobra.Command{
Use: "live",
Short: "Commands for reading and writing resources to a cluster.",
}
ioStreams := genericclioptions.IOStreams{
In: cmd.InOrStdin(),
Out: cmd.OutOrStdout(),
ErrOut: cmd.ErrOrStderr(),
}

flags := cmd.PersistentFlags()
kubeConfigFlags := genericclioptions.NewConfigFlags(true).WithDeprecatedPasswordFlag()
kubeConfigFlags.AddFlags(flags)
userAgentKubeConfigFlags := &UserAgentKubeConfigFlags{
Delegate: kubeConfigFlags,
UserAgent: "kustomize",
}
matchVersionKubeConfigFlags := util.NewMatchVersionFlags(
&factory.CachingRESTClientGetter{
Delegate: userAgentKubeConfigFlags,
},
)
matchVersionKubeConfigFlags.AddFlags(cmd.PersistentFlags())
cmd.PersistentFlags().AddGoFlagSet(flag.CommandLine)
f := util.NewFactory(matchVersionKubeConfigFlags)

applyCmd := apply.ApplyCommand(f, ioStreams)
_ = applyCmd.Flags().MarkHidden("no-prune")

cmd.AddCommand(
applyCmd,
initcmd.NewCmdInit(f, ioStreams),
preview.PreviewCommand(f, ioStreams),
diff.NewCmdDiff(f, ioStreams),
destroy.DestroyCommand(f, ioStreams))
return cmd
}

type UserAgentKubeConfigFlags struct {
Delegate genericclioptions.RESTClientGetter
UserAgent string
}

func (u *UserAgentKubeConfigFlags) ToRESTConfig() (*rest.Config, error) {
clientConfig, err := u.Delegate.ToRESTConfig()
if err != nil {
return nil, err
}
if u.UserAgent != "" {
clientConfig.UserAgent = u.UserAgent
}
return clientConfig, nil
}

func (u *UserAgentKubeConfigFlags) ToDiscoveryClient() (discovery.CachedDiscoveryInterface, error) {
return u.Delegate.ToDiscoveryClient()
}

func (u *UserAgentKubeConfigFlags) ToRESTMapper() (meta.RESTMapper, error) {
return u.Delegate.ToRESTMapper()
}

func (u *UserAgentKubeConfigFlags) ToRawKubeConfigLoader() clientcmd.ClientConfig {
return u.Delegate.ToRawKubeConfigLoader()
}
//
//import (
// "flag"
//
// "github.com/spf13/cobra"
// "k8s.io/apimachinery/pkg/api/meta"
// "k8s.io/cli-runtime/pkg/genericclioptions"
// "k8s.io/client-go/discovery"
// "k8s.io/client-go/rest"
// "k8s.io/client-go/tools/clientcmd"
// "k8s.io/kubectl/pkg/cmd/util"
// "sigs.k8s.io/cli-utils/cmd/apply"
// "sigs.k8s.io/cli-utils/cmd/destroy"
// "sigs.k8s.io/cli-utils/cmd/diff"
// "sigs.k8s.io/cli-utils/cmd/initcmd"
// "sigs.k8s.io/cli-utils/cmd/preview"
// "sigs.k8s.io/cli-utils/pkg/util/factory"
//)
//
//func GetLive(name string) *cobra.Command {
// cmd := &cobra.Command{
// Use: "live",
// Short: "Commands for reading and writing resources to a cluster.",
// }
// ioStreams := genericclioptions.IOStreams{
// In: cmd.InOrStdin(),
// Out: cmd.OutOrStdout(),
// ErrOut: cmd.ErrOrStderr(),
// }
//
// flags := cmd.PersistentFlags()
// kubeConfigFlags := genericclioptions.NewConfigFlags(true).WithDeprecatedPasswordFlag()
// kubeConfigFlags.AddFlags(flags)
// userAgentKubeConfigFlags := &UserAgentKubeConfigFlags{
// Delegate: kubeConfigFlags,
// UserAgent: "kustomize",
// }
// matchVersionKubeConfigFlags := util.NewMatchVersionFlags(
// &factory.CachingRESTClientGetter{
// Delegate: userAgentKubeConfigFlags,
// },
// )
// matchVersionKubeConfigFlags.AddFlags(cmd.PersistentFlags())
// cmd.PersistentFlags().AddGoFlagSet(flag.CommandLine)
// f := util.NewFactory(matchVersionKubeConfigFlags)
//
// applyCmd := apply.ApplyCommand(f, ioStreams)
// _ = applyCmd.Flags().MarkHidden("no-prune")
//
// cmd.AddCommand(
// applyCmd,
// initcmd.NewCmdInit(f, ioStreams),
// preview.PreviewCommand(f, ioStreams),
// diff.NewCmdDiff(f, ioStreams),
// destroy.DestroyCommand(f, ioStreams))
// return cmd
//}
//
//type UserAgentKubeConfigFlags struct {
// Delegate genericclioptions.RESTClientGetter
// UserAgent string
//}
//
//func (u *UserAgentKubeConfigFlags) ToRESTConfig() (*rest.Config, error) {
// clientConfig, err := u.Delegate.ToRESTConfig()
// if err != nil {
// return nil, err
// }
// if u.UserAgent != "" {
// clientConfig.UserAgent = u.UserAgent
// }
// return clientConfig, nil
//}
//
//func (u *UserAgentKubeConfigFlags) ToDiscoveryClient() (discovery.CachedDiscoveryInterface, error) {
// return u.Delegate.ToDiscoveryClient()
//}
//
//func (u *UserAgentKubeConfigFlags) ToRESTMapper() (meta.RESTMapper, error) {
// return u.Delegate.ToRESTMapper()
//}
//
//func (u *UserAgentKubeConfigFlags) ToRawKubeConfigLoader() clientcmd.ClientConfig {
// return u.Delegate.ToRawKubeConfigLoader()
//}
4 changes: 0 additions & 4 deletions cmd/config/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@ require (
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.4.0
k8s.io/apimachinery v0.17.3
k8s.io/cli-runtime v0.17.3
k8s.io/client-go v0.17.3
k8s.io/kubectl v0.0.0-20191219154910-1528d4eea6dd
sigs.k8s.io/cli-utils v0.20.2
sigs.k8s.io/kustomize/kyaml v0.8.1
)

Expand Down
Loading

0 comments on commit d2ebf80

Please sign in to comment.