Adjust k8s

This commit is contained in:
mr
2026-01-20 16:21:04 +01:00
parent f52bdf8ecc
commit 4ff6e706ca
18 changed files with 272 additions and 1799 deletions

View File

@@ -1,9 +1,11 @@
package main
import (
"flag"
"fmt"
"oc-k8s/internal"
"os"
"slices"
)
func main() {
@@ -14,31 +16,67 @@ func main() {
}()
if len(os.Args) < 2 {
internal.Help_Func()
fmt.Println("Error: Not enought arguments")
fmt.Println("Error: Not enough arguments")
return
}
if err := action(); err != nil {
internal.Help_Func()
fmt.Println(err)
if len(os.Args) > 2 && slices.Contains([]string{"start", "help", "stop"}, os.Args[1]) {
internal.Help_Func()
} else {
what := ""
if len(os.Args) > 2 {
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_Service()
case "values":
internal.Help_Values()
default:
internal.Help_Func()
}
flag.CommandLine.Parse(os.Args[3:])
}
fmt.Println("ERROR", err)
}
}
func action() error {
folder := flag.String("f", ".", "Folder to reach config/datas")
release := flag.String("r", "dev", "Release name in run")
namespace := flag.String("n", "dev", "Namespace in run")
branch := flag.String("b", "main", "Git branch/version of a OC build")
target := flag.String("y", "all", "Makefile build up mode")
dbName := flag.String("d", "opencloud", "DBName in use")
arch := flag.String("a", "linux-amd64", "Arch expected")
version := flag.String("v", "v0.30.0", "version of arch")
confFile := flag.String("c", "", "Configuration files to map")
if len(os.Args) > 2 && slices.Contains([]string{"start", "help", "stop"}, os.Args[1]) {
flag.CommandLine.Parse(os.Args[2:])
} else if len(os.Args) > 3 {
flag.CommandLine.Parse(os.Args[3:])
} else {
flag.Parse()
}
action := os.Args[1]
switch action {
case "start":
args := []string{}
if len(os.Args) > 2 {
args = os.Args[2:]
}
internal.Start(args...)
internal.Start(*folder, *release, *namespace, *branch, *target)
case "stop":
args := []string{}
if len(os.Args) > 2 {
args = os.Args[2:]
}
internal.Stop(args...)
internal.Stop(*folder, *release, *namespace)
case "extract":
what := os.Args[2]
switch what {
@@ -46,7 +84,10 @@ func action() error {
return internal.ExtractTrees("assets", "./opencloud-chart")
}
case "help":
what := os.Args[2]
what := ""
if len(os.Args) > 2 {
what = os.Args[2]
}
switch what {
case "helm":
internal.Help_Helm()
@@ -66,13 +107,9 @@ func action() error {
internal.Help_Func()
}
case "install":
if len(os.Args) < 3 {
return internal.Install_Func()
}
what := os.Args[2]
args := []string{}
if len(os.Args) > 3 {
args = os.Args[3:]
what := ""
if len(os.Args) > 2 {
what = os.Args[2]
}
switch what {
case "helm":
@@ -80,60 +117,53 @@ func action() error {
case "k3s":
return internal.Install_K3S()
case "kind":
return internal.Install_Kind(args...)
return internal.Install_Kind(*arch, *version)
default:
if len(os.Args) > 2 {
args = os.Args[2:]
}
internal.Install_Func(args...)
internal.Install_Func(*arch, *version)
}
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...)
return internal.Create_Helm(*folder, *release, *namespace)
case "cluster":
return internal.Create_Cluster(args...)
return internal.Create_Cluster(*folder, *release)
case "db":
return internal.Create_DB(args...)
return internal.Create_DB(folder, *release, *namespace, *dbName)
case "services":
return internal.Create_Service(args...)
return internal.Create_Service(*folder, *release, *branch, *target)
case "values":
return internal.Create_Values(args...)
return internal.Create_Values(folder, release, confFile)
default:
internal.Help_Func()
}
case "delete":
what := os.Args[2]
args := []string{}
if len(os.Args) > 3 {
args = os.Args[3:]
what := ""
if len(os.Args) > 2 {
what = os.Args[2]
}
switch what {
case "helm":
return internal.Delete_Helm(args...)
return internal.Delete_Helm(*release, *namespace)
case "cluster":
return internal.Delete_Cluster(args...)
return internal.Delete_Cluster(*folder, *release)
case "db":
return internal.Delete_DB(args...)
return internal.Delete_DB(*release, *namespace, *dbName)
default:
internal.Help_Func()
}
case "upgrade":
what := os.Args[2]
args := []string{}
if len(os.Args) > 3 {
args = os.Args[3:]
what := ""
if len(os.Args) > 2 {
what = os.Args[2]
}
switch what {
case "helm":
return internal.Upgrade_Helm(args...)
return internal.Upgrade_Helm(*folder, *release, *namespace)
case "db":
return internal.Upgrade_DB(args...)
return internal.Upgrade_DB(folder, *release, *namespace, *dbName)
default:
internal.Help_Func()
}