SIMPLE YAML compiler Web UI Deployment Guide
Backend deployment
Backend repository can be found here.
Frontend repository can be found here.
How to deploy to OpenShift
Select Python from the list of options

- Select your project, set application name and select the repository. Supported Python version is 2.7.

Create a route to the backend service with secondary hostname

Expose route to the Internet using
oc annotate route <ROUTE NAME> router.cern.ch/network-visibility=Internet(Optional) Add health-check to the backend deployment.
Available endpoints
/versions-GETlist of installed compiler versions/compile-POSTsite-level config file to be compiled/augmented// Request { "version": "v1.0.6", "site_conf": (binary) } // Response (success) { "augmented_conf": "...", "schema": "..." } // Response (failure) { "Input File": "<site-level conf>", "error": "<error traceback>", "file_name1": "...", "file_name2": "...", "file_name3": "...", ... }/health-GEThealth check endpoint
Installing new compiler versions
In order to install a new compiler simply download it from the SIMPLE Grid YAML compiler package page in PyPi here and extract it inside the compilers directory.
The backend will take care of picking up the installed compilers and providing a list of available versions to the frontend.
Frontend deployment
How to deploy to OpenShift
- Download the OKD client oc.
- Execute the
oc logincommand from the OpenShift dashboard. - Select project using
oc project. - Deploy app by executing
npx simple-nodeshift --strictSSL=false --dockerImage=nodeshift/ubi8-s2i-web-app --imageTag=latest --exposeinside of the project root directory. Used a fork of nodeshift. - Expose route to the Internet using
oc annotate route simple-web-compiler-frontend router.cern.ch/network-visibility=Internet
WARNING: If the frontend works but when uploading a file it hangs check that the backend route is also exposed and the hosts are not conflicting.
