Add postgres exporter for metrics visualisation 62/143162/1
authoremaclee <lee.anjella.macabuhay@est.tech>
Wed, 11 Feb 2026 14:13:38 +0000 (14:13 +0000)
committeremaclee <lee.anjella.macabuhay@est.tech>
Wed, 11 Feb 2026 14:13:38 +0000 (14:13 +0000)
Issue-ID: CPS-3139
Change-Id: I7ca0b6a0cb207ad1cd577f64cc47101733e88577
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
cps-charts/templates/postgresql-deployment.yaml
cps-charts/templates/postgresql-exporter-service.yaml [new file with mode: 0644]
cps-charts/values.yaml

index 0f565d5..c4d1f72 100644 (file)
@@ -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 (file)
index 0000000..ac5c9b9
--- /dev/null
@@ -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
index 76d26c9..d087ab5 100644 (file)
@@ -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"