* Upgrade ant to 3.1.0 * Adjust styles for updated ant - Locale is enUS by default now, so removing our config - Adjust table styles * Upgrade react and react-dom to 16.2.0 * Upgrade enzyme to 3.3.0, fix tests accordingly |
||
---|---|---|
.. | ||
app | ||
srv | ||
templates | ||
util/filesonly | ||
Dockerfile | ||
README.md | ||
main.go |
README.md
Conduit Dashboard
This is a React app. It uses webpack to bundle assets, and postcss to transform css.
The commands below assume that you're starting from the root of the repo.
First time setup
Install yarn and use it to install dependencies.
brew install yarn
cd web/app
yarn
Development
After pulling master:
If you just want to run the frontend:
cd web/app
yarn
yarn webpack
cd ..
go run main.go
The web server will be running on localhost:8084.
Note the web process depends on a public-api server, for which you have three options:
-
Boot public-api locally
go run ../controller/cmd/public-api/main.go
-
Connect to public-api in docker-compose (see below)
-
Connect to public-api in Kubernetes (see below)
To develop with a webpack dev server, start the server in a separate window:
cd web/app
yarn webpack-dev-server
And then set the -webpack-dev-server
flag when running the web server:
go run main.go -webpack-dev-server=http://localhost:8080
To add a JS dependency:
cd web/app
yarn add [dep]
Run docker-compose
You can also run all of the go apps in a docker-compose environment.
From the root of the repo, run:
docker-compose build
docker-compose up -d
If you want to develop on the web service locally, stop it first, then run it
locally and set the -api-addr
flag to the address of the public API server
that's running in your docker environment:
docker-compose stop web
cd web
go run main.go -api-addr=localhost:8085 # where localhost is the Docker address
Run Web against a public API server in Kubernetes
If you are running the public API server in Kubernetes, forward localhost:8085 to the conduit controller pod:
POD_NAME=$(kubectl --namespace=conduit get po --selector=app=controller -o jsonpath='{.items[*].metadata.name}')
kubectl -n conduit port-forward $POD_NAME 8085:8085
Then connect the local web process to the forwarded port:
cd web
go run main.go -api-addr=localhost:8085
Testing
Golang unit tests
To run:
go test ./...
JS unit tests
To run:
cd web/app
yarn karma start