> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Multiple Environments

> Separate staging, production, and dev deployments

## What It Does

Monk gives you isolated environments per workspace — staging, production, dev, or whatever you call them. Each one gets its own configuration and maps to a specific cluster. Your deployments stay separate even when they share the same code.

## Creating Environments

Tell Monk what you need:

```
create staging and production environments
```

Monk sets up separate configs and asks which cluster each one should target.

## Building and Deploying

### Environment-Specific Builds

Monk tailors configuration per environment — variables, managed services, sizing. Just say which one:

```
build for production
```

### Deploying by Name

```
deploy to staging
```

Monk switches to the right cluster, builds only what that environment needs, and deploys it. You don't manage the wiring.

### Deploy to Multiple at Once

```
deploy to staging and production
```

Monk handles them sequentially, each to its own cluster.

## Linking Environments to Clusters

Each environment maps to one cluster. You set that up at deploy time or in the Clusters panel.

**At deploy time**, Monk asks if there's no link yet:

```
deploy to staging
```

Monk: "Which cluster should I use for staging environment?"

**In the Clusters panel**, you can see and manage all environment-cluster associations visually.

Multiple environments can share a cluster (separated by tags), or each can have its own. Changing a link doesn't affect existing deployments.

## Use Cases

**Dev / Staging / Production pipeline:**

```
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 in isolation, then promote to staging when it's ready.

**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
```

Same app, multiple regions, separate environments.

## Managing Environments

**List them:**

```
You: What environments do I have?
```

**Check a cluster link:**

```
You: Which cluster is linked to staging?
```

**Delete one:**

```
You: Delete the dev environment
```

You can also manage everything visually in the **Clusters panel**.

## Team Environments

In an org context, environments can target org clusters. This keeps deployments consistent across team members, even when each person defines environments in their own workspace. Secrets are environment-scoped too — staging and production get different values.

> See [Team Collaboration](/features/team-collaboration) for details on shared clusters and secrets.

## Go Deeper

<CardGroup cols={2}>
  <Card title="Capsules" icon="flask" href="/features/capsules">
    Automatic per-branch preview environments — every push gets its own cluster.
  </Card>

  <Card title="Configuration & Wiring" icon="sliders" href="/features/configuration-and-wiring">
    How Monk handles environment-specific config, variables, and secrets.
  </Card>

  <Card title="Cloud Infrastructure" icon="cloud" href="/features/cloud-provisioning">
    Multi-cluster setup and cloud provider management.
  </Card>
</CardGroup>
