Simplify infrastructure/app testing/deployment
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.
- 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
- Serverless Framework
- Stacker (CloudFormation)
- Static websites (build & deploy to S3+CloudFront)
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: # Environment settings dev: foo: dev-bar prod: foo: prod-bar
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
Runway is available via any of the following installation methods. Use whatever works best for your project/team (it’s the same application no matter how you obtain it).
HTTPS Download (e.g cURL)
Use one of the endpoints below to download a single-binary executable version of Runway based on your operating system.
$ curl -L oni.ca/runway/latest/osx -o runway $ chmod +x runway $ ./runway init
Suggested use: CloudFormation or Terraform projects
$ npm i -D @onica/runway $ npx runway init
Suggested use: Serverless or AWS CDK projects
pip (or pipenv,poetry,etc)
$ pip install runway $ runway init # OR $ pipenv install runway $ pipenv run runway init
Suggested use: Python projects
Release history Release notifications
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size runway-1.3.1.tar.gz (185.8 kB)||File type Source||Python version None||Upload date||Hashes View hashes|