<IfModule proxy_module>
    ProxyPreserveHost on

    # Map /fabric to the onos instance that is controlling the leaf
    #     spine fabric
    <Location /fabric/>
        ProxyPass http://onos-fabric:8181/
        ProxyPassReverse http://onos-fabric:8181/
        ProxyPassReverseCookiePath  "/"  "/fabric/"
        Header edit Location "(^http[s]?://[^/]*)(\.*)" "$1/fabric$2"
    </Location>
    <Location /fabric/onos/ui/websock/>
        ProxyPass "ws://onos-fabric:8181/onos/ui/websock/" disablereuse=on
    </Location>

    # kibana/elasticsearch
    <Location /kibana>
      ProxyPass http://localhost:5601
      ProxyPassReverse http://localhost:5601
    </Location>

    # Map /vtn to the onos instance that is controller the cordvtn
    #     application
    <Location /vtn/>
        ProxyPass http://onos-cord:8182/
        ProxyPassReverse http://onos-cord:8182/
        ProxyPassReverseCookiePath  "/"  "/vtn/"
        Header edit Location "(^http[s]?://[^/]*)(\.*)" "$1/vtn$2"
    </Location>

    <Location /vtn/onos/ui/websock/>
        ProxyPass "ws://onos-cord:8182/onos/ui/websock/" disablereuse=on
    </Location>

    # Cord GUI and WS
    ProxyPass /xos http://xos-gui:4000
    ProxyPass /xos/socket.io http://xos-ws:3000/socket.io
    ProxyPass /socket.io http://xos-ws:3000/socket.io
    <Location /socket.io>
        RewriteEngine on
        RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
        RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
        RewriteRule .* ws://xos-ws:3000%{REQUEST_URI} [P]
    </Location>

    # Chameleon swagger
    ProxyPass /apidocs/ http://xos-chameleon:9101/apidocs/
    ProxyPass /v1/swagger.json http://xos-chameleon:9101/apidocs/v1/swagger.json
    
    # TOSCA
    ProxyPass /xos-tosca http://xos-tosca:9102

    # ELK STACK
    ProxyPass /elkapi http://xos:9200
    ProxyPass /elk http://xos:5601

    # Map the various XOS roots to the XOS instance
    ProxyPass /xos-deprecated http://xos:9000
    ProxyPass /xos-deprecated/ http://xos:9000/
    ProxyPassMatch /(api)$ http://xos:9000/$1/
    ProxyPass /api/ http://xos:9000/api/
    ProxyPass /login http://xos:9000/login
    ProxyPass /admin/ http://xos:9000/admin/
    ProxyPass /static/ http://xos:9000/static/
    ProxyPass /loggedin/ http://xos:9000/loggedin/
    ProxyPass /serviceGrid/ http://xos:9000/serviceGrid/

    # Rest APIs
    ProxyPass /xosapi/ http://xos-chameleon:9101/xosapi/
</IfModule>

<IfModule rewrite_module>
    RewriteEngine On
    # Redirect (permanently) requests for /MAAS to /MAAS/.
    RewriteRule ^/MAAS$ %{REQUEST_URI}/ [R=301,L]
</IfModule>

# Redirects so that basic URLs entered go the right place
Redirect /fabric /fabric/onos/ui
Redirect /vtn /vtn/onos/ui
