feat(instance): IngressRoute uses tenants-default-retry + tighter readiness probe

This commit is contained in:
OdooSky v3
2026-05-05 12:13:16 +02:00
parent 5fc75edafb
commit aca1e67fd9
2 changed files with 14 additions and 1 deletions

View File

@@ -58,6 +58,13 @@ spec:
routes: routes:
- match: Host(`{{ .Values.instance.domain }}`) - match: Host(`{{ .Values.instance.domain }}`)
kind: Rule kind: Rule
# Cluster-level middleware (defined in cluster-platform-v3,
# same `tenants` namespace as this IngressRoute). Adds a
# bounded retry budget so transient Pod-not-ready windows
# during an Odoo restart don't surface as Traefik's default
# 404 to the customer. TLS-related fields below are unchanged.
middlewares:
- name: tenants-default-retry
services: services:
- name: {{ include "instance.fullname" . }}-odoo - name: {{ include "instance.fullname" . }}-odoo
port: 8069 port: 8069

View File

@@ -250,13 +250,19 @@ spec:
# /web/login is the most stable health endpoint across Odoo # /web/login is the most stable health endpoint across Odoo
# 16/17/18/19 — /web/health is 17+. Use login HTTP 200 as # 16/17/18/19 — /web/health is 17+. Use login HTTP 200 as
# readiness signal. # readiness signal.
#
# 5s period so K8s catches an Odoo restart (addon install
# via the Apps menu can trigger one) within a single probe
# cycle and pulls the Pod from Endpoints — paired with the
# Traefik retry middleware that swallows the brief gap.
readinessProbe: readinessProbe:
httpGet: httpGet:
path: /web/login path: /web/login
port: 8069 port: 8069
initialDelaySeconds: 30 initialDelaySeconds: 30
periodSeconds: 10 periodSeconds: 5
timeoutSeconds: 5 timeoutSeconds: 5
failureThreshold: 2
livenessProbe: livenessProbe:
tcpSocket: tcpSocket:
port: 8069 port: 8069