first version
This commit is contained in:
45
cmd/main/main.go
Normal file
45
cmd/main/main.go
Normal file
@@ -0,0 +1,45 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"kube-forge/pkg/config"
|
||||
"kube-forge/pkg/kubespray"
|
||||
"kube-forge/pkg/templates"
|
||||
"os"
|
||||
)
|
||||
|
||||
func parseArgs() (string, string, string, string) {
|
||||
var password string
|
||||
var configPath string
|
||||
var dataDir string
|
||||
var tags string
|
||||
flag.StringVar(&password, "p", "", "Password to access hosts")
|
||||
flag.StringVar(&configPath, "c", "/etc/kube-forge/config.yaml", "Path to config file")
|
||||
flag.StringVar(&dataDir, "d", "/var/lib/kube-forge", "Path to data dir")
|
||||
flag.StringVar(&tags, "t", "", "List of tags to apply (ex: ingress,dns)")
|
||||
flag.Parse()
|
||||
return password, configPath, dataDir, tags
|
||||
}
|
||||
|
||||
func main() {
|
||||
password, configPath, dataDir, tags := parseArgs()
|
||||
config := config.CreateConfig(configPath, dataDir, password)
|
||||
|
||||
repositories, releases := templates.GetHelmAppsConfigData()
|
||||
config.Repositories = repositories
|
||||
config.Releases = releases
|
||||
|
||||
templates.ApplyTemplates()
|
||||
|
||||
for _, cmd := range os.Args {
|
||||
switch cmd {
|
||||
case "apply":
|
||||
kubespray.InstallCluster(tags)
|
||||
kubespray.CopyK8SAdminConfig("k8s-admin.conf")
|
||||
case "reset":
|
||||
kubespray.ResetCluster()
|
||||
case "upgrade":
|
||||
kubespray.UpgradeCluster(tags)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user