diff --git a/.gitignore b/.gitignore index 69e2ad7..b8e49b4 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,6 @@ *artifacts* *k8s-admin* vault-keys.json -config.yaml \ No newline at end of file +config.yaml +temp +*id_rsa* \ No newline at end of file diff --git a/README.md b/README.md index 0723de2..afd5f6b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## Устнановка +## Установка ### Docker-образ @@ -8,6 +8,25 @@ ```shell docker run -v $(pwd)/config.yaml:/application/config.yaml \ - -v $(pwd)/id_rsa:/root/.ssh/id_rsa \ - -v $(pwd)/config:/root/.ssh/config harbor.kvazaric.ru/kube-forge/kube-forge:1.0-5dcd4a83 apply + -v $(pwd)/id_rsa_bastion_ift:/root/.ssh/id_rsa \ + -v $(pwd)/config:/root/.ssh/config \ + -v $(pwd)/k8s-admin.conf:/application/k8s-admin.conf \ + harbor.kvazaric.ru/kube-forge/kube-forge:1.0-71bd08d2 apply ``` + +## С помощью исполняемого файла + +Необходимо также на машине оператора иметь утилиты: + +- sshpass + +```shell +./kube-forge -c config.yaml -d . apply +``` + +## Параметры: + +- "-с" путь до конфигурационного файла +- "-d" путь до рабочей директории (там же должна быть директория kubespray) +- "-p" пароль для авторизации через SSH +- "-v" включить расширенное логирование ("-v=true") diff --git a/build/version.txt b/build/version.txt index 9f8e9b6..b123147 100644 --- a/build/version.txt +++ b/build/version.txt @@ -1 +1 @@ -1.0 \ No newline at end of file +1.1 \ No newline at end of file diff --git a/cmd/main/main.go b/cmd/main/main.go index c3350ff..e204525 100644 --- a/cmd/main/main.go +++ b/cmd/main/main.go @@ -9,19 +9,18 @@ import ( "os" ) -func parseArgs() (string, string, string) { +func main() { var password, configPath, workDir string + var verbose bool + flag.StringVar(&password, "p", "", "Password to access hosts") flag.StringVar(&configPath, "c", "/etc/kube-forge/config.yaml", "Path to config file") flag.StringVar(&workDir, "d", "/var/lib/kube-forge", "Path to kube-forge work dir") + flag.BoolVar(&verbose, "v", false, "Enable verbose logging") + fmt.Println(verbose) flag.Parse() - return password, configPath, workDir -} - -func main() { - password, configPath, workDir := parseArgs() config := config.CreateConfig(configPath, workDir, password) - + config.Verbose = verbose repositories, releases := templates.GetHelmAppsConfigData() config.Repositories = repositories config.Releases = releases diff --git a/internal/config/config.go b/internal/config/config.go index cd3bd2b..6fb067a 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -16,6 +16,7 @@ type Host struct { type Config struct { WorkDir string + Verbose bool Credentials struct { User string `yaml:"user"` Password string `yaml:"password"` diff --git a/internal/kubespray/utility.go b/internal/kubespray/utility.go index 4b0aa63..459c3b8 100644 --- a/internal/kubespray/utility.go +++ b/internal/kubespray/utility.go @@ -56,19 +56,26 @@ func CopyK8SAdminConfig(pathInDataDir string) { } func runPlaybook(playbookPath string, tags string) { + config := config.GetConfig() + var callbackExecute execute.Executor + playbookOptions := getPlaybookParameters(tags) playbookCmd := playbook.NewAnsiblePlaybookCmd( playbook.WithPlaybooks(playbookPath), playbook.WithPlaybookOptions(&playbookOptions), ) - exec := stdoutcallback.NewDebugStdoutCallbackExecute( - execute.NewDefaultExecute( - execute.WithCmd(playbookCmd), - execute.WithErrorEnrich(playbook.NewAnsiblePlaybookErrorEnrich()), - ), + execute := execute.NewDefaultExecute( + execute.WithCmd(playbookCmd), + execute.WithErrorEnrich(playbook.NewAnsiblePlaybookErrorEnrich()), ) - err := exec.Execute(context.Background()) + if config.Verbose { + callbackExecute = stdoutcallback.NewDebugStdoutCallbackExecute(execute) + } else { + callbackExecute = stdoutcallback.NewDenseStdoutCallbackExecute(execute) + } + + err := callbackExecute.Execute(context.Background()) if err != nil { panic(err) } diff --git a/kubespray/inventory/group_vars/k8s_cluster/addons.yml b/kubespray/inventory/group_vars/k8s_cluster/addons.yml index 764a160..e1ead0a 100644 --- a/kubespray/inventory/group_vars/k8s_cluster/addons.yml +++ b/kubespray/inventory/group_vars/k8s_cluster/addons.yml @@ -4413,7 +4413,7 @@ releases: server.insecure: true secret: - argocdServerAdminPassword: $2a$10$fjTEgJLT1tC82Z8rxrnJBegIoLFXBvpbdbbCvqSONU34yD2w6H.wS + argocdServerAdminPassword: $2a$10$N3yN5AWSH6e7MfcQUt7/NOJpXacdWK1vPRiZPbzsUsMWNqCy9G8l6 repositories: # add default helm-repository from harbor