in pkg/provider/k8s/k8s.go [74:102]
func New(ctx context.Context, config *clientcmdapi.Config) (*K8s, error) {
var restConfig *rest.Config
var err error
if config == nil {
restConfig, err = rest.InClusterConfig()
} else {
restConfig, err = clientcmd.NewDefaultClientConfig(*config, &clientcmd.ConfigOverrides{}).ClientConfig()
}
if err != nil {
return nil, errors.Wrapf(err, "k8s config error")
}
clientset, err := kubernetes.NewForConfig(restConfig)
if err != nil {
return nil, errors.Wrapf(err, "k8s client error")
}
apiExtClientset, err := apiServerExtensionsClient.NewForConfig(restConfig)
if err != nil {
return nil, errors.Wrapf(err, "k8s api extensions client error")
}
return &K8s{
ctx: ctx,
clt: clientset,
ApiExtClient: apiExtClientset,
DeploymentVars: make(map[string]string),
}, nil
}