# Dynamic (file-provider) Traefik config for the OtOpcUa admin HTTP routing.
# Picked up by traefik.yml's file provider (with watch: true) so router/service
# edits hot-reload without a Traefik restart.

http:
  routers:
    otopcua-admin:
      entryPoints: ["web"]
      rule: "HostRegexp(`otopcua.*`)"
      service: otopcua-admin

  services:
    otopcua-admin:
      loadBalancer:
        servers:
          - url: "http://admin-a:9000"
          - url: "http://admin-b:9000"
        healthCheck:
          path: /health/active
          interval: 5s
          timeout: 2s
          # Default expected status is 2xx. Followers return 503 from
          # /health/active so Traefik will drop them from the balancer
          # within the next interval after a leadership change.
