From 807a8db1de9ad339b88d6f79db8980491c660603 Mon Sep 17 00:00:00 2001
From: Laszlo Rafael <rlacko99@gmail.com>
Date: Sun, 21 Aug 2022 20:51:28 +0200
Subject: [PATCH] Add external endpoints to prom chart and add harbor

---
 .../templates/external-endpoints.yaml         | 53 +++++++++++++++++++
 .../kube-prometheus-stack/values.yaml         |  7 +++
 2 files changed, 60 insertions(+)
 create mode 100644 infra/monitoring/kube-prometheus-stack/templates/external-endpoints.yaml

diff --git a/infra/monitoring/kube-prometheus-stack/templates/external-endpoints.yaml b/infra/monitoring/kube-prometheus-stack/templates/external-endpoints.yaml
new file mode 100644
index 0000000..0c5d713
--- /dev/null
+++ b/infra/monitoring/kube-prometheus-stack/templates/external-endpoints.yaml
@@ -0,0 +1,53 @@
+{{- $dot := . }}
+
+{{- range .Values.externalEndpoints }}
+apiVersion: v1
+kind: Endpoints
+metadata:
+  name: external-endpoint-{{ .name }}
+  labels:
+    {{- include "monitoring.labels" $dot | nindent 4 }}
+subsets:
+- addresses:
+  - ip: {{ .address }}
+  ports:
+  - name: metrics
+    port: {{ .port }}
+    protocol: TCP
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: external-endpoint-{{ .name }}
+  labels:
+    {{- include "monitoring.labels" $dot | nindent 4 }}
+    endpoint: external-endpoint-{{ .name }}
+spec:
+  type: ExternalName
+  externalName: {{ .externalName }}
+  ports:
+  - name: metrics
+    port: {{ .port }}
+    protocol: TCP
+    targetPort: {{ .port }}
+
+---
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  name: external-endpoint-{{ .name }}
+  labels:
+    {{- include "monitoring.labels" $dot | nindent 4 }}
+spec:
+  selector:
+    matchLabels:
+      {{- include "monitoring.selectorLabels" $dot | nindent 6 }}
+      endpoint: external-endpoint-{{ .name }}
+  endpoints:
+  - port: metrics
+    interval: {{ .interval }}
+    honorLabels: true
+
+---
+{{- end }}
\ No newline at end of file
diff --git a/infra/monitoring/kube-prometheus-stack/values.yaml b/infra/monitoring/kube-prometheus-stack/values.yaml
index c4aeb9e..0413807 100644
--- a/infra/monitoring/kube-prometheus-stack/values.yaml
+++ b/infra/monitoring/kube-prometheus-stack/values.yaml
@@ -1,3 +1,10 @@
+externalEndpoints:
+  - name: harbor
+    externalName: harbor.sch.bme.hu
+    address: 152.66.208.19
+    port: 9100
+    interval: 30s
+
 kube-prometheus-stack:
   kubeEtcd:
     service:
-- 
GitLab