Skip to content

Commit 562008c

Browse files
authored
Merge pull request #83 from dimm0/feature/inclusterconfig
Using inclusterconfig for default configuration
2 parents 909c24d + 8d2ed48 commit 562008c

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

app/server.go

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/cloudnativelabs/kube-router/app/watchers"
1313
"github.com/golang/glog"
1414
"k8s.io/client-go/kubernetes"
15+
"k8s.io/client-go/rest"
1516
"k8s.io/client-go/tools/clientcmd"
1617
)
1718

@@ -22,16 +23,19 @@ type KubeRouter struct {
2223

2324
func NewKubeRouterDefault(config *options.KubeRouterConfig) (*KubeRouter, error) {
2425

25-
if len(config.Master) == 0 && len(config.Kubeconfig) == 0 {
26-
if _, err := os.Stat("/var/lib/kube-router/kubeconfig"); os.IsNotExist(err) {
27-
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")
26+
var clientconfig *rest.Config
27+
var err error
28+
// Use out of cluster config if the URL or kubeconfig have been specified. Otherwise use incluster config.
29+
if len(config.Master) != 0 || len(config.Kubeconfig) != 0 {
30+
clientconfig, err = clientcmd.BuildConfigFromFlags(config.Master, config.Kubeconfig)
31+
if err != nil {
32+
return nil, errors.New("Failed to build configuration from CLI: " + err.Error())
33+
}
34+
} else {
35+
clientconfig, err = rest.InClusterConfig()
36+
if err != nil {
37+
return nil, errors.New("unable to initialize inclusterconfig: " + err.Error())
2838
}
29-
config.Kubeconfig = "/var/lib/kube-router/kubeconfig"
30-
}
31-
32-
clientconfig, err := clientcmd.BuildConfigFromFlags(config.Master, config.Kubeconfig)
33-
if err != nil {
34-
return nil, errors.New("Failed to build configuration from CLI: " + err.Error())
3539
}
3640

3741
clientset, err := kubernetes.NewForConfig(clientconfig)

0 commit comments

Comments
 (0)