Files
tools/plausible/kustomization.yaml
T
arcodangeandClaude Opus 5 7ffaa11deb
Helm Charts / Detect changed charts (pull_request) Successful in 37s
Helm Charts / Library charts tool (pull_request) Skipped
Helm Charts / Application charts alloy (pull_request) Skipped
Helm Charts / Application charts chart (pull_request) Skipped
Helm Charts / Application charts crowdsec (pull_request) Skipped
Helm Charts / Application charts grafana (pull_request) Skipped
Helm Charts / Application charts hashicorp-vault (pull_request) Skipped
Helm Charts / Application charts loki (pull_request) Skipped
Helm Charts / Application charts minio (pull_request) Skipped
Helm Charts / Application charts pgbouncer (pull_request) Skipped
Helm Charts / Application charts pgcat (pull_request) Skipped
Helm Charts / Application charts prometheus (pull_request) Skipped
Helm Charts / Application charts redis (pull_request) 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é
Le 2026-09-15, la révision créée par la rotation de ses identifiants de
base a été placée sur pi2. Depuis 11:08Z, le conteneur était tué par la
sonde de vivacité (délai 1 s, 3 échecs, aucune sonde de démarrage) ~56 s
après chaque départ, code 137, sans une ligne de journal.

- une startupProbe patiente sur /api/health (10 min, délai 5 s), posée par
  patch kustomize : le chart pascaliske 2.0.0 n'expose pas les sondes ;
- une affinité requise NotIn [pi2], même forme que ClickHouse (#54).

Rendu kustomize --enable-helm avant/après : seuls ces deux blocs changent.

Refs arcodange-org/tools#53

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-15 13:59:46 +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