From 6b69bc42fe4190e4b6c069971e6785096389724b Mon Sep 17 00:00:00 2001 From: emaclee Date: Wed, 11 Feb 2026 14:13:38 +0000 Subject: [PATCH] Add postgres exporter for metrics visualisation Issue-ID: CPS-3139 Change-Id: I7ca0b6a0cb207ad1cd577f64cc47101733e88577 Signed-off-by: emaclee --- cps-charts/templates/postgresql-deployment.yaml | 12 ++++++++++++ cps-charts/templates/postgresql-exporter-service.yaml | 18 ++++++++++++++++++ cps-charts/values.yaml | 10 ++++++++++ 3 files changed, 40 insertions(+) create mode 100644 cps-charts/templates/postgresql-exporter-service.yaml diff --git a/cps-charts/templates/postgresql-deployment.yaml b/cps-charts/templates/postgresql-deployment.yaml index 0f565d55e4..c4d1f72f8d 100644 --- a/cps-charts/templates/postgresql-deployment.yaml +++ b/cps-charts/templates/postgresql-deployment.yaml @@ -18,6 +18,7 @@ spec: component: postgresql spec: containers: + # --- Main Postgres container --- - name: postgresql image: "{{ .Values.postgresql.image }}" ports: @@ -36,6 +37,17 @@ spec: {{- toYaml .Values.postgresql.livenessProbe | nindent 12 }} readinessProbe: {{- toYaml .Values.postgresql.readinessProbe | nindent 12 }} + + # --- Postgres Exporter sidecar --- + - name: postgres-exporter + image: quay.io/prometheuscommunity/postgres-exporter:latest + ports: + - containerPort: 9187 + name: metrics + env: + - name: DATA_SOURCE_NAME + value: "postgresql://{{ .Values.postgresql.env.POSTGRES_USER }}:{{ .Values.postgresql.env.POSTGRES_PASSWORD }}@localhost:5432/{{ .Values.postgresql.env.POSTGRES_DB }}?sslmode=disable" + volumes: - name: init-sql configMap: diff --git a/cps-charts/templates/postgresql-exporter-service.yaml b/cps-charts/templates/postgresql-exporter-service.yaml new file mode 100644 index 0000000000..ac5c9b99f1 --- /dev/null +++ b/cps-charts/templates/postgresql-exporter-service.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "cps-and-ncmp.release-name" . }}-postgres-exporter + namespace: {{ .Release.Namespace }} + labels: + app: {{ include "cps-and-ncmp.name" . }} + component: postgresql +spec: + type: NodePort + selector: + app: {{ include "cps-and-ncmp.name" . }} + component: postgresql + ports: + - port: 9187 + targetPort: 9187 + nodePort: 30187 + protocol: TCP diff --git a/cps-charts/values.yaml b/cps-charts/values.yaml index 76d26c92c6..d087ab5981 100644 --- a/cps-charts/values.yaml +++ b/cps-charts/values.yaml @@ -10,6 +10,16 @@ postgresql: cpu: "6000m" memory: "3Gi" servicePort: 5432 + extraContainers: + - name: postgres-exporter + image: quay.io/prometheuscommunity/postgres-exporter:latest + ports: + - containerPort: 9187 + name: metrics + env: + - name: DATA_SOURCE_NAME + value: "postgresql://cps:cps@localhost:5432/cpsdb?sslmode=disable" + env: POSTGRES_DB: "cpsdb" POSTGRES_USER: "cps" -- 2.16.6