# k8s/middleware-retry.yaml # ============================================ # Armature Core - Traefik Retry Middleware # ============================================ # Retries failed requests (502, connection reset) once before giving up. # Applies to API + WebSocket paths via the Ingress annotation. # # Why: After a heavy provider model sync (100+ DB upserts), the Go # process may briefly delay responses. Traefik sees a stale keepalive # connection or a slow initial byte and returns 502. A single retry # on a fresh connection resolves it transparently. # # This is applied per-environment (${DEPLOY_SUFFIX} ensures isolation). # ============================================ apiVersion: traefik.io/v1alpha1 kind: Middleware metadata: name: armature-retry${DEPLOY_SUFFIX} namespace: ${NAMESPACE} labels: app: armature env: ${ENVIRONMENT} spec: retry: attempts: 2 initialInterval: 100ms