readinessProbe/livenessProbe hit /metrics on top of Prometheus's own scrapes; exporter re-logs into actual_server on every call (no session reuse), tripped actual_server's login rate limit (too-many-requests). Switch probes to tcpSocket and stretch scrape interval to 5m.
40 lines
1.3 KiB
YAML
40 lines
1.3 KiB
YAML
image:
|
|
repository: docker.io/sakowicz/actual-budget-prometheus-exporter
|
|
tag: latest
|
|
pullPolicy: IfNotPresent
|
|
|
|
replicaCount: 1
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 3001
|
|
|
|
# actual_server is NOT in this cluster — it's a plain docker-compose
|
|
# container on the homelab host (see homelab-docker-compose-prod/actualbudget),
|
|
# published on the host LAN IP. Reach it the same way actual-http-api does.
|
|
env:
|
|
ACTUAL_SERVER_URL: "http://192.168.1.41:8002"
|
|
# ACTUAL_BUDGET_NAME_1: "" # optional, adds a friendly name to the prometheus label
|
|
|
|
# ACTUAL_PASSWORD, ACTUAL_BUDGET_ID_1, and ACTUAL_E2E_PASSWORD_1 are NOT set
|
|
# here — plaintext Actual credentials don't belong in a git-committed
|
|
# values.yaml. They're read from a Secret you create by hand once (see
|
|
# README.md), never committed. ACTUAL_E2E_PASSWORD_1 is required whenever the
|
|
# budget has E2E encryption enabled (exporter fails with "File ... is
|
|
# encrypted" otherwise) — leave the key empty in the Secret if it isn't.
|
|
secret:
|
|
name: actual-budget-exporter-secrets
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
limits:
|
|
memory: 128Mi
|
|
|
|
serviceMonitor:
|
|
enabled: true
|
|
# Each scrape does a full login against actual_server (no session reuse in
|
|
# this exporter) — kept long to avoid tripping its login rate limit.
|
|
interval: 5m
|