COVID Airborne Risk Assessment tool
Find a file
2020-11-03 16:40:00 +01:00
app Merge branch 'covid-calculator' into 'master' 2020-10-28 09:40:58 +00:00
app-config Fix the rewrite of the old URL, and allow the build to be triggered correctly by the CI. 2020-11-03 13:22:32 +01:00
cara Add the POST endpoint and the infrastructure to allow the calculator form to be developed. 2020-11-03 16:40:00 +01:00
.gitignore Add the POST endpoint and the infrastructure to allow the calculator form to be developed. 2020-11-03 16:40:00 +01:00
.gitlab-ci.yml Fix the rewrite of the old URL, and allow the build to be triggered correctly by the CI. 2020-11-03 13:22:32 +01:00
app.sh Put an nginx reverse-proxy in front of the voila server to give us more flexibility in how we present the endpoint. 2020-11-03 11:46:53 +01:00
README.md Add the POST endpoint and the infrastructure to allow the calculator form to be developed. 2020-11-03 16:40:00 +01:00
requirements.txt Bring over the prototyped voila app, and handle installation dependencies correctly. 2020-10-20 09:51:34 +02:00
setup.py Abstract the model state so that we can mutate it conveniently. 2020-10-21 20:59:01 +02:00

CARA - COVID Airborne Risk Assessment

Credits

Development guide

Running the COVID calculator app locally

pip install -e .   # At the root of the repository
python -m cara.apps.calculator

Then visit http://localhost:8080/calculator.

Building the whole environment for local execution

Simulate the docker build that takes place on openshift with:

s2i build file://$(pwd) --copy --context-dir=app-config/nginx/ centos/nginx-112-centos7 cara-nginx-app
s2i build file://$(pwd) --copy --context-dir=./ centos/python-36-centos7 cara-voila-app
cd app-config
docker-compose up

Then visit localhost:8080.

Setting up the application

The https://cern.ch/cara application is running on CERN's OpenShift platform. In order to set it up for the first time, we followed the documentation at https://cern.service-now.com/service-portal?id=kb_article&n=KB0004498. In particular we:

  • Added the OpenShift application deploy key to the GitLab repository
  • Created a Python 3.6 (the highest possible at the time of writing) application in OpenShift
  • Configured a generic webhook on OpenShift, and call that from the CI of the GitLab repository