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.
60 lines
2.1 KiB
YAML
60 lines
2.1 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: {{ .Release.Name }}
|
|
spec:
|
|
replicas: {{ .Values.replicaCount }}
|
|
selector:
|
|
matchLabels:
|
|
app: {{ .Release.Name }}
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: {{ .Release.Name }}
|
|
spec:
|
|
containers:
|
|
- name: actual-budget-exporter
|
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
|
ports:
|
|
- name: metrics
|
|
containerPort: {{ .Values.service.port }}
|
|
env:
|
|
{{- range $k, $v := .Values.env }}
|
|
- name: {{ $k }}
|
|
value: {{ $v | quote }}
|
|
{{- end }}
|
|
- name: ACTUAL_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ .Values.secret.name }}
|
|
key: ACTUAL_PASSWORD
|
|
- name: ACTUAL_BUDGET_ID_1
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ .Values.secret.name }}
|
|
key: ACTUAL_BUDGET_ID_1
|
|
- name: ACTUAL_E2E_PASSWORD_1
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ .Values.secret.name }}
|
|
key: ACTUAL_E2E_PASSWORD_1
|
|
resources:
|
|
{{- toYaml .Values.resources | nindent 12 }}
|
|
# /metrics does a full login against actual_server on every hit
|
|
# (see actual-api-service.js: initializeApi() runs per getMetrics()
|
|
# call) — an httpGet probe against it every 10-20s was stacking on
|
|
# top of Prometheus's own scrapes and tripped actual_server's
|
|
# login-attempt rate limit ("too-many-requests"). Probe TCP only;
|
|
# let Prometheus be the sole thing that ever calls /metrics.
|
|
readinessProbe:
|
|
tcpSocket:
|
|
port: {{ .Values.service.port }}
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 10
|
|
livenessProbe:
|
|
tcpSocket:
|
|
port: {{ .Values.service.port }}
|
|
initialDelaySeconds: 15
|
|
periodSeconds: 20
|