mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 21:47:07 +00:00
parent
18370ba0c1
commit
a519335303
@ -20,6 +20,7 @@ go_library(
|
|||||||
"//cmd/kubeadm/app/discovery/file:go_default_library",
|
"//cmd/kubeadm/app/discovery/file:go_default_library",
|
||||||
"//cmd/kubeadm/app/discovery/https:go_default_library",
|
"//cmd/kubeadm/app/discovery/https:go_default_library",
|
||||||
"//cmd/kubeadm/app/discovery/token: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",
|
"//pkg/client/unversioned/clientcmd/api:go_default_library",
|
||||||
"//vendor:github.com/spf13/pflag",
|
"//vendor:github.com/spf13/pflag",
|
||||||
],
|
],
|
||||||
|
@ -18,8 +18,11 @@ package discovery
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
|
"net/http"
|
||||||
|
|
||||||
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
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"
|
clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -28,6 +31,8 @@ func For(d kubeadmapi.Discovery) (*clientcmdapi.Config, error) {
|
|||||||
switch {
|
switch {
|
||||||
case d.File != nil:
|
case d.File != nil:
|
||||||
return runFileDiscovery(d.File)
|
return runFileDiscovery(d.File)
|
||||||
|
case d.HTTPS != nil:
|
||||||
|
return runHTTPSDiscovery(d.HTTPS)
|
||||||
default:
|
default:
|
||||||
return nil, fmt.Errorf("Couldn't find a valid discovery configuration. Please provide one.")
|
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) {
|
func runFileDiscovery(fd *kubeadmapi.FileDiscovery) (*clientcmdapi.Config, error) {
|
||||||
return clientcmd.LoadFromFile(fd.Path)
|
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