Python Dockerflow

This package implements a few helpers and tools for Mozilla’s Dockerflow pattern. The documentation can be found on python-dockerflow.readthedocs.io

https://img.shields.io/badge/code%20style-black-000000.svg GitHub Actions Codecov Documentation Status CalVer - Timely Software Versioning

Installation

Please install the package using your favorite package installer:

pip install dockerflow

Issues & questions

See the issue tracker on GitHub to open tickets if you have issues or questions about python-dockerflow.

Dockerflow?

You may be asking ‘What is Dockerflow?’

Here’s what it’s documentation says:

Dockerflow is a specification for automated building, testing and publishing of docker web application images that comply to a common set of behaviours. Compliant images are simpler to deploy, monitor and manage in production.

Features

environment

Accept its configuration through environment variables. See: Django, Flask, Sanic

port

Listen on environment variable $PORT for HTTP requests. See: Django, Flask, Sanic

version

Must have a JSON version object at /app/version.json. See: Django, Flask, Sanic

health
  • Respond to /__version__ with the contents of /app/version.json

  • Respond to /__heartbeat__ with a HTTP 200 or 5xx on error. This should check backing services like a database for connectivity

  • Respond to /__lbheartbeat__ with an HTTP 200. This is for load balancer checks and should not check backing services.

See: Django, Flask, Sanic

logging

Send text logs to stdout or stderr. See: Generic, Django, Flask, Sanic

static content

Serve its own static content. See: Django, Flask, Flask

Contents

Indices and tables