Skip to content

cabotage/cabotage-app

Repository files navigation

Cabotage App

Deployment tooling built on top of Kubernetes, Hashicorp Consul, Hashicorp Vault, Docker, and Python to power automated rollout and management of software and configuration changes, including

  • end-to-end verified TLS
  • secure management of secrets
  • continuous delivery of changes

See a two-minute video demo from late February 2018.

Originally developed for use within Python Software Foundation infrastructure. See the PyPI infrastructure pull request for more on design goals.

Basics

  1. pipenv install --three --dev
  2. pipenv shell

Set Environment Variables

Update cabotage/server/config.py, and then run:

$ export APP_SETTINGS="cabotage.server.config.DevelopmentConfig"

or

$ export APP_SETTINGS="cabotage.server.config.ProductionConfig"

Create DB

$ python manage.py create_db
$ python manage.py db init
$ python manage.py db migrate
$ python manage.py create_admin
$ python manage.py create_data

Run the Application

$ python manage.py runserver

Access the application at the address http://localhost:5000/

Want to specify a different port?

$ python manage.py runserver -h 0.0.0.0 -p 8080

Testing

Without coverage:

$ python manage.py test

With coverage:

$ python manage.py cov