Skip to main content

Projects & Environments

Projects​

Projects are the blueprints of infrastructure and application architectures in Massdriver. A project acts as the parity boundary for deploying your architecture against multiple environments.

All environments in the same project will always have the same diagram, but scale and authentication can be customized per environment.

This allows for:

  • Running cost-efficient staging or preview environments that have architectural parity with production
  • Managing applications and infrastructure in isolated tenant environments
  • Replicating infrastructure and applications between regions

Environments​

An environment is the workspace that a bundle will be deployed to. Massdriver doesn't enforce any governance on how you design your environments.

Environments can be modeled by:

  • Application stage: production, staging, development
  • Region: prod-usw, prod-eu
  • Developer: alice-dev, bob-dev (ephemeral)

Massdriver separates authentication and scale from the parity that is enforced by a project. This allows environments to share the same "architecture" for staging and production, but have different scale for cost-saving purposes.

Environment Comparison​

Open any environment, hit Compare, and pick two environments in the same project to see the diff across every component. Filter to a single component, toggle Hide identical to focus on what changed, or search for a specific path. Quick way to answer "what's different about staging vs production" or "what's missing in this PR env" without grepping params by hand.