Skip to main content

What It Does

Monk supports multiple deployment environments for each project - staging, production, development, or any custom environment names you choose. Each environment can have its own configuration, linked to a specific cluster, with complete isolation.

How It Works

Creating Environments

Ask Monk to set up environments for your project:
create staging and production environments
Monk creates separate environment configurations and asks which cluster each should use.

Environment-Specific Builds

When building for an environment, Monk tailors the configuration:
build for production
What’s customized:
  • Environment-specific variable values
  • Appropriate managed service selections (e.g., production-tier databases)
  • Resource sizing based on environment intent
  • Security and compliance settings

Deploying to Environments

Deploy to a specific environment by name:
deploy to staging
Monk automatically:
  • Switches to the cluster linked to that environment
  • Builds only the images needed for that environment
  • Deploys with environment-specific configuration
  • Tracks deployment per environment

Linking Environments to Clusters

Each environment can be linked to a specific cluster. Via Monk (when deploying): When you deploy to an environment, Monk asks which cluster to use if not already linked:
deploy to staging
Monk: “Which cluster should I use for staging environment?” Via Clusters panel (visual management): Open the Clusters panel to see and manage environment-cluster associations. How linking works:
  • One environment = one cluster
  • Multiple environments can use the same cluster (with different tags)
  • Or each environment can have its own dedicated cluster
  • Link changes don’t affect running deployments

Multiple Simultaneous Environments

Deploy to multiple environments in one request:
deploy to staging and production
Monk deploys each sequentially to their respective clusters.

Environment Use Cases

Development → Staging → Production:
You: Create dev, staging, and prod environments
You: Link dev to my-local-cluster
You: Link staging to my-digitalocean-cluster
You: Link prod to my-aws-cluster
You: Deploy to all environments
Each environment deploys to its designated infrastructure. Feature branches:
You: Create feature-auth environment
You: Deploy feature-auth to my-test-cluster
Test new features in isolation before promoting to staging. Multi-region deployments:
You: Create us-prod and eu-prod environments
You: Link us-prod to my-aws-us-cluster
You: Link eu-prod to my-aws-eu-cluster
Deploy the same application to multiple regions as separate environments.

What Makes This Different

Traditional environment management requires:
  • Separate configuration files per environment (.env.staging, .env.prod)
  • Manual variable substitution
  • Complex CI/CD pipelines to manage deployments
  • Keeping environments synchronized
  • Remembering which cluster maps to which environment
With Monk: Define environments once. Deploy by name. Monk handles configuration, cluster switching, and isolation automatically.

Key Capabilities

  • Flexible naming - staging, prod, dev, or custom names like “qa” or “demo”
  • Cluster linking - Each environment tied to specific cluster
  • Automatic switching - Monk switches clusters when deploying to an environment
  • Environment-specific builds - Configuration tailored per environment
  • Visual management - Manage via Clusters panel in IDE
  • Isolated deployments - Complete separation between environments
  • Team-friendly - Share environments across organization members
  • No configuration drift - Same codebase, different deployment targets

Managing Environments

List environments:
You: What environments do I have?
Check which cluster an environment uses:
You: Which cluster is linked to staging?
Delete an environment:
You: Delete the dev environment
Visual management: Open the Clusters panel to see all environments and their cluster associations at a glance.