Merge pull request #83 from dimm0/feature/inclusterconfig

Using inclusterconfig for default configuration
This commit is contained in:
Murali Reddy 2017-07-29 21:05:09 +05:30 committed by GitHub
commit 562008ca8f

View File

@ -12,6 +12,7 @@ import (
"github.com/cloudnativelabs/kube-router/app/watchers"
"github.com/golang/glog"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
)
@ -22,17 +23,20 @@ type KubeRouter struct {
func NewKubeRouterDefault(config *options.KubeRouterConfig) (*KubeRouter, error) {
if len(config.Master) == 0 && len(config.Kubeconfig) == 0 {
if _, err := os.Stat("/var/lib/kube-router/kubeconfig"); os.IsNotExist(err) {
return nil, errors.New("Either one of --master or --kubeconfig must be specified. Or valid kubeconfig file must exist as /var/lib/kube-router/kubeconfig")
}
config.Kubeconfig = "/var/lib/kube-router/kubeconfig"
}
clientconfig, err := clientcmd.BuildConfigFromFlags(config.Master, config.Kubeconfig)
var clientconfig *rest.Config
var err error
// Use out of cluster config if the URL or kubeconfig have been specified. Otherwise use incluster config.
if len(config.Master) != 0 || len(config.Kubeconfig) != 0 {
clientconfig, err = clientcmd.BuildConfigFromFlags(config.Master, config.Kubeconfig)
if err != nil {
return nil, errors.New("Failed to build configuration from CLI: " + err.Error())
}
} else {
clientconfig, err = rest.InClusterConfig()
if err != nil {
return nil, errors.New("unable to initialize inclusterconfig: " + err.Error())
}
}
clientset, err := kubernetes.NewForConfig(clientconfig)
if err != nil {