feat: driftDetection (+ cleanup interval)

This commit is contained in:
WrenIX 2023-12-21 11:28:05 +01:00
parent 446ca33ce2
commit 226d0c88dd
Signed by: wrenix
GPG key ID: 7AFDB012974B1BB5
34 changed files with 71 additions and 40 deletions

View file

@ -11,6 +11,8 @@ commons:
remediation:
retries: -1
crds: CreateReplace
driftDetection:
mode: enabled
ingress:
domain: "wrenix.eu"

View file

@ -2,7 +2,7 @@
{{- if ($config.enabled | default false) }}
{{- $componentName := $config.name | default $componentInstance }}
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: "{{ $.Release.Name }}-{{ $componentInstance }}"
@ -21,6 +21,8 @@ spec:
{{- toYaml $.Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml $.Values.commons.helm.release.upgrade | nindent 4 }}
driftDetection:
{{- toYaml $.Values.commons.helm.release.driftDetection | nindent 4 }}
interval: {{ $.Values.componentCommons.helm.release.interval }}
valuesFrom:
- kind: ConfigMap

View file

@ -9,6 +9,7 @@ commons:
install: {}
test: {}
upgrade: {}
driftDetection: {}
componentCommons:
helm:

View file

@ -1,5 +1,5 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: cert-manager
@ -10,13 +10,14 @@ spec:
kind: HelmRepository
name: jetstack
chart: cert-manager
interval: 10m
install:
{{- toYaml .Values.commons.helm.release.install | nindent 4 }}
test:
{{- toYaml .Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml .Values.commons.helm.release.upgrade | nindent 4 }}
driftDetection:
{{- toYaml .Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
values:
installCRDs: true

View file

@ -5,4 +5,4 @@ metadata:
name: jetstack
spec:
url: https://charts.jetstack.io
interval: 10m0s
interval: 10m

View file

@ -8,6 +8,8 @@ commons:
install: {}
test: {}
upgrade: {}
driftDetection: {}
prometheus:
monitor:
labels: {}

View file

@ -1,6 +1,6 @@
{{- if (eq .Values.controller "traefik") }}
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: traefik
@ -11,13 +11,14 @@ spec:
kind: HelmRepository
name: traefik
chart: traefik
interval: 30m
install:
{{- toYaml .Values.commons.helm.release.install | nindent 4 }}
test:
{{- toYaml .Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml .Values.commons.helm.release.upgrade | nindent 4 }}
driftDetection:
{{- toYaml .Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
values:
deployment:

View file

@ -6,5 +6,5 @@ metadata:
name: traefik
spec:
url: https://helm.traefik.io/traefik
interval: 12h
interval: 10m
{{- end }}

View file

@ -8,6 +8,7 @@ commons:
install: {}
test: {}
upgrade: {}
driftDetection: {}
ingress:
domain: "wrenix.eu"

View file

@ -1,5 +1,5 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: logging-operator
@ -10,13 +10,14 @@ spec:
kind: HelmRepository
name: kube-logging
chart: logging-operator
interval: 10m
install:
{{- toYaml .Values.commons.helm.release.install | nindent 4 }}
test:
{{- toYaml .Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml .Values.commons.helm.release.upgrade | nindent 4 }}
driftDetection:
{{- toYaml .Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
values:
monitoring:

View file

@ -6,4 +6,4 @@ metadata:
spec:
url: oci://ghcr.io/kube-logging/helm-charts
type: oci
interval: 10m0s
interval: 10m

View file

@ -1,6 +1,6 @@
{{- if .Values.loki.enabled }}
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: loki
@ -11,13 +11,14 @@ spec:
kind: HelmRepository
name: grafana
chart: loki
interval: 10m
install:
{{- toYaml .Values.commons.helm.release.install | nindent 4 }}
test:
{{- toYaml .Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml .Values.commons.helm.release.upgrade | nindent 4 }}
driftDetection:
{{- toYaml .Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
values:
singleBinary:

View file

@ -6,5 +6,5 @@ metadata:
name: grafana
spec:
url: https://grafana.github.io/helm-charts
interval: 10m0s
interval: 10m
{{- end }}

View file

@ -8,6 +8,7 @@ commons:
install: {}
test: {}
upgrade: {}
driftDetection: {}
grafana:
datasource:

View file

@ -3,7 +3,7 @@
.Values.alertmanager.ingress.enabled
}}
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: authentik-application-alertmanager
@ -16,7 +16,6 @@ spec:
namespace: "flux-system"
chart: "./authentik-application"
reconcileStrategy: "Revision"
interval: 10m
releaseName: authentik-application-infra-alertmanager
targetNamespace: {{ .Values.commons.auth.namespace }}
install:
@ -25,6 +24,8 @@ spec:
{{- toYaml .Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml .Values.commons.helm.release.upgrade | nindent 4 }}
driftDetection:
{{- toYaml .Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
values:
{{- $domain := .Values.alertmanager.ingress.host | default (printf "alertmanager.%s" .Values.commons.ingress.domain) }}

View file

@ -1,7 +1,7 @@
{{- with .Values.alertmanager.receiver.matrix }}
{{- if .enabled }}
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: "alertmanager-matrix"
@ -20,7 +20,9 @@ spec:
{{- toYaml $.Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml $.Values.commons.helm.release.upgrade | nindent 4 }}
interval: 5m
driftDetection:
{{- toYaml $.Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
valuesFrom:
- kind: Secret
name: "global-alertmanager-matrix-token"

View file

@ -1,7 +1,7 @@
{{- with .Values.alertmanager.receiver.ntfy }}
{{- if .enabled }}
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: "alertmanager-ntfy"
@ -20,7 +20,9 @@ spec:
{{- toYaml $.Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml $.Values.commons.helm.release.upgrade | nindent 4 }}
interval: 5m
driftDetection:
{{- toYaml $.Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
valuesFrom:
- kind: Secret
name: "global-alertmanager-ntfy-auth"

View file

@ -11,13 +11,14 @@ spec:
kind: HelmRepository
name: "prometheus-community"
chart: "prometheus-blackbox-exporter"
interval: 10m
install:
{{- toYaml .Values.commons.helm.release.install | nindent 4 }}
test:
{{- toYaml .Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml .Values.commons.helm.release.upgrade | nindent 4 }}
driftDetection:
{{- toYaml .Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
values:

View file

@ -3,7 +3,7 @@
.Values.grafana.ingress.enabled
}}
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: authentik-application-grafana
@ -16,7 +16,6 @@ spec:
namespace: "flux-system"
chart: "./authentik-application"
reconcileStrategy: "Revision"
interval: 10m
releaseName: authentik-application-infra-grafana
targetNamespace: {{ .Values.commons.auth.namespace }}
install:
@ -25,6 +24,8 @@ spec:
{{- toYaml .Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml .Values.commons.helm.release.upgrade | nindent 4 }}
driftDetection:
{{- toYaml .Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
values:
{{- $url := default (printf "grafana.%s" .Values.commons.ingress.domain) .Values.grafana.ingress.host }}

View file

@ -3,7 +3,7 @@
.Values.karma.enabled
}}
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: authentik-application-karma
@ -16,7 +16,6 @@ spec:
namespace: "flux-system"
chart: "./authentik-application"
reconcileStrategy: "Revision"
interval: 10m
releaseName: authentik-application-infra-karma
targetNamespace: {{ .Values.commons.auth.namespace }}
install:
@ -25,6 +24,8 @@ spec:
{{- toYaml .Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml .Values.commons.helm.release.upgrade | nindent 4 }}
driftDetection:
{{- toYaml .Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
values:
{{- $domain := .Values.karma.ingress.host | default (printf "karma.%s" .Values.commons.ingress.domain) }}

View file

@ -1,6 +1,6 @@
{{- if .Values.karma.enabled }}
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: karma
@ -11,13 +11,14 @@ spec:
kind: HelmRepository
name: "wiremind"
chart: "karma"
interval: 10m
install:
{{- toYaml .Values.commons.helm.release.install | nindent 4 }}
test:
{{- toYaml .Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml .Values.commons.helm.release.upgrade | nindent 4 }}
driftDetection:
{{- toYaml .Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
values:
configMap:

View file

@ -5,4 +5,4 @@ metadata:
name: wiremind
spec:
url: https://wiremind.github.io/wiremind-helm-charts
interval: 10m0s
interval: 10m

View file

@ -1,5 +1,5 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: kube-prometheus-stack
@ -10,13 +10,14 @@ spec:
kind: HelmRepository
name: "prometheus-community"
chart: "kube-prometheus-stack"
interval: 10m
install:
{{- toYaml .Values.commons.helm.release.install | nindent 4 }}
test:
{{- toYaml .Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml .Values.commons.helm.release.upgrade | nindent 4 }}
driftDetection:
{{- toYaml .Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
values:
commonLabels:

View file

@ -3,7 +3,7 @@
.Values.prometheus.ingress.enabled
}}
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: authentik-application-prometheus
@ -16,7 +16,6 @@ spec:
namespace: "flux-system"
chart: "./authentik-application"
reconcileStrategy: "Revision"
interval: 10m
releaseName: authentik-application-infra-prometheus
targetNamespace: {{ .Values.commons.auth.namespace }}
install:
@ -25,6 +24,8 @@ spec:
{{- toYaml .Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml .Values.commons.helm.release.upgrade | nindent 4 }}
driftDetection:
{{- toYaml .Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
values:
{{- $domain := .Values.prometheus.ingress.host | default (printf "prometheus.%s" .Values.commons.ingress.domain) }}

View file

@ -5,4 +5,4 @@ metadata:
name: prometheus-community
spec:
url: https://prometheus-community.github.io/helm-charts/
interval: 10m0s
interval: 10m

View file

@ -18,6 +18,7 @@ commons:
install: {}
test: {}
upgrade: {}
driftDetection: {}
ingress:
domain: "wrenix.eu"

View file

@ -1,5 +1,5 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: trivy-operator
@ -11,13 +11,14 @@ spec:
name: "aqua"
chart: "trivy-operator"
version: "0.18.4"
interval: 10m
install:
{{- toYaml .Values.commons.helm.release.install | nindent 4 }}
test:
{{- toYaml .Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml .Values.commons.helm.release.upgrade | nindent 4 }}
driftDetection:
{{- toYaml .Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
postRenderers:
- kustomize:

View file

@ -5,4 +5,4 @@ metadata:
name: aqua
spec:
url: https://aquasecurity.github.io/helm-charts/
interval: 10m0s
interval: 10m

View file

@ -8,6 +8,7 @@ commons:
install: {}
test: {}
upgrade: {}
driftDetection: {}
prometheus:
alertmanager:

View file

@ -1,5 +1,5 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: "{{ .Release.Name }}-hr"
@ -10,13 +10,14 @@ spec:
kind: HelmRepository
name: "authentik"
chart: "authentik"
interval: 10m
install:
{{- toYaml .Values.commons.helm.release.install | nindent 4 }}
test:
{{- toYaml .Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml .Values.commons.helm.release.upgrade | nindent 4 }}
driftDetection:
{{- toYaml .Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
values:
authentik:

View file

@ -5,4 +5,4 @@ metadata:
name: authentik
spec:
url: https://charts.goauthentik.io
interval: 10m0s
interval: 10m

View file

@ -22,6 +22,7 @@ commons:
install: {}
test: {}
upgrade: {}
driftDetection: {}
ingress:
domain: "wrenix.eu"

View file

@ -1,5 +1,5 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: mycloud-services-postgresql
@ -12,7 +12,6 @@ spec:
namespace: "flux-system"
chart: "./postgresql"
reconcileStrategy: "Revision"
interval: 10m
releaseName: mycloud-services-postgresql
install:
{{- toYaml .Values.commons.helm.release.install | nindent 4 }}
@ -20,6 +19,8 @@ spec:
{{- toYaml .Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml .Values.commons.helm.release.upgrade | nindent 4 }}
driftDetection:
{{- toYaml .Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
valuesFrom:
- kind: Secret

View file

@ -12,6 +12,7 @@ commons:
install: {}
test: {}
upgrade: {}
driftDetection: {}
postgresql:
persistence: