Skip to content

RepoBirdBot/runway

 
 

Repository files navigation

Runway

CI/CD codecov PyPi Ruff pre-commit.ci status

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
  • Support of IAM roles to assume for each deployment
  • Terraform backend/workspace config management w/per-environment tfvars
  • Automatic terraform version management per-environment

Supported Deployment Tools

  • AWS CDK
  • 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

About

Simplify infrastructure/app deployment.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.5%
  • HTML 0.7%
  • JavaScript 0.3%
  • TypeScript 0.3%
  • Makefile 0.1%
  • C# 0.1%