From 772b8ceb57a618d491b549dfb72957250a7fbeb5 Mon Sep 17 00:00:00 2001 From: George Stykalin Date: Tue, 30 Apr 2024 21:52:53 +0300 Subject: [PATCH] add docker-secrets-generator installation --- config.yaml | 11 +++++++++-- .../inventory/group_vars/k8s_cluster/addons.yml | 16 +++++++++++++++- pkg/config/modules_additional.go | 6 ++++++ .../docker-secrets-generator.yml.tmpl | 14 ++++++++++++++ pkg/templates/templates.go | 1 + 5 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 pkg/resources/templates/helm-apps/releases/additional-modules/docker-secrets-generator.yml.tmpl diff --git a/config.yaml b/config.yaml index ee1024a..ef07af2 100644 --- a/config.yaml +++ b/config.yaml @@ -20,8 +20,6 @@ hosts: ip: "10.250.50.21" roles: [node] -default_registry: "" - orchestrator: version: v1.29.0 cluster_name: k8s-cluster.local @@ -268,6 +266,15 @@ modules: # type: metallb # install: true + # docker_secrets: + # repositories: + # - name: registry + # repository: registry.example.com + # username: admin + # password: admin + # namespaces: + # - default + storage: local_path_provisioner: storage_class_name: local-path diff --git a/kubespray/inventory/group_vars/k8s_cluster/addons.yml b/kubespray/inventory/group_vars/k8s_cluster/addons.yml index 65387ba..9475b06 100644 --- a/kubespray/inventory/group_vars/k8s_cluster/addons.yml +++ b/kubespray/inventory/group_vars/k8s_cluster/addons.yml @@ -239,6 +239,20 @@ repositories: releases: + - name: docker-secrets-generator + namespace: kube-system + chart_ref: kube-forge/docker-secrets-generator + chart_version: 0.1.0 + release_state: "present" + values: + repositories: + - name: registry + namespaces: + - default + password: admin + repository: registry.example.com + username: admin + - name: longhorn namespace: longhorn-system create_namespace: true @@ -4207,7 +4221,7 @@ releases: server.insecure: true secret: - argocdServerAdminPassword: $2a$10$hYIiOm53PvvR1Ft78n8scuiuh/p5GNLLE262HuSt3nWm5dxYPuYJW + argocdServerAdminPassword: $2a$10$x1v7bUZNu8ua7LIt5AISbe039/4D8kVUAgWvXyeZxmHJXs4V0TWhm repositories: # add default helm-repository from harbor diff --git a/pkg/config/modules_additional.go b/pkg/config/modules_additional.go index 9f7b348..e5a566f 100644 --- a/pkg/config/modules_additional.go +++ b/pkg/config/modules_additional.go @@ -39,6 +39,12 @@ type Additional struct { Install bool `yaml:"install"` } `yaml:"load_balancer"` + DockerSecrets struct { + ChartRef string `yaml:"chart_ref" env-default:"kube-forge/docker-secrets-generator"` + ChartVersion string `yaml:"chart_version" env-default:"0.1.0"` + Repositories interface{} `yaml:"repositories"` + } `yaml:"docker_secrets"` + Storage struct { LocalPathProvisioner struct { Enabled bool `yaml:"enabled"` diff --git a/pkg/resources/templates/helm-apps/releases/additional-modules/docker-secrets-generator.yml.tmpl b/pkg/resources/templates/helm-apps/releases/additional-modules/docker-secrets-generator.yml.tmpl new file mode 100644 index 0000000..d0f78eb --- /dev/null +++ b/pkg/resources/templates/helm-apps/releases/additional-modules/docker-secrets-generator.yml.tmpl @@ -0,0 +1,14 @@ +- name: docker-secrets-generator + namespace: kube-system + chart_ref: {{ .Modules.Additional.DockerSecrets.ChartRef }} + chart_version: {{ .Modules.Additional.DockerSecrets.ChartVersion }} + {{- if .Modules.Additional.DockerSecrets.Repositories }} + release_state: "present" + {{- else }} + release_state: "absent" + {{- end }} + values: + {{- if .Modules.Additional.DockerSecrets.Repositories }} + repositories: + {{- .Modules.Additional.DockerSecrets.Repositories | toYaml | nindent 6 }} + {{- end }} diff --git a/pkg/templates/templates.go b/pkg/templates/templates.go index c32977e..c1b699d 100644 --- a/pkg/templates/templates.go +++ b/pkg/templates/templates.go @@ -19,6 +19,7 @@ var K8S_TEMPLATES = [...][2]string{ } var HELM_APPS_TEMPLATES = [...]string{ + "templates/helm-apps/releases/additional-modules/docker-secrets-generator.yml.tmpl", "templates/helm-apps/releases/additional-modules/longhorn.yml.tmpl", "templates/helm-apps/releases/additional-modules/cert-manager.yml.tmpl", "templates/helm-apps/releases/additional-modules/ingress-nginx.yml.tmpl",