joshuasing/starlink_exporter 0.9.0 (Docker Hub; ghcr.io lags behind upstream releases). Targets the dish's gRPC management interface at 192.168.100.1:9200, reachable from cluster pods via 10.0.15.254 while the Starlink router is in bypass mode. Grafana dashboard "Starlink" covers throughput, PoP ping latency/drop, obstruction state + 24h total, GPS lock, and dish position/info — synced to /var/lib/grafana/dashboards/ by the existing grafana role.
55 lines
1.5 KiB
YAML
55 lines
1.5 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: starlink-exporter
|
|
namespace: monitoring
|
|
labels:
|
|
app.kubernetes.io/name: starlink-exporter
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: starlink-exporter
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/name: starlink-exporter
|
|
spec:
|
|
securityContext:
|
|
runAsNonRoot: true
|
|
runAsUser: 65532
|
|
runAsGroup: 65532
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
containers:
|
|
- name: exporter
|
|
image: docker.io/joshuasing/starlink_exporter:0.9.0
|
|
# Defaults already match this network: -dish 192.168.100.1:9200,
|
|
# -listen :9451. Dish is reachable via 10.0.15.254 (home router)
|
|
# while the Starlink router is in bypass mode.
|
|
ports:
|
|
- name: metrics
|
|
containerPort: 9451
|
|
protocol: TCP
|
|
resources:
|
|
requests:
|
|
cpu: 10m
|
|
memory: 24Mi
|
|
limits:
|
|
memory: 96Mi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
readOnlyRootFilesystem: true
|
|
capabilities:
|
|
drop: ["ALL"]
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /metrics
|
|
port: metrics
|
|
periodSeconds: 15
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /metrics
|
|
port: metrics
|
|
periodSeconds: 30
|
|
failureThreshold: 5
|