# Quick start

> Deploy the workspace with Terraform and open a session through Session Manager.

Agent Workspace (`douklar/agent-workspace/aws`) provisions an Ubuntu 24.04
EC2 instance with Claude Code, VS Code Server and Tailscale, reached through
AWS Session Manager with no open ports.

## Requirements

| Requirement | Version |
|---|---|
| Terraform | `>= 1.9.0, < 2.0.0` |
| AWS provider | `~> 6.47` |
| Archive provider | `~> 2.5` |
| AWS CLI | Any recent version, for `ssm start-session` |

Your AWS credentials need permission to create and manage EC2, IAM, Lambda,
EventBridge, SQS, SSM Parameter Store, S3 and CloudWatch.

## Deploy

```hcl
module "workspace" {
  source  = "douklar/agent-workspace/aws"
  version = "~> 2.0"

  aws_region = "eu-central-1"
}
```

```bash
terraform init
terraform apply
```

Every input has a default. The repository's `examples/basic` is a complete
configuration, and `terraform.tfvars.example` is a starting point.

> **Version.** Version 2.0.0 changed the scheduler to be tag-driven and added
> `env_vars`. Pin `~> 2.0` for the behaviour described in these docs.

## Connect

```bash
terraform output -raw ssm_start_session_command
```

Run the command it prints, or:

```bash
aws ssm start-session --target $(terraform output -raw instance_id) --region eu-central-1
```

## After apply

1. If Tailscale is enabled (the default), write its auth key to SSM. See
   [Secrets and access](/docs/agent-workspace/secrets-and-access).
2. If any `env_vars` entry is `null`, write each secret value to SSM.
3. Connect with the Session Manager command above.
4. The instance starts by itself at the next scheduled window. See
   [Scheduling](/docs/agent-workspace/scheduling).

Source: https://douklar.app/docs/agent-workspace/quick-start (Agent Workspace docs, last checked 2026-10-17)
