Drunc Web User Interface (drunc-ui)
This repo defines the web interface for various drunc tools. Including:
Running the Project Locally
The DUNE control system comprises multiple services working in concert (see the drunc repository for an overview). Whilst it is possible to manually run the individual services as required it is strongly recommended to use the Docker setup provided.
Docker Setup
This repository provides a Docker Compose configuration providing the requisite services suitable for development of the interfaces using realistic test data. Working with the full docker stack requires building a very larger docker base image and has heavy resource requirements when running. For this reason a "lite" stack is also provided that can be used for development of the Process Manager UI.
The full and lite stack are defined using Docker Compose profiles. It is recommended
to set the COMPOSE_PROFILES
environment variable to select which stack you are working
with. Use the value drunc
for the full stack or drunc-lite
for the lite stack.
You can also use the --profile
flag when invoking docker compose
however the
instructions in this file assume you are using the environment variable.
Process Manager UI
You can use either the full or lite Docker Compose profiles when working with the Process Manager UI.
Getting Started with the Process Manager UI
Check you have a value set for COMPOSE_PROFILES
(see above). Start the docker stack
with:
It can take a few moments for the services to boot but the UI should then be available in the browser at http://localhost:8000/process_manager/.
Note that if you have the Process Manager UI already open in a browser you may see backtraces from unsuccessful requests generated by the UI. These should stop once drunc has finished starting up.
Authentication is required to work with the application so you need to create a user account to work with:
and follow the prompts. You should then be able to use the details you supplied to pass the login screen. You can use the "boot" button on the main page to create simple processes to experiment with.
Take the services down with docker compose down
or by pressing Ctrl+C in the
corresponding terminal.
Controller UI
You must use the full Docker Compose profile when working with the Controller UI.
Getting Started with the Controller UI
Check you have value of the COMPOSE_PROFILES
variable set to drunc
(see above). As
with the Process Manager UI start the Docker Compose services and create a user account
if not already done. You can then boot a full test session:
Note that the above consumes several Gb of memory.
Once booted you can interact with the root controller via:
You should now be able to access the Controller UI at http://localhost:8000/controller/ . For details of working with the controller see the drunc wiki. You should also be able to see the booted processes in the Process Manager UI.
Not Using Docker
Brief instructions are provided below on how to manually run the various services required to work with the Drunc UIs. These are only meant to be indicative however and are not regularly tested or maintained.
-
Start Kafka - See Running drunc with pocket kafka.
-
Start the drunc shell:
drunc-unified-shell --log-level debug ./data/process-manager-pocket-kafka.json
-
Start the application server:
python manage.py runserver
-
Start the Kafka consumer:
python manage.py kafka_consumer --debug
You may then need to perform subsequent actions such as booting test session data.