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 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 therequirements.txt
file forpip
.
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 forgunicorn
.
To deploy this sample Python web application from the OpenShift web console, you should select python:2.7
, python:3.3
, python:3.4
or python:latest
, when using Add to project. Use of python:latest
is the same as having selected the most up to date Python version available, which at this time is python:3.4
.
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/OpenShiftDemos/os-sample-python.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.
If needing to select a specific Python version when using oc new-app
, you should instead use the form:
oc new-app python:2.7~https://github.com/OpenShiftDemos/os-sample-python.git