Skip to main content

Simplify infrastructure/app testing/deployment

Project description

Runway

CI/CD codecov PyPi code style: black

runway-example.gif

Runway is a lightweight integration app designed to ease management of infrastructure tools.

Its main goals are to encourage GitOps best-practices, avoid convoluted Makefiles/scripts (enabling identical deployments from a workstation or CI job), and enable developers/admins to use the best tool for any given job.

Features

  • Centralized environment-specific configuration
  • Automatic environment identification from git branches
  • Automatic linting/verification
  • Support of IAM roles to assume for each deployment
  • Terraform backend/workspace config management w/per-environment tfvars
  • Automatic kubectl/terraform version management per-environment

Supported Deployment Tools

  • AWS CDK
  • Kubectl
  • Serverless Framework
  • CFNgin (CloudFormation)
  • Static websites (build & deploy to S3+CloudFront)
  • Terraform

Example

A typical Runway configuration is unobtrusive -- it just lists the deployment order and locations (regions).

deployments:
  - modules:
      - resources.tf  # terraform resources
      - backend.sls  # serverless lambda functions
      - frontend  # static web site
    environments:  # Environments
      dev: "123456789012"  # AWS development Account ID
      prod: "234567890123"  # AWS production Account ID
    regions:
      - us-east-1

The example above contains enough information for Runway to deploy all resources, lambda functions and a static website backed by S3 and Cloudfront in either dev or prod environments

Install

$ pip install runway
$ runway new
# OR
$ poetry add --dev runway
$ poetry run runway new

Documentation

See the doc site for full documentation.

Quickstart documentation, including CloudFormation templates and walkthrough can be found here

Project details


Release history Release notifications | RSS feed

This version

2.7.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

runway-2.7.0.tar.gz (561.3 kB view details)

Uploaded Source

Built Distribution

runway-2.7.0-py3-none-any.whl (761.9 kB view details)

Uploaded Python 3

File details

Details for the file runway-2.7.0.tar.gz.

File metadata

  • Download URL: runway-2.7.0.tar.gz
  • Upload date:
  • Size: 561.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for runway-2.7.0.tar.gz
Algorithm Hash digest
SHA256 24185a0fd02c8aaf976bd7c28c5375187c017c3ae49b66d84c6f1ed52f0bd89a
MD5 bd37eb7e2607c8b726ce2a9668dc3bb6
BLAKE2b-256 15eb93cb8b142e982484be358e2d2d4c4771b70460b579c9b73dcabf502280d9

See more details on using hashes here.

File details

Details for the file runway-2.7.0-py3-none-any.whl.

File metadata

  • Download URL: runway-2.7.0-py3-none-any.whl
  • Upload date:
  • Size: 761.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for runway-2.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3c7e5ce7430df5df4165cdeb25874f392ed0d0c7e56bc524269c75a07e18d89b
MD5 a4e0d67c7069ca45306dad653b56e3ce
BLAKE2b-256 7197596ddba811863a4132d5a805308de3828a38187e8b45209680819f564e9f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page