about summary refs log tree commit diff
path: root/bundles/node-exporter
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2025-09-07 17:32:13 +0200
committerRobert Günzler <r@gnzler.io>2025-09-07 17:42:42 +0200
commit38be6c13f76e893cf47636257071b440dec0c5b2 (patch)
treef7ded3235a7e3362cbd1ed3d91523968fe0faf90 /bundles/node-exporter
initial commit
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to 'bundles/node-exporter')
-rw-r--r--bundles/node-exporter/files/kube.yaml63
-rw-r--r--bundles/node-exporter/items.py7
-rw-r--r--bundles/node-exporter/metadata.py8
3 files changed, 78 insertions, 0 deletions
diff --git a/bundles/node-exporter/files/kube.yaml b/bundles/node-exporter/files/kube.yaml
new file mode 100644
index 0000000..3e7678b
--- /dev/null
+++ b/bundles/node-exporter/files/kube.yaml
@@ -0,0 +1,63 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: node-exporter
+  labels:
+    traefik.enable: true
+    traefik.http.services.node-exporter.loadbalancer.server.port: 20091
+    # metrics
+    traefik.http.routers.node-exporter-metrics.entrypoints: metrics
+    traefik.http.routers.node-exporter-metrics.rule: Path(`/metrics/node-exporter`)
+    traefik.http.routers.node-exporter-metrics.middlewares: replacepath-metrics
+    traefik.http.routers.node-exporter-metrics.service: node-exporter
+spec:
+  restartPolicy: Never
+  dnsPolicy: Default
+  containers:
+  - name: node-exporter
+    image: quay.io/prometheus/node-exporter:v1.8.0
+    args:
+    - --path.procfs=/host/proc
+    - --path.sysfs=/host/sys
+    - --web.listen-address=:20091
+    - --no-collector.bcache
+    - --no-collector.selinux
+    - --no-collector.infiniband
+    - --no-collector.xfs
+    - --no-collector.zfs
+    - --collector.textfile.directory=/host/textfiles
+    volumeMounts:
+    - name: proc
+      mountPath: /host/proc
+      readOnly:  true
+    - name: sys
+      mountPath: /host/sys
+      readOnly: true
+    - name: textfiles
+      mountPath: /host/textfiles
+      readOnly: true
+    ports:
+    - containerPort: 20091
+      protocol: TCP
+    hostNetwork: true
+    hostPID: true
+    resources:
+      limits:
+        cpu: 10m
+        memory: 50Mi
+      requests:
+        cpu: 1m
+        memory: 10Mi
+  volumes:
+  - name: proc
+    hostPath:
+      path: /proc
+      type: Directory
+  - name: sys
+    hostPath:
+      path: /sys
+      type: Directory
+  - name: textfiles
+    hostPath:
+      path: /run/prom
+      type: DirectoryOrCreate
diff --git a/bundles/node-exporter/items.py b/bundles/node-exporter/items.py
new file mode 100644
index 0000000..263ac95
--- /dev/null
+++ b/bundles/node-exporter/items.py
@@ -0,0 +1,7 @@
+files = {
+    "/etc/deployments/node-exporter/kube.yaml": {
+        "content_type": "text",
+        "source": "kube.yaml",
+        "triggers": {"svc_s6rc:node-exporter:restart"},
+    },
+}
diff --git a/bundles/node-exporter/metadata.py b/bundles/node-exporter/metadata.py
new file mode 100644
index 0000000..7b60c10
--- /dev/null
+++ b/bundles/node-exporter/metadata.py
@@ -0,0 +1,8 @@
+defaults = {
+    "containers": {
+        "node-exporter": {},
+    },
+    "metrics": {
+        "node-exporter": {},
+    },
+}