From ae8d77589c43380810baf6cdd66ff452c45a9b06 Mon Sep 17 00:00:00 2001 From: WrenIX Date: Wed, 20 Dec 2023 00:18:58 +0100 Subject: [PATCH] fix(base): improve namespace (labels per component + reorganize) --- base-values/infra.yaml | 20 +++++++++++++------- base-values/mycloud-core.yaml | 8 +++++--- base/ci/ct-values.yaml | 27 +++++++++++++++++++++++++++ base/templates/namespace.yaml | 15 ++++++++------- base/templates/release.yaml | 4 ++-- 5 files changed, 55 insertions(+), 19 deletions(-) diff --git a/base-values/infra.yaml b/base-values/infra.yaml index ce85121..eb350db 100644 --- a/base-values/infra.yaml +++ b/base-values/infra.yaml @@ -12,8 +12,9 @@ commons: components: infra-fluxcd: enabled: true - namespace: "flux-system" - skip_namespace_create: true + namespace: + name: "flux-system" + skip_create: true values: grafana: dashboards: @@ -22,15 +23,18 @@ components: infra-ingress: enabled: true - namespace: "ingress" + namespace: + name: "ingress" infra-certificates: enabled: true - namespace: "certificates" + namespace: + name: "certificates" infra-logging: enabled: true - namespace: "logging" + namespace: + name: "logging" values: grafana: dashboards: @@ -39,11 +43,13 @@ components: infra-monitoring: enabled: true - namespace: "monitoring" + namespace: + name: "monitoring" infra-trivy: enabled: true - namespace: "monitoring-trivy" + namespace: + name: "monitoring-trivy" values: grafana: dashboards: diff --git a/base-values/mycloud-core.yaml b/base-values/mycloud-core.yaml index 2315db3..7293f77 100644 --- a/base-values/mycloud-core.yaml +++ b/base-values/mycloud-core.yaml @@ -24,8 +24,9 @@ commons: components: mycloud-services: enabled: true - # current namespace namespace: + # current namespace + name: values: databases: authentik: @@ -33,5 +34,6 @@ components: mycloud-authentik: enabled: true - # current namespace - namespace: \ No newline at end of file + namespace: + # current namespace + name: diff --git a/base/ci/ct-values.yaml b/base/ci/ct-values.yaml index a4e55e1..b9c7441 100644 --- a/base/ci/ct-values.yaml +++ b/base/ci/ct-values.yaml @@ -1,7 +1,34 @@ commons: + namespace: + labels: + common-label: "default" + helm: chart: sourceRef: kind: GitRepository name: wrenix-flux-charts namespace: flux-system + +components: + test-default-namespace: + enabled: true + test-namespace: + enabled: true + namespace: + name: "test-namespace" + test-namespace-labels: + enabled: true + namespace: + name: "test-namespace-labels" + labels: + component-label: "test-namespace-labels" + test-namespace-skip-create: + enabled: true + namespace: + name: "test-namespace-skip-create" + skip_create: true + test-namespace-duplicate: + enabled: true + namespace: + name: "test-namespace" diff --git a/base/templates/namespace.yaml b/base/templates/namespace.yaml index 79a1c08..d0400f0 100644 --- a/base/templates/namespace.yaml +++ b/base/templates/namespace.yaml @@ -2,19 +2,20 @@ {{- range $name, $config := .Values.components }} {{- if and $config.enabled $config.namespace - (ne $config.namespace "") - (not (hasKey $depulicateNamespace $config.namespace)) - (ne $config.namespace $.Release.Namespace) - (not $config.skip_namespace_create) + $config.namespace.name + (ne $config.namespace.name "") + (not (hasKey $depulicateNamespace $config.namespace.name)) + (ne $config.namespace.name $.Release.Namespace) + (not $config.namespace.skip_create) }} -{{ $depulicateNamespace = set $depulicateNamespace $config.namespace true }} +{{ $depulicateNamespace = set $depulicateNamespace $config.namespace.name true }} --- apiVersion: v1 kind: Namespace metadata: - name: "{{ $config.namespace }}" + name: "{{ $config.namespace.name }}" labels: - {{- toYaml $.Values.commons.namespace.labels | nindent 4 }} + {{- $config.namespace.labels | default (dict) | mergeOverwrite $.Values.commons.namespace.labels | toYaml | nindent 4 }} {{- end }} {{- end }} diff --git a/base/templates/release.yaml b/base/templates/release.yaml index 06c72cf..dd5f6f2 100644 --- a/base/templates/release.yaml +++ b/base/templates/release.yaml @@ -1,5 +1,5 @@ {{- range $name, $config := .Values.components }} -{{- if $config.enabled }} +{{- if ($config.enabled | default false) }} {{- $name = $config.name | default $name }} --- apiVersion: helm.toolkit.fluxcd.io/v2beta1 @@ -14,7 +14,7 @@ spec: chart: "./{{ $name }}" reconcileStrategy: "Revision" releaseName: "{{ $.Release.Name }}-{{ $name }}" - targetNamespace: "{{ $config.namespace | default $.Release.Namespace }}" + targetNamespace: "{{ ($config.namespace | default (dict)).name | default (dict) | default $.Release.Namespace }}" install: {{- toYaml $.Values.commons.helm.release.install | nindent 4 }} test: