diff --git a/apps/k8s01/gitlab-runner/hcloud-exporter.yaml b/apps/k8s01/gitlab-runner/hcloud-exporter.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..5dd40fa050a652feea8d525efe072c406d7eb35f
--- /dev/null
+++ b/apps/k8s01/gitlab-runner/hcloud-exporter.yaml
@@ -0,0 +1,75 @@
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: HelmRepository
+metadata:
+  name: hcloud-exporter
+  namespace: gitlab-runner
+spec:
+  interval: 30m
+  url: https://promhippie.github.io/charts
+---
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+  name: hcloud-exporter
+  namespace: gitlab-runner
+spec:
+  serviceAccountName: flux-reconciler
+  timeout: 15m
+  releaseName: hcloud-exporter
+  chart:
+    spec:
+      chart: hcloud-exporter
+      sourceRef:
+        kind: HelmRepository
+        name: hcloud-exporter
+        namespace: gitlab-runner
+      version: 2.1.1
+  interval: 5m
+  install:
+    remediation:
+      retries: -1
+  upgrade:
+    remediation:
+      retries: -1
+  values:
+    collector:
+      floatingIps: false
+      loadBalancers: false
+      serverMetrics: false
+      volumes: true
+    config:
+      existingSecret: hcloud-dynfw-conf
+      tokenKey: HCLOUD_TOKEN
+    serviceMonitor:
+      enabled: true
+    prometheusRule:
+      enabled: true
+      rules:
+        - alert: HcloudCIProjectOver115ServerMinutes
+          annotations:
+            description: There are servers active for almost 2 hours consecutively. This is probobably due toe imporper cleanup of CI instances.
+            summary: There are servers active for almost 2 hours consecutively.
+          expr: sum_over_time(sum(hcloud_server_created_timestamp * 0 + 1)[2h:1m]) >= 115
+          for: 5m
+          labels:
+            severity: critical
+---
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+  name: allow-from-monitoring-to-hcloud-exporter
+spec:
+  policyTypes:
+  - Ingress
+  ingress:
+  - from:
+    - namespaceSelector:
+        matchLabels:
+          monitoring.shivering-isles.com/network-access-required: "true"
+      podSelector:
+        matchLabels:
+          app.kubernetes.io/name: prometheus
+  podSelector:
+    matchLabels:
+      app.kubernetes.io/name: hcloud-exporter
+      app.kubernetes.io/instance: hcloud-exporter
diff --git a/apps/k8s01/gitlab-runner/kustomization.yaml b/apps/k8s01/gitlab-runner/kustomization.yaml
index 78eb7a5a0a2319cec54613fdd484ad7141a823d8..013e0f2e9de5dc9d46be1fec16fdfafc2b4533e7 100644
--- a/apps/k8s01/gitlab-runner/kustomization.yaml
+++ b/apps/k8s01/gitlab-runner/kustomization.yaml
@@ -8,4 +8,5 @@ resources:
   - hetzner-runner-secrets.yaml
   - hcloud-dynfw.yaml
   - hcloud-dynfw-secrets.yaml
+  - hcloud-exporter.yaml
   - resourcequota.yaml