flux-charts/mycloud-services/templates/postgresql/release.yaml

72 lines
2.5 KiB
YAML

---
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: OCIRepository
metadata:
name: "{{ .Release.Name }}-postgresql"
spec:
url: oci://codeberg.org/wrenix/helm-charts/postgresql
interval: 10m
ref:
semver: "^0.3.0"
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: "{{ .Release.Name }}-postgresql"
spec:
chartRef:
kind: OCIRepository
name: "{{ .Release.Name }}-postgresql"
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
valuesFrom:
- kind: Secret
name: {{.Release.Name }}-pgsql
values:
persistence:
size: {{ .Values.postgresql.persistence.size }}
{{- with .Values.postgresql.persistence.storageClass | default .Values.commons.persistence.storageClass }}
storageClass: {{ . }}
{{- end }}
{{- if .Values.commons.persistence.hostPath.enabled }}
hostPath: "{{ .Values.commons.persistence.hostPath.prefix }}/services/postgresql"
{{- end }}
postgres:
password: {{ .Values.postgresql.password | default (derivePassword 1 "long" .Values.commons.masterPassword "services" "postgresql_password") | quote }}
job:
databases:
{{- range $database, $config := .Values.databases }}
{{- if (eq $config.type "postgresql") }}
{{ $database }}:
owner: {{ $config.username | default $database }}
{{- with $config.additionalParams }}
additionalParams: {{ . | quote }}
{{- end }}
{{- end }}
{{- end }}
prometheus:
enabled: {{ (.Capabilities.APIVersions.Has "monitoring.coreos.com/v1/ServiceMonitor") }}
servicemonitor:
enabled: {{ (.Capabilities.APIVersions.Has "monitoring.coreos.com/v1/ServiceMonitor") }}
labels:
{{- toYaml .Values.commons.prometheus.monitor.labels | nindent 10 }}
rules:
enabled: {{ (.Capabilities.APIVersions.Has "monitoring.coreos.com/v1/PrometheusRule") }}
labels:
{{- toYaml .Values.commons.prometheus.rules.labels | nindent 10 }}
grafana:
dashboards:
enabled: true
labels:
{{- toYaml .Values.commons.grafana.dashboards.labels | nindent 10 }}
annotations:
{{- toYaml .Values.commons.grafana.dashboards.annotations | nindent 10 }}