read kubeconfig from .fx/config or env (#377)

This commit is contained in:
Minghe
2019-11-27 20:47:49 +08:00
committed by GitHub
parent d1f680dacd
commit 05771fb07f
9 changed files with 20 additions and 12 deletions

View File

@@ -227,7 +227,7 @@ But we would suggest you run `kubectl config current-context` to check if the cu
![init workflow](https://raw.githubusercontent.com/metrue/fx/master/docs/fx-init-cluster.png)
```shell
fx init --master <host ip> --agents "<host ip 1>,<host ip 2>" --user <user> --password <password>
fx infra create --type k3s --name fx-cluster-1 --master root@123.11.2.3 --agents 'root@1.1.1.1,root@2.2.2.2'
```
## Contribute

View File

@@ -20,7 +20,7 @@ func TestDeployment(t *testing.T) {
t.Skip("skip test since no KUBECONFIG given in environment variable")
}
k8s, err := Create()
k8s, err := Create("")
if err != nil {
t.Fatal(err)
}

View File

@@ -18,8 +18,12 @@ type K3S struct {
const namespace = "default"
// Create a k8s cluster client
func Create() (*K3S, error) {
config, err := clientcmd.BuildConfigFromKubeconfigGetter("", clientcmd.NewDefaultClientConfigLoadingRules().Load)
func Create(kubeconfig string) (*K3S, error) {
if os.Getenv("KUBECONFIG") != "" {
kubeconfig = os.Getenv("KUBECONFIG")
}
config, err := clientcmd.BuildConfigFromFlags("", kubeconfig)
if err != nil {
return nil, err
}

View File

@@ -11,7 +11,7 @@ func TestConfigMap(t *testing.T) {
t.Skip("skip test since no KUBECONFIG given in environment variable")
}
k8s, err := Create()
k8s, err := Create("")
if err != nil {
t.Fatal(err)
}

View File

@@ -20,7 +20,7 @@ func TestDeployment(t *testing.T) {
t.Skip("skip test since no KUBECONFIG given in environment variable")
}
k8s, err := Create()
k8s, err := Create("")
if err != nil {
t.Fatal(err)
}

View File

@@ -19,8 +19,12 @@ type K8S struct {
const namespace = "default"
// Create a k8s cluster client
func Create() (*K8S, error) {
config, err := clientcmd.BuildConfigFromKubeconfigGetter("", clientcmd.NewDefaultClientConfigLoadingRules().Load)
func Create(kubeconfig string) (*K8S, error) {
if os.Getenv("KUBECONFIG") != "" {
kubeconfig = os.Getenv("KUBECONFIG")
}
config, err := clientcmd.BuildConfigFromFlags("", kubeconfig)
if err != nil {
return nil, err
}

View File

@@ -26,7 +26,7 @@ func TestK8SDeployer(t *testing.T) {
if kubeconfig == "" || username == "" || password == "" {
t.Skip("skip test since no KUBECONFIG, DOCKER_USERNAME and DOCKER_PASSWORD given in environment variable")
}
k8s, err := Create()
k8s, err := Create("")
if err != nil {
t.Fatal(err)
}

View File

@@ -27,7 +27,7 @@ func TestK8S(t *testing.T) {
if kubeconfig == "" {
t.Skip("skip test since no KUBECONFIG given in environment variable")
}
k8s, err := Create()
k8s, err := Create("")
if err != nil {
t.Fatal(err)
}

View File

@@ -40,12 +40,12 @@ func Setup(ctx *context.Context) (err error) {
}
} else if cloud["type"] == config.CloudTypeK8S {
if os.Getenv("K3S") != "" {
deployer, err = k3sDeployer.Create()
deployer, err = k3sDeployer.Create(cloud["kubeconfig"])
if err != nil {
return err
}
} else if os.Getenv("KUBECONFIG") != "" {
deployer, err = k8sDeployer.Create()
deployer, err = k8sDeployer.Create(cloud["kubeconfig"])
if err != nil {
return err
}