func getConfigurator() *configurator.Configurator { if *kubePath == "" { log.Fatalf("kubectl path cannot be empty") } // If a configuration file is specified, then it will provide the server // address and credentials. If not, then we check for the server address // and credentials as individual flags. var args []string if *kubeConfig != "" { *kubeConfig = os.ExpandEnv(*kubeConfig) args = append(args, fmt.Sprintf("--kubeconfig=%s", *kubeConfig)) } else { if *kubeServer != "" { args = append(args, fmt.Sprintf("--server=https://%s", *kubeServer)) } else if *kubeService != "" { addrs, err := net.LookupHost(*kubeService) if err != nil || len(addrs) < 1 { log.Fatalf("cannot resolve DNS name: %v", *kubeService) } args = append(args, fmt.Sprintf("--server=https://%s", addrs[0])) } if *kubeInsecure { args = append(args, "--insecure-skip-tls-verify") } else { if *kubeCertAuth != "" { args = append(args, fmt.Sprintf("--certificate-authority=%s", *kubeCertAuth)) if *kubeClientCert == "" { args = append(args, fmt.Sprintf("--client-certificate=%s", *kubeClientCert)) } if *kubeClientKey == "" { args = append(args, fmt.Sprintf("--client-key=%s", *kubeClientKey)) } } if *kubeToken == "" { args = append(args, fmt.Sprintf("--token=%s", *kubeToken)) } else { if *kubeUsername != "" { args = append(args, fmt.Sprintf("--username=%s", *kubeUsername)) } if *kubePassword != "" { args = append(args, fmt.Sprintf("--password=%s", *kubePassword)) } } } } return configurator.NewConfigurator(*kubePath, args) }
func getConfigurator() *configurator.Configurator { kubernetesConfig := &util.KubernetesConfig{ KubePath: *kubePath, KubeService: *kubeService, KubeServer: *kubeServer, KubeInsecure: *kubeInsecure, KubeConfig: *kubeConfig, KubeCertAuth: *kubeCertAuth, KubeClientCert: *kubeClientCert, KubeClientKey: *kubeClientKey, KubeToken: *kubeToken, KubeUsername: *kubeUsername, KubePassword: *kubePassword, } return configurator.NewConfigurator(util.NewKubernetesKubectl(kubernetesConfig)) }