fix(base): improve namespace (labels per component + reorganize)

This commit is contained in:
WrenIX 2023-12-20 00:18:58 +01:00
parent 70462cddfe
commit ae8d77589c
Signed by: wrenix
GPG key ID: 7AFDB012974B1BB5
5 changed files with 55 additions and 19 deletions

View file

@ -12,8 +12,9 @@ commons:
components: components:
infra-fluxcd: infra-fluxcd:
enabled: true enabled: true
namespace: "flux-system" namespace:
skip_namespace_create: true name: "flux-system"
skip_create: true
values: values:
grafana: grafana:
dashboards: dashboards:
@ -22,15 +23,18 @@ components:
infra-ingress: infra-ingress:
enabled: true enabled: true
namespace: "ingress" namespace:
name: "ingress"
infra-certificates: infra-certificates:
enabled: true enabled: true
namespace: "certificates" namespace:
name: "certificates"
infra-logging: infra-logging:
enabled: true enabled: true
namespace: "logging" namespace:
name: "logging"
values: values:
grafana: grafana:
dashboards: dashboards:
@ -39,11 +43,13 @@ components:
infra-monitoring: infra-monitoring:
enabled: true enabled: true
namespace: "monitoring" namespace:
name: "monitoring"
infra-trivy: infra-trivy:
enabled: true enabled: true
namespace: "monitoring-trivy" namespace:
name: "monitoring-trivy"
values: values:
grafana: grafana:
dashboards: dashboards:

View file

@ -24,8 +24,9 @@ commons:
components: components:
mycloud-services: mycloud-services:
enabled: true enabled: true
# current namespace
namespace: namespace:
# current namespace
name:
values: values:
databases: databases:
authentik: authentik:
@ -33,5 +34,6 @@ components:
mycloud-authentik: mycloud-authentik:
enabled: true enabled: true
# current namespace
namespace: namespace:
# current namespace
name:

View file

@ -1,7 +1,34 @@
commons: commons:
namespace:
labels:
common-label: "default"
helm: helm:
chart: chart:
sourceRef: sourceRef:
kind: GitRepository kind: GitRepository
name: wrenix-flux-charts name: wrenix-flux-charts
namespace: flux-system 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"

View file

@ -2,19 +2,20 @@
{{- range $name, $config := .Values.components }} {{- range $name, $config := .Values.components }}
{{- if and $config.enabled {{- if and $config.enabled
$config.namespace $config.namespace
(ne $config.namespace "") $config.namespace.name
(not (hasKey $depulicateNamespace $config.namespace)) (ne $config.namespace.name "")
(ne $config.namespace $.Release.Namespace) (not (hasKey $depulicateNamespace $config.namespace.name))
(not $config.skip_namespace_create) (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 apiVersion: v1
kind: Namespace kind: Namespace
metadata: metadata:
name: "{{ $config.namespace }}" name: "{{ $config.namespace.name }}"
labels: labels:
{{- toYaml $.Values.commons.namespace.labels | nindent 4 }} {{- $config.namespace.labels | default (dict) | mergeOverwrite $.Values.commons.namespace.labels | toYaml | nindent 4 }}
{{- end }} {{- end }}
{{- end }} {{- end }}

View file

@ -1,5 +1,5 @@
{{- range $name, $config := .Values.components }} {{- range $name, $config := .Values.components }}
{{- if $config.enabled }} {{- if ($config.enabled | default false) }}
{{- $name = $config.name | default $name }} {{- $name = $config.name | default $name }}
--- ---
apiVersion: helm.toolkit.fluxcd.io/v2beta1 apiVersion: helm.toolkit.fluxcd.io/v2beta1
@ -14,7 +14,7 @@ spec:
chart: "./{{ $name }}" chart: "./{{ $name }}"
reconcileStrategy: "Revision" reconcileStrategy: "Revision"
releaseName: "{{ $.Release.Name }}-{{ $name }}" releaseName: "{{ $.Release.Name }}-{{ $name }}"
targetNamespace: "{{ $config.namespace | default $.Release.Namespace }}" targetNamespace: "{{ ($config.namespace | default (dict)).name | default (dict) | default $.Release.Namespace }}"
install: install:
{{- toYaml $.Values.commons.helm.release.install | nindent 4 }} {{- toYaml $.Values.commons.helm.release.install | nindent 4 }}
test: test: