buildPath = fmt.Sprintf("%s/.kni", os.Getenv("HOME"))
}
+ kubeconfig, _ := cmd.Flags().GetString("kubeconfig")
+ if len(kubeconfig) == 0 {
+ // set to default value
+ kubeconfig = fmt.Sprintf("%s/final_manifests/auth/kubeconfig", buildPath)
+ } else if kubeconfig == "local" {
+ kubeconfig = ""
+ }
+
// define a site object and proceed with applying workloads
s := site.NewWithName(siteName, buildPath)
- s.ApplyWorkloads()
+ s.ApplyWorkloads(kubeconfig)
},
}
rootCmd.AddCommand(applyWorkloadsCmd)
applyWorkloadsCmd.Flags().StringP("build_path", "", "", "Directory to use as build path. If that not exists, the installer will generate a default directory")
+ applyWorkloadsCmd.Flags().StringP("kubeconfig", "", "", "Path to kubeconfig file. By default it will be the one generated with prepare_manifests. If set to 'local', no kubeconfig will be used and it will assume running on local cluster")
}
}
// using the site contents, applies the workloads on it
-func (s Site) ApplyWorkloads() {
+func (s Site) ApplyWorkloads(kubeconfigFile string) {
siteBuildPath := fmt.Sprintf("%s/%s", s.buildPath, s.siteName)
- // check if we have the needed kubeconfig file
- kubeconfigFile := fmt.Sprintf("%s/final_manifests/auth/kubeconfig", siteBuildPath)
- binariesPath := fmt.Sprintf("%s/requirements", siteBuildPath)
-
- if _, err := os.Stat(kubeconfigFile); err == nil {
- log.Println(fmt.Sprintf("Applying workloads from %s/blueprint/sites/site/02_cluster-addons", siteBuildPath))
- out := utils.ApplyKustomize(fmt.Sprintf("%s/kustomize", binariesPath), fmt.Sprintf("%s/blueprint/sites/site/02_cluster-addons", siteBuildPath))
- if string(out) != "" {
- // now we can apply it
- utils.ApplyKubectl(fmt.Sprintf("%s/kubectl", binariesPath), out, kubeconfigFile)
- } else {
- log.Println(fmt.Sprintf("No manifests found for %s/blueprint/sites/site/02_cluster-addons", siteBuildPath))
- }
-
- log.Println(fmt.Sprintf("Applying workloads from %s/blueprint/sites/site/03_services", siteBuildPath))
- out = utils.ApplyKustomize(fmt.Sprintf("%s/kustomize", binariesPath), fmt.Sprintf("%s/blueprint/sites/site/03_services", siteBuildPath))
- if string(out) != "" {
- // now we can apply it
- utils.ApplyKubectl(fmt.Sprintf("%s/kubectl", binariesPath), out, kubeconfigFile)
- } else {
- log.Println(fmt.Sprintf("No manifests found for %s/blueprint/sites/site/03_services", siteBuildPath))
+ // if we have kubeconfig, validate that exists
+ if len(kubeconfigFile) > 0 {
+ if _, err := os.Stat(kubeconfigFile); err != nil {
+ log.Fatal(fmt.Sprintf("Error: kubeconfig file %s does not exist", kubeconfigFile))
+ os.Exit(1)
}
+ }
+ binariesPath := fmt.Sprintf("%s/requirements", siteBuildPath)
+ log.Println(fmt.Sprintf("Applying workloads from %s/blueprint/sites/site/02_cluster-addons", siteBuildPath))
+ out := utils.ApplyKustomize(fmt.Sprintf("%s/kustomize", binariesPath), fmt.Sprintf("%s/blueprint/sites/site/02_cluster-addons", siteBuildPath))
+ if string(out) != "" {
+ // now we can apply it
+ utils.ApplyKubectl(fmt.Sprintf("%s/kubectl", binariesPath), out, kubeconfigFile)
} else {
- // no kubeconfig, abort the workload creation
- log.Fatal("Error, no kubeconfig file found")
- os.Exit(1)
+ log.Println(fmt.Sprintf("No manifests found for %s/blueprint/sites/site/02_cluster-addons", siteBuildPath))
}
+ log.Println(fmt.Sprintf("Applying workloads from %s/blueprint/sites/site/03_services", siteBuildPath))
+ out = utils.ApplyKustomize(fmt.Sprintf("%s/kustomize", binariesPath), fmt.Sprintf("%s/blueprint/sites/site/03_services", siteBuildPath))
+ if string(out) != "" {
+ // now we can apply it
+ utils.ApplyKubectl(fmt.Sprintf("%s/kubectl", binariesPath), out, kubeconfigFile)
+ } else {
+ log.Println(fmt.Sprintf("No manifests found for %s/blueprint/sites/site/03_services", siteBuildPath))
+ }
}