[global]
  checkNewVersion = false
  sendAnonymousUsage = false

[log]
  level = "DEBUG"

[api]
  insecure = true

[entryPoints]
  [entryPoints.web]
    address = ":8000"

[tracing]
  servicename = "tracing"
  [tracing.zipkin]
    httpEndpoint = "http://{{.IP}}:9411/api/v2/spans"

[providers.file]
  filename = "{{ .SelfFilename }}"

## dynamic configuration ##

[http.routers]
  [http.routers.router1]
    service = "service1"
    middlewares = ["retry", "ratelimit-1"]
    rule = "Path(`/ratelimit`)"
  [http.routers.router2]
    service = "service2"
    middlewares = ["retry"]
    rule = "Path(`/retry`)"
  [http.routers.router3]
    service = "service3"
    middlewares = ["retry", "basic-auth"]
    rule = "Path(`/auth`)"

[http.middlewares]
  [http.middlewares.retry.retry]
    attempts = 3
  [http.middlewares.basic-auth.basicAuth]
    users = ["test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/", "test2:$apr1$d9hr9HBB$4HxwgUir3HP4EsggP/QNo0"]
  [http.middlewares.ratelimit-1.rateLimit]
    average = 1
    burst = 2

[http.services]
  [http.services.service1]
    [http.services.service1.loadBalancer]
      passHostHeader = true
      [[http.services.service1.loadBalancer.servers]]
        url = "http://{{.WhoamiIP}}:{{.WhoamiPort}}"

  [http.services.service2]
    [http.services.service2.loadBalancer]
      passHostHeader = true
      [[http.services.service2.loadBalancer.servers]]
        url = "http://{{.WhoamiIP}}:{{.WhoamiPort}}"

  [http.services.service3]
    [http.services.service3.loadBalancer]
      passHostHeader = true
      [[http.services.service3.loadBalancer.servers]]
        url = "http://{{.WhoamiIP}}:{{.WhoamiPort}}"
