http:
  routers:
    workspace-router:
      rule: "PathPrefix(`/workspace`)"
      entryPoints:
        - "web"
      service: workspace-service
      middlewares:
        - replace-workspace
    workflow-router:
      rule: "PathPrefix(`/workflow`)"
      entryPoints:
        - "web"
      service: workflow-service
      middlewares:
        - replace-workflow
    shared-router:
      rule: "PathPrefix(`/shared`)"
      entryPoints:
        - "web"
      service: shared-service
      middlewares:
        - replace-shared
    scheduler-router:
      rule: "PathPrefix(`/scheduler`)"
      entryPoints:
        - "web"
      service: scheduler-service
      middlewares:
        - replace-scheduler
    peer-router:
      rule: "PathPrefix(`/peer`)"
      entryPoints:
        - "web"
      service: peer-service
      middlewares:
        - replace-peer
    datacenter-router:
      rule: "PathPrefix(`/datacenter`)"
      entryPoints:
        - "web"
      service: datacenter-service
      middlewares:
        - replace-datacenter
    catalog-router:
      rule: "PathPrefix(`/catalog`)"
      entryPoints:
        - "web"
      service: catalog-service
      middlewares:
        - replace-catalog
    auth-router:
      rule: "PathPrefix(`/auth`)"
      entryPoints:
        - "web"
      service: auth-service
      middlewares:
        - replace-auth
    front-router:
      rule: "PathPrefix(`/`)"
      entryPoints:
        - "web"
      service: front-service
      middlewares:
        - replace-front

  services:
    workspace-service:
      loadBalancer:
        servers:
          - url: "http://localhost:8089"
    workflow-service:
      loadBalancer:
        servers:
          - url: "http://localhost:8088"
    shared-service:
      loadBalancer:
        servers:
          - url: "http://localhost:8091"
    scheduler-service:
      loadBalancer:
        servers:
          - url: "http://localhost:8090"
    peer-service:
      loadBalancer:
        servers:
          - url: "http://localhost:8093"
    datacenter-service:
      loadBalancer:
        servers:
          - url: "http://localhost:8092"
    catalog-service:
      loadBalancer:
        servers:
          - url: "http://localhost:8087"
    auth-service:
      loadBalancer:
        servers:
          - url: "http://localhost:8094"
    front-service:
      loadBalancer:
        servers:
          - url: "http://localhost:8080"

  middlewares:
    workspace: 
      forwardauth: 
        address: "http://localhost:8094/oc/forward"
    workflow: 
      forwardauth: 
        address: "http://localhost:8094/oc/forward"
    shared: 
      forwardauth: 
        address: "http://localhost:8094/oc/forward"
    scheduler: 
      forwardauth: 
        address: "http://localhost:8094/oc/forward"
    peer: 
      forwardauth: 
        address: "http://localhost:8094/oc/forward"
    datacenter: 
      forwardauth: 
        address: "http://localhost:8094/oc/forward"
    catalog: 
      forwardauth: 
        address: "http://localhost:8094/oc/forward"
    auth: 
      forwardauth: 
        address: "http://localhost:8094/oc/forward"
    replace-workspace:
      replacePathRegex:
        regex: "^/workspace(.*)"
        replacement: "/oc$1"
    replace-workflow:
      replacePathRegex:
        regex: "^/workflow(.*)"
        replacement: "/oc$1"
    replace-shared:
      replacePathRegex:
        regex: "^/shared(.*)"
        replacement: "/oc$1"
    replace-scheduler:
      replacePathRegex:
        regex: "^/scheduler(.*)"
        replacement: "/oc$1"
    replace-peer:
      replacePathRegex:
        regex: "^/peer(.*)"
        replacement: "/oc$1"
    replace-datacenter:
      replacePathRegex:
        regex: "^/datacenter(.*)"
        replacement: "/oc$1"
    replace-catalog:
      replacePathRegex:
        regex: "^/catalog(.*)"
        replacement: "/oc$1"
    replace-auth:
      replacePathRegex:
        regex: "^/auth(.*)"
        replacement: "/oc$1"
    replace-front:
      stripprefix:
        prefixes: "/"