package main import ( "fmt" "oc-k8s/internal" "os" ) func main() { defer func() { if r := recover(); r != nil { } }() if len(os.Args) < 2 { internal.Help_Func() fmt.Println("Error: Not enought arguments") return } if err := action(); err != nil { internal.Help_Func() fmt.Println(err) } } func action() error { action := os.Args[1] switch action { case "start": args := []string{} if len(os.Args) > 2 { args = os.Args[2:] } internal.Start(args...) case "stop": args := []string{} if len(os.Args) > 2 { args = os.Args[2:] } internal.Start(args...) case "help": what := os.Args[2] switch what { case "helm": internal.Help_Helm() case "k3s": internal.Help_K3S() case "kind": internal.Help_Kind() case "cluster": internal.Help_Cluster() case "db": internal.Help_DB() case "services": internal.Help_Services() case "values": internal.Help_Values() default: internal.Help_Func() } case "install": if len(os.Args) < 2 { args := []string{} if len(os.Args) > 2 { args = os.Args[2:] } return internal.Install_Func(args...) } else { what := os.Args[2] switch what { case "helm": return internal.Install_Helm() case "k3s": return internal.Install_K3S() case "kind": return internal.Install_Kind() default: internal.Help_Func() } } case "create": what := os.Args[2] args := []string{} if len(os.Args) > 3 { args = os.Args[3:] } switch what { case "helm": return internal.Create_Helm(args...) case "cluster": return internal.Create_Cluster(args...) case "db": return internal.Create_DB(args...) case "services": return internal.Create_Services(args...) case "values": return internal.Create_Values(args...) default: internal.Help_Func() } case "delete": what := os.Args[2] args := []string{} if len(os.Args) > 3 { args = os.Args[3:] } switch what { case "helm": return internal.Delete_Helm(args...) case "cluster": return internal.Delete_Cluster(args...) case "db": return internal.Delete_DB(args...) default: internal.Help_Func() } case "upgrade": what := os.Args[2] args := []string{} if len(os.Args) > 3 { args = os.Args[3:] } switch what { case "helm": return internal.Upgrade_Helm(args...) case "db": return internal.Upgrade_DB(args...) default: internal.Help_Func() } default: internal.Help_Func() } return nil }