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

# qovery environment

> Environment management commands

## Overview

Manage environments and their lifecycle within your Qovery project.

## Commands

### List Environments

List all environments in current project:

```bash theme={null}
qovery environment list
```

### Create Environment

Create a new environment:

```bash theme={null}
qovery environment create \
  --name "staging" \
  --cluster "cluster-id" \
  --mode STAGING
```

### Deploy Environment

Deploy all services in an environment:

```bash theme={null}
qovery environment deploy
```

Deploy specific environment:

```bash theme={null}
qovery environment deploy --environment "env-id"
```

### Stop Environment

Stop all services in an environment:

```bash theme={null}
qovery environment stop
```

### Delete Environment

Delete an environment:

```bash theme={null}
qovery environment delete --environment "env-id"
```

### Clone Environment

Clone an existing environment:

```bash theme={null}
qovery environment clone \
  --environment "production" \
  --name "staging-clone"
```

## Environment Variables

### List Variables

```bash theme={null}
qovery environment env list
```

### Create Variable

```bash theme={null}
qovery environment env create \
  --key "API_KEY" \
  --value "secret-value" \
  --scope ENVIRONMENT
```

Create secret variable:

```bash theme={null}
qovery environment env create \
  --key "DATABASE_PASSWORD" \
  --value "super-secret" \
  --scope ENVIRONMENT \
  --secret
```

### Update Variable

```bash theme={null}
qovery environment env update \
  --key "API_KEY" \
  --value "new-value"
```

### Delete Variable

```bash theme={null}
qovery environment env delete --key "API_KEY"
```

## Options

| Flag            | Description                                         |
| --------------- | --------------------------------------------------- |
| `--name`        | Environment name                                    |
| `--cluster`     | Cluster ID                                          |
| `--mode`        | Environment mode (DEVELOPMENT, STAGING, PRODUCTION) |
| `--environment` | Environment ID or name                              |
| `--key`         | Variable key                                        |
| `--value`       | Variable value                                      |
| `--scope`       | Variable scope (ENVIRONMENT, PROJECT, BUILT\_IN)    |
| `--secret`      | Mark variable as secret                             |
| `--output`      | Output format (table, json, yaml)                   |
| `--help`        | Show help                                           |

## Examples

### Create and Deploy Environment

```bash theme={null}
# Set context
qovery context set

# Create environment
qovery environment create \
  --name "feature-auth" \
  --mode DEVELOPMENT

# Deploy all services
qovery environment deploy

# Watch deployment status
qovery status --watch
```

### Manage Environment Variables

```bash theme={null}
# List all variables
qovery environment env list

# Add new variable
qovery environment env create \
  --key "FEATURE_FLAG_NEW_UI" \
  --value "enabled"

# Add secret
qovery environment env create \
  --key "STRIPE_API_KEY" \
  --value "sk_test_..." \
  --secret

# Deploy to apply changes
qovery environment deploy
```

### Clone Production to Staging

```bash theme={null}
# Clone environment
qovery environment clone \
  --environment "production" \
  --name "staging-test"

# Deploy cloned environment
qovery environment deploy --environment "staging-test"
```

## Related Commands

* [`qovery application`](/cli/commands/application) - Manage applications
* [`qovery database`](/cli/commands/database) - Manage databases
* [`qovery status`](/cli/commands/status) - Check environment status
