Skip to content

Latest commit

 

History

History
31 lines (18 loc) · 2.03 KB

README.md

File metadata and controls

31 lines (18 loc) · 2.03 KB

Sample web application for Cloud and Edge Computing course

This repository provides a sample Python web application implemented using the Flask web framework and hosted using gunicorn. It is intended to be used to demonstrate deployment of Python web applications to OpenShift 3. This repository was forked and modified from the original located at https://github.com/OpenShiftDemos/os-sample-python.

Implementation Notes

This sample Python application relies on the support provided by the default S2I builder for deploying a WSGI application using the gunicorn WSGI server. The requirements which need to be satisfied for this to work are:

  • The WSGI application code file needs to be named wsgi.py.
  • The WSGI application entry point within the code file needs to be named application.
  • The gunicorn package must be listed in the requirements.txt file for pip.

In addition, the .s2i/environment file has been created to allow environment variables to be set to override the behaviour of the default S2I builder for Python.

  • The environment variable APP_CONFIG has been set to declare the name of the config file for gunicorn.

Deployment Steps

To deploy this sample Python web application from the OpenShift web console, you should select python:3.5 or python:latest, when using Add to project.

The HTTPS URL of this code repository which should be supplied to the Git Repository URL field when using Add to project is:

If using the oc command line tool instead of the OpenShift web console, to deploy this sample Python web application, you can run:

oc new-app https://github.com/CEC18/cec-hello-world.git

In this case, because no language type was specified, OpenShift will determine the language by inspecting the code repository. Because the code repository contains a requirements.txt, it will subsequently be interpreted as including a Python application. When such automatic detection is used, python:latest will be used.