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