Skip to content
This repository has been archived by the owner on Apr 15, 2019. It is now read-only.

cookiecutter flask application that is minimalistic but satisfies an opinionated microservice design with liveness and readiness endpoints, swagger and uwsgi installation on docker with Alpine OS

License

Notifications You must be signed in to change notification settings

johnroach/cookiecutter-flask-swagger-uwsgi

Repository files navigation

flask-swagger-uwsgi

Build Status

This is an opinionated Flask based project. It is meant to be used with Kubernetes type orchestration solutions as well as API Gateway solutions that will use Open API 2.0 specification(formerly known as Swagger).

Usage

Install cookiecutter:

pipenv install --dev --three cookiecutter

Create your application from this template:

cookiecutter https://github.com/JohnRoach/cookiecutter-flask-swagger-uwsgi.git

All set! Run the application:

cd yourapplication
make run

And then open it at http://127.0.0.1:3040/

Features

Included:

  • production-ready Connexion application: root package, sample static resource, sample template and an index view, as per Larger Applications

  • Docker file with uwsgi setup

  • setuptools configuration to package and release the application, as well as to develop locally, as per Deploying with Setuptools

  • configuration system, as per Configuration Handling

  • basic logging configuration, as per Logging to a File

  • sample test and configuration necessary to run the tests, as per The Testing Skeleton

  • Makefile with few typical tasks automated (see generated README for details)

Contributions

Please read the CONTRIBUTING.md document. If you do a change, use make test from root directory to test the updated template.

Possible future improvements

  • Fix issue with swagger-ui
  • Nail down the uwsgi configurations to be more production ready
  • Harden the docker container
  • Find a cross-platform replacement to a Makefile

About

cookiecutter flask application that is minimalistic but satisfies an opinionated microservice design with liveness and readiness endpoints, swagger and uwsgi installation on docker with Alpine OS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published