<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 /app/kibana http://xos:5601/app/kibana
    ProxyPassReverse /app/kibana http://xos:5601/app/kibana

    ProxyPass /app/timelion http://xos:5601/app/timelion
    ProxyPassReverse /app/timelion http://xos:5601/app/timelion

    ProxyPass /bundles http://xos:5601/bundles
    ProxyPassReverse /bundles http://xos:5601/bundles

    ProxyPass /elasticsearch http://xos:9200
    ProxyPassReverse /elasticsearch http://xos:9200

    ProxyPass /status http://xos:5601/status
    ProxyPassReverse /status http://elk:/status

    ProxyPass /api/status http://xos:5601/api/status
    ProxyPassReverse /api/status http://xos:5601/api/status

    ProxyPass /api/saved_objects http://xos:5601/api/saved_objects
    ProxyPassReverse /api/saved_objects http://xos:5601/api/saved_objects

    ProxyPass /api/console http://xos:5601/api/console
    ProxyPassReverse /api/console http://xos:5601/api/console

    ProxyPass /api/timelion/run http://xos:5601/api/timelion/run
    ProxyPassReverse /api/timelion/run http://xos:5601/api/timelion/run

    ProxyPass /api/timelion/functions http://xos:5601/api/timelion/functions
    ProxyPassReverse /api/timelion/functions http://xos:5601/api/timelion/functions

    ProxyPass /plugins/kibana/ http://xos:5601/plugins/kibana/
    ProxyPassReverse /plugins/kibana/ http://xos:5601/plugins/kibana/

    ProxyPass /plugins/timelion/ http://xos:5601/plugins/timelion/
    ProxyPassReverse /plugins/timelion/ http://xos:5601/plugins/timelion/

    ProxyPass /app/sense http://xos:5601/app/sense
    ProxyPassReverse /app/sense http://xos:5601/app/sense

    ProxyPass /ui/fonts/open_sans/ http://xos:5601/ui/fonts/open_sans/
    ProxyPassReverse /ui/fonts/open_sans/ http://xos:5601/ui/fonts/open_sans/

    ProxyPass /es_admin/ http://xos:5601/es_admin/
    ProxyPassReverse /es_admin/ http://xos:5601/es_admin/

    # 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
