Skip to content

Commit

Permalink
Merge pull request #11 from lpabon/kubecontext
Browse files Browse the repository at this point in the history
Context for kubernetes
  • Loading branch information
lpabon authored Jul 17, 2019
2 parents bcc2420 + b80e180 commit aba31b7
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 7 deletions.
2 changes: 1 addition & 1 deletion cmd/getPvc.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ func getPvcExec(cmd *cobra.Command, args []string) error {
defer conn.Close()

// Connect to kubernetes
cc, kc, err := kubernetes.KubeConnect(GetConfigFile())
cc, kc, err := KubeConnectDefault()
if err != nil {
return err
}
Expand Down
3 changes: 1 addition & 2 deletions cmd/getVolumes.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
"strings"

api "github.com/libopenstorage/openstorage-sdk-clients/sdk/golang"
"github.com/portworx/px/pkg/kubernetes"
"github.com/portworx/px/pkg/util"

"google.golang.org/grpc"
Expand Down Expand Up @@ -62,7 +61,7 @@ func getVolumesExec(cmd *cobra.Command, args []string) error {
var pods []v1.Pod
showK8s, _ := cmd.Flags().GetBool("show-k8s-info")
if showK8s {
_, kc, err := kubernetes.KubeConnect(GetConfigFile())
_, kc, err := KubeConnectDefault()
if err != nil {
return err
}
Expand Down
10 changes: 9 additions & 1 deletion cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,16 @@ import (
"os"
"path"

homedir "github.com/mitchellh/go-homedir"
"github.com/portworx/px/pkg/kubernetes"
"github.com/portworx/px/pkg/plugin"
"github.com/portworx/px/pkg/portworx"
"github.com/portworx/px/pkg/util"

homedir "github.com/mitchellh/go-homedir"
"github.com/spf13/cobra"
"google.golang.org/grpc"
kclikube "k8s.io/client-go/kubernetes"
"k8s.io/client-go/tools/clientcmd"
)

const (
Expand Down Expand Up @@ -121,3 +125,7 @@ func PxConnectDefault() (context.Context, *grpc.ClientConn, error) {
return portworx.PxConnectNamed(cfgFile, cfgContext)
}
}

func KubeConnectDefault() (clientcmd.ClientConfig, *kclikube.Clientset, error) {
return kubernetes.KubeConnect(cfgFile, cfgContext)
}
15 changes: 12 additions & 3 deletions pkg/kubernetes/connect.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,18 @@ import (
// set in the default context.
// clientcmd.ClientConfig will allow the caller to call ClientConfig.Namespace() to get the namespace
// set by the caller on their Kubeconfig.
func KubeConnect(cfgFile string) (clientcmd.ClientConfig, *kubernetes.Clientset, error) {
var kubeconfig string
pxctx, err := contextconfig.NewConfigReference(cfgFile).GetCurrent()
func KubeConnect(cfgFile, context string) (clientcmd.ClientConfig, *kubernetes.Clientset, error) {
var (
kubeconfig string
pxctx *contextconfig.ClientContext
err error
)

if len(context) == 0 {
pxctx, err = contextconfig.NewConfigReference(cfgFile).GetCurrent()
} else {
pxctx, err = contextconfig.NewConfigReference(cfgFile).GetNamedContext(context)
}
if err != nil {
return nil, nil, err
}
Expand Down

0 comments on commit aba31b7

Please sign in to comment.