secretsRepository, _ := cmd.Flags().GetString("secrets_repository")
siteRepository, _ := cmd.Flags().GetString("site_repository")
settingsPath, _ := cmd.Flags().GetString("settings_path")
+ masterMemoryMB, _ := cmd.Flags().GetString("master_memory_mb")
// Check if build path exists, create if not
buildPath, _ := cmd.Flags().GetString("build_path")
}
// start generation process
- g := generator.New(baseRepo, basePath, installerPath, secretsRepository, siteRepository, settingsPath, buildPath)
+ g := generator.New(baseRepo, basePath, installerPath, secretsRepository, siteRepository, settingsPath, buildPath, masterMemoryMB)
g.GenerateManifests()
},
}
generateCmd.MarkFlagRequired("site_repository")
generateCmd.Flags().StringP("settings_path", "", "", "Path to settings.yaml with specific config for the site")
generateCmd.MarkFlagRequired("settings_path")
+
+ generateCmd.Flags().StringP("master_memory_mb", "", "", "MB of memory to use for master node (libvirt)")
+
}
// Generator : Structure that contains the settings needed for generation
type Generator struct {
- baseRepo string
- basePath string
- installerPath string
- secretsRepo string
- siteRepo string
- settingsPath string
- buildPath string
- secrets map[string]string
+ baseRepo string
+ basePath string
+ installerPath string
+ secretsRepo string
+ siteRepo string
+ settingsPath string
+ buildPath string
+ masterMemoryMB string
+ secrets map[string]string
}
// New constructor for the generator
-func New(baseRepo string, basePath string, installerPath string, secretsRepo string, siteRepo string, settingsPath string, buildPath string) Generator {
- g := Generator{baseRepo, basePath, installerPath, secretsRepo, siteRepo, settingsPath, buildPath, make(map[string]string)}
+func New(baseRepo string, basePath string, installerPath string, secretsRepo string, siteRepo string, settingsPath string, buildPath string, masterMemoryMB string) Generator {
+ g := Generator{baseRepo, basePath, installerPath, secretsRepo, siteRepo, settingsPath, buildPath, masterMemoryMB, make(map[string]string)}
return g
}
cmd := exec.Command("./openshift-install", "create", "cluster")
cmd.Dir = g.buildPath
+ if len(g.masterMemoryMB) > 0 {
+ cmd.Env = os.Environ()
+ cmd.Env = append(cmd.Env, fmt.Sprintf("TF_VAR_libvirt_master_memory=%s", g.masterMemoryMB))
+ }
+
var stdBuffer bytes.Buffer
mw := io.MultiWriter(os.Stdout, &stdBuffer)
cmd.Stdout = mw