Files
tools/plausible/kustomization.yaml
T
arcodangeandClaude Opus 5 adc4aeebaf
Helm Charts / Detect changed charts (push) Successful in 12s
Helm Charts / Library charts tool (push) Skipped
Helm Charts / Application charts alloy (push) Skipped
Helm Charts / Application charts chart (push) Skipped
Helm Charts / Application charts crowdsec (push) Skipped
Helm Charts / Application charts grafana (push) Skipped
Helm Charts / Application charts hashicorp-vault (push) Skipped
Helm Charts / Application charts loki (push) Skipped
Helm Charts / Application charts minio (push) Skipped
Helm Charts / Application charts pgbouncer (push) Skipped
Helm Charts / Application charts pgcat (push) Skipped
Helm Charts / Application charts prometheus (push) Skipped
Helm Charts / Application charts redis (push) Skipped
Plausible attend la fin de son démarrage et évite pi2 : il y était tué par sa sonde de vivacité avant d'avoir démarré (#55)
startupProbe patiente sur /api/health (10 min, délai 5 s), posée par patch kustomize, et affinité requise NotIn [pi2]. Rendu kustomize avant/après : seuls ces deux blocs changent.

Refs arcodange-org/tools#53

Co-Authored-By: Claude Opus 5 <[email protected]>
Co-authored-by: Gabriel Radureau <[email protected]>
2026-09-15 14:01:21 +02:00

106 lines
3.3 KiB
YAML

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: tools
# https://kubectl.docs.kubernetes.io/references/kustomize/builtins/#_helmchartinflationgenerator_
helmCharts:
- name: plausible
repo: https://charts.pascaliske.dev
version: 2.0.0
releaseName: plausible
valuesFile: plausibleValues.yaml
namespace: tools
patches:
- target:
kind: IngressRoute
name: plausible-route
patch: |-
- op: add
path: /spec/tls
value:
certResolver: letsencrypt
domains:
- main: arcodange.lab
sans:
- analytics.arcodange.lab
resources:
- resources/vaultauth.yaml
- resources/vaultdynamicsecret.yaml
- resources/vaultsecret.yaml
- resources/configmap.yaml
- resources/geoipsecret.yaml
- resources/ingressroute.yaml
patchesJson6902:
- target:
version: v1
kind: Deployment
name: plausible
patch: |-
- op: replace
path: /spec/template/spec/containers/1/env/2
value:
name: GEOIPUPDATE_LICENSE_KEY
valueFrom:
secretKeyRef:
name: plausible-geoip
key: LICENSE_KEY
- op: replace
path: /spec/template/spec/containers/1/env/4
value:
name: GEOIPUPDATE_EDITION_IDS
value: "GeoLite2-Country GeoLite2-City"
- op: add
path: /spec/template/spec/containers/0/env/2
value:
name: IP_GEOLOCATION_DB
value: /geoip/GeoLite2-City.mmdb
- op: add
path: /spec/template/spec/volumes/-
value:
name: generated-secrets
emptyDir:
medium: Memory
- op: add
path: /spec/template/spec/containers/0/envFrom
value:
- configMapRef:
name: plausible-config
- op: add
path: /spec/template/spec/initContainers/0/envFrom
value:
- configMapRef:
name: plausible-config
- op: replace
path: /spec/template/spec/initContainers/0/args
value:
- >-
sleep 10 && /entrypoint.sh db migrate
# ── SONDE DE DÉMARRAGE PATIENTE (tools#53, même forme que Loki, #45) ──
#
# Le chart pascaliske 2.0.0 n'expose aucune sonde dans ses valeurs : il
# écrit `livenessProbe`/`readinessProbe` sur `/api/health` avec les
# défauts de Kubernetes — délai 1 s, 3 échecs, AUCUNE sonde de
# démarrage. Mesuré le 2026-09-15 : placé sur un pi2 chargé, Plausible
# était tué par la vivacité ~56 s après chaque départ (code 137), sans
# une ligne de journal, 13 fois en 30 min — il n'avait pas fini de
# démarrer. Une `startupProbe` tient la phase de démarrage (jusqu'à
# 10 min) ; la vivacité et la disponibilité, inchangées, ne prennent le
# relais qu'une fois le démarrage acquis.
# ⚠ Conteneur 0 = `plausible` (1 = `geoip`), comme les patchs ci-dessus.
- op: add
path: /spec/template/spec/containers/0/startupProbe
value:
httpGet:
path: /api/health
port: http
periodSeconds: 10
failureThreshold: 60 # 10 min pour démarrer, puis on abandonne
timeoutSeconds: 5
- target:
version: v1
kind: Deployment
name: plausible
path: add-initcontainer.yaml