This is the web UI for the OpenCost project. You can learn more about the User Interface in the OpenCost docs.
See https://www.opencost.io/docs/install for the full instructions.
After following the installation instructions, access the UI by port forwarding:
kubectl port-forward --namespace opencost service/opencost 9090
The UI can be run locally using the npm run serve
command.
$ npm install
...
$ npm run serve
> [email protected] serve
> npx parcel serve src/index.html
Server running at http://localhost:1234
✨ Built in 1.96s
And can have a custom URL backend prefix.
BASE_URL=http://localhost:9090/test npm run serve
> [email protected] serve
> npx parcel serve src/index.html
Server running at http://localhost:1234
✨ Built in 772ms
In addition, similar behavior can be replicated with the docker container:
$ docker run -e BASE_URL_OVERRIDE=test -p 9091:9090 -d opencost-ui:latest
$ curl localhost:9091
<html gibberish>
For some use cases such as the case of OpenCost deployed behind an ingress controller, it is useful to override the BASE_URL
variable responsible for requests sent from the UI to the API. This means that instead of sending requests to <domain>/model/allocation/compute/etc
, requests can be sent to <domain>/{BASE_URL_OVERRIDE}/allocation/compute/etc
. To do this, supply the environment variable BASE_URL_OVERRIDE
to the docker image.
$ docker run -p 9091:9090 -e BASE_URL_OVERRIDE=anything -d opencost-ui:latest