mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
parent
18370ba0c1
commit
a519335303
@ -20,6 +20,7 @@ go_library(
|
||||
"//cmd/kubeadm/app/discovery/file:go_default_library",
|
||||
"//cmd/kubeadm/app/discovery/https:go_default_library",
|
||||
"//cmd/kubeadm/app/discovery/token:go_default_library",
|
||||
"//pkg/client/unversioned/clientcmd:go_default_library",
|
||||
"//pkg/client/unversioned/clientcmd/api:go_default_library",
|
||||
"//vendor:github.com/spf13/pflag",
|
||||
],
|
||||
|
@ -18,8 +18,11 @@ package discovery
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
|
||||
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
||||
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd"
|
||||
clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api"
|
||||
)
|
||||
|
||||
@ -28,6 +31,8 @@ func For(d kubeadmapi.Discovery) (*clientcmdapi.Config, error) {
|
||||
switch {
|
||||
case d.File != nil:
|
||||
return runFileDiscovery(d.File)
|
||||
case d.HTTPS != nil:
|
||||
return runHTTPSDiscovery(d.HTTPS)
|
||||
default:
|
||||
return nil, fmt.Errorf("Couldn't find a valid discovery configuration. Please provide one.")
|
||||
}
|
||||
@ -37,5 +42,20 @@ func For(d kubeadmapi.Discovery) (*clientcmdapi.Config, error) {
|
||||
func runFileDiscovery(fd *kubeadmapi.FileDiscovery) (*clientcmdapi.Config, error) {
|
||||
return clientcmd.LoadFromFile(fd.Path)
|
||||
}
|
||||
|
||||
// runHTTPSDiscovery executes HTTPS-based discovery.
|
||||
func runHTTPSDiscovery(hd *kubeadmapi.HTTPSDiscovery) (*clientcmdapi.Config, error) {
|
||||
response, err := http.Get(hd.URL)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer response.Body.Close()
|
||||
|
||||
kubeconfig, err := ioutil.ReadAll(response.Body)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return clientcmd.Load(kubeconfig)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user