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.
