Skip to main content

Simplify infrastructure/app testing/deployment

Project description

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

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.8.4.tar.gz (548.8 kB view details)

Uploaded Source

Built Distribution

runway-2.8.4-py3-none-any.whl (764.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: runway-2.8.4.tar.gz
  • Upload date:
  • Size: 548.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for runway-2.8.4.tar.gz
Algorithm Hash digest
SHA256 3cd549863db52ab7f535b1250a137f11275e8f9ea677a58ead3b4a897595ede6
MD5 b82a365b096a5a84e32abd0cfbd40c46
BLAKE2b-256 54a691237e1245988e41a7d23a03feb14105cc1942fcb29a357989fb8cad2f5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for runway-2.8.4.tar.gz:

Publisher: release.yml on rackspace/runway

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: runway-2.8.4-py3-none-any.whl
  • Upload date:
  • Size: 764.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for runway-2.8.4-py3-none-any.whl
Algorithm Hash digest
SHA256 54d7524b633c17fbd05554308b07dc607cd5ab5550d15077e603d2ca3f1ef995
MD5 7a12a040e15351060891df96549f84dc
BLAKE2b-256 7ef51a4e0e9b030cafa68278a75dd27cf7eebbe247b4b043d452712482208f8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for runway-2.8.4-py3-none-any.whl:

Publisher: release.yml on rackspace/runway

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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