Merge pull request #9 from moonek/outofclusterconfig
Support for running controller outside of cluster
This commit is contained in:
commit
a8ea0c5cae
|
|
@ -28,13 +28,14 @@ import (
|
|||
"k8s.io/kubernetes/pkg/apis/core/v1/helper"
|
||||
|
||||
"github.com/golang/glog"
|
||||
"sigs.k8s.io/sig-storage-lib-external-provisioner/controller"
|
||||
"k8s.io/api/core/v1"
|
||||
storage "k8s.io/api/storage/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
"k8s.io/client-go/kubernetes"
|
||||
"k8s.io/client-go/rest"
|
||||
"k8s.io/client-go/tools/clientcmd"
|
||||
"sigs.k8s.io/sig-storage-lib-external-provisioner/controller"
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
@ -161,12 +162,24 @@ func main() {
|
|||
if provisionerName == "" {
|
||||
glog.Fatalf("environment variable %s is not set! Please set it.", provisionerNameKey)
|
||||
}
|
||||
|
||||
// Create an InClusterConfig and use it to create a client for the controller
|
||||
// to use to communicate with Kubernetes
|
||||
config, err := rest.InClusterConfig()
|
||||
if err != nil {
|
||||
glog.Fatalf("Failed to create config: %v", err)
|
||||
kubeconfig := os.Getenv("KUBECONFIG")
|
||||
var config *rest.Config
|
||||
if kubeconfig != "" {
|
||||
// Create an OutOfClusterConfig and use it to create a client for the controller
|
||||
// to use to communicate with Kubernetes
|
||||
var err error
|
||||
config, err = clientcmd.BuildConfigFromFlags("", kubeconfig)
|
||||
if err != nil {
|
||||
glog.Fatalf("Failed to create kubeconfig: %v", err)
|
||||
}
|
||||
} else {
|
||||
// Create an InClusterConfig and use it to create a client for the controller
|
||||
// to use to communicate with Kubernetes
|
||||
var err error
|
||||
config, err = rest.InClusterConfig()
|
||||
if err != nil {
|
||||
glog.Fatalf("Failed to create config: %v", err)
|
||||
}
|
||||
}
|
||||
clientset, err := kubernetes.NewForConfig(config)
|
||||
if err != nil {
|
||||
|
|
|
|||
Loading…
Reference in New Issue