2 Copyright 2018 Intel Corporation.
3 Licensed under the Apache License, Version 2.0 (the "License");
4 you may not use this file except in compliance with the License.
5 You may obtain a copy of the License at
6 http://www.apache.org/licenses/LICENSE-2.0
7 Unless required by applicable law or agreed to in writing, software
8 distributed under the License is distributed on an "AS IS" BASIS,
9 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 See the License for the specific language governing permissions and
11 limitations under the License.
19 pkgerrors "github.com/pkg/errors"
21 "k8s.io/client-go/kubernetes"
22 "k8s.io/client-go/tools/clientcmd"
25 // GetKubeClient loads the Kubernetes configuation values stored into the local configuration file
26 var GetKubeClient = func(configPath string) (kubernetes.Clientset, error) {
27 var clientset *kubernetes.Clientset
30 return *clientset, errors.New("config not passed and is not found in ~/.kube. ")
33 config, err := clientcmd.BuildConfigFromFlags("", configPath)
35 return kubernetes.Clientset{}, pkgerrors.Wrap(err, "setConfig: Build config from flags raised an error")
38 clientset, err = kubernetes.NewForConfig(config)
40 return *clientset, err
43 return *clientset, nil