k8s: add T-Mobile Home Internet gateway prometheus exporter

Deploys tpaulus/tmobile-internet-exporter against the G4AR at
192.168.12.1, picked up by the existing kubernetes-services scrape
job via prometheus.io/scrape annotations on the Service.
This commit is contained in:
Graham McIntire 2026-05-10 17:30:19 -05:00
parent 88bdbbe88f
commit ebde695bfd
No known key found for this signature in database
GPG key ID: F4ABF488E6029E59
4 changed files with 91 additions and 0 deletions

View file

@ -0,0 +1,23 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: tmobile-exporter
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
source:
repoURL: https://codeberg.org/gmcintire/infra.git
targetRevision: main
path: home/cluster/tmobile-exporter
destination:
server: https://kubernetes.default.svc
namespace: monitoring
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true

View file

@ -0,0 +1,44 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: tmobile-exporter
namespace: monitoring
labels:
app.kubernetes.io/name: tmobile-exporter
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: tmobile-exporter
template:
metadata:
labels:
app.kubernetes.io/name: tmobile-exporter
spec:
containers:
- name: exporter
image: ghcr.io/tpaulus/tmobile-internet-exporter:main
imagePullPolicy: Always
args:
- -target=192.168.12.1
- -listen=:9099
ports:
- name: metrics
containerPort: 9099
protocol: TCP
resources:
requests:
cpu: 10m
memory: 16Mi
limits:
memory: 64Mi
securityContext:
runAsNonRoot: true
runAsUser: 65532
runAsGroup: 65532
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop: ["ALL"]
seccompProfile:
type: RuntimeDefault

View file

@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
- service.yaml

View file

@ -0,0 +1,19 @@
apiVersion: v1
kind: Service
metadata:
name: tmobile-exporter
namespace: monitoring
labels:
app.kubernetes.io/name: tmobile-exporter
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9099"
prometheus.io/job: tmobile_gateway
spec:
selector:
app.kubernetes.io/name: tmobile-exporter
ports:
- name: metrics
port: 9099
targetPort: metrics
protocol: TCP