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.
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
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).
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 new
Suggested use: CloudFormation or Terraform projects
npm i -D @onica/runway npx runway new
Suggested use: Serverless or AWS CDK projects
pip install runway runway new OR poetry add --dev runway poetry run runway new
Suggested use: Python projects
See the doc site for full documentation.
Quickstart documentation, including CloudFormation templates and walkthrough can be found here