Skip to content

Commit 361c712

Browse files
updated template doco to have more consistent READMEs
1 parent c9d2c75 commit 361c712

File tree

4 files changed

+299
-49
lines changed

4 files changed

+299
-49
lines changed

templates/README.md

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
# AWS Coder Workshop Templates
2+
3+
This directory contains Coder workspace templates designed for AWS development workflows and workshop scenarios. Each template provides a specialized development environment with pre-configured tools and services.
4+
5+
## Template Overview
6+
7+
### 🐧 [AWS Workshop - EC2 (Linux) Q Developer](awshp-linux-q-base/)
8+
**Purpose**: AI-powered development with Amazon Q Developer
9+
**Architecture**: Ubuntu 20.04 on x86_64 EC2 instances
10+
**Key Tools**: Amazon Q Developer CLI, AWS CLI v2, AWS CDK, Node.js 20 LTS
11+
**Best For**: AI-assisted development, infrastructure as code, general AWS development
12+
13+
### 🚀 [AWS Workshop - EC2 (Linux) SAM](awshp-linux-sam/)
14+
**Purpose**: Serverless application development
15+
**Architecture**: Ubuntu ARM64 on Graviton EC2 instances
16+
**Key Tools**: AWS SAM CLI, AWS CLI v2, Python 3, Amazon Q Developer extension
17+
**Best For**: Lambda functions, serverless APIs, cost-effective ARM64 development
18+
19+
### 🪟 [AWS Workshop - EC2 (Windows) DCV](awshp-windows-dcv/)
20+
**Purpose**: Windows development with remote desktop
21+
**Architecture**: Windows Server 2022 on x86_64 EC2 instances
22+
**Key Tools**: NICE DCV, VS Code, PowerShell, Windows development stack
23+
**Best For**: Windows-specific development, GUI applications, .NET development
24+
25+
### ☸️ [Kubernetes with Claude Code](awshp-k8s-with-claude-code/)
26+
**Purpose**: Container development with AI task automation
27+
**Architecture**: Kubernetes pods with persistent volumes
28+
**Key Tools**: Claude Code AI assistant, VS Code, Cursor, container tools
29+
**Best For**: Microservices, container orchestration, AI-driven task automation
30+
31+
## Template Comparison
32+
33+
| Feature | Linux Q Developer | Linux SAM | Windows DCV | K8s Claude Code |
34+
|---------|------------------|-----------|-------------|-----------------|
35+
| **Platform** | Ubuntu x86_64 | Ubuntu ARM64 | Windows Server | Kubernetes |
36+
| **AI Assistant** | Q Developer CLI | Q Developer Extension | - | Claude Code |
37+
| **Primary Use** | General AWS Dev | Serverless | Windows Dev | Container Dev |
38+
| **Cost Efficiency** | Standard | High (ARM64) | Higher | Variable |
39+
| **Persistence** | Full VM | Full VM | Full VM | Home directory |
40+
| **Startup Time** | ~2-3 min | ~2-3 min | ~5-10 min | ~30-60 sec |
41+
42+
## Getting Started
43+
44+
### Prerequisites
45+
- Coder deployment with AWS provider configured
46+
- AWS account with appropriate IAM permissions
47+
- For Kubernetes template: Existing Kubernetes cluster
48+
49+
### Template Selection Guide
50+
51+
**Choose Linux Q Developer if you want:**
52+
- AI-powered development assistance
53+
- Infrastructure as Code with CDK
54+
- General-purpose AWS development
55+
- x86_64 compatibility requirements
56+
57+
**Choose Linux SAM if you want:**
58+
- Serverless application development
59+
- Cost-effective ARM64 instances
60+
- Lambda function development
61+
- Local serverless testing
62+
63+
**Choose Windows DCV if you want:**
64+
- Windows-specific development
65+
- GUI application development
66+
- .NET or Windows-only tools
67+
- Remote desktop experience
68+
69+
**Choose Kubernetes Claude Code if you want:**
70+
- Container-based development
71+
- AI task automation
72+
- Microservices architecture
73+
- Fast workspace startup times
74+
75+
## Configuration
76+
77+
### IAM Instance Profile
78+
Most templates require an IAM instance profile for AWS service access. Configure the `aws_iam_profile` variable when deploying templates.
79+
80+
### Regional Deployment
81+
All templates support multi-region deployment with region-specific optimizations:
82+
- **Linux Q Developer**: 10 regions globally
83+
- **Linux SAM**: 4 US regions (ARM64 availability)
84+
- **Windows DCV**: 15 regions globally
85+
- **Kubernetes**: Depends on cluster location
86+
87+
### Resource Sizing
88+
Each template offers configurable resource options:
89+
- **CPU**: 1-4 vCPUs depending on template
90+
- **Memory**: 1-16 GiB RAM options
91+
- **Storage**: 10-300 GB persistent volumes
92+
93+
## Workshop Integration
94+
95+
These templates are designed for the AWS Modernization with Coder workshop and include:
96+
- Pre-configured development environments
97+
- Workshop-specific tooling and dependencies
98+
- Optimized resource configurations
99+
- Integration with workshop exercises
100+
101+
## Support and Customization
102+
103+
Each template is designed as a starting point and can be customized for specific use cases:
104+
- Modify Terraform configurations for additional AWS services
105+
- Extend startup scripts for custom tool installation
106+
- Adjust resource parameters for performance requirements
107+
- Add custom applications and integrations
108+
109+
> **Note**: These templates are designed for workshop and development use. For production deployments, review and adjust security configurations, resource limits, and access controls according to your organization's requirements.

templates/awshp-linux-q-base/README.md

Lines changed: 63 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,38 @@
11
---
2-
display_name: AWS EC2 (Linux)
3-
description: Provision AWS EC2 VMs as Coder workspaces
2+
display_name: AWS Workshop - EC2 (Linux) Q Developer
3+
description: Provision AWS EC2 VMs with Amazon Q Developer CLI and AWS development tools as Coder workspaces
44
icon: ../../../site/static/icon/aws.svg
55
maintainer_github: coder
66
verified: true
7-
tags: [vm, linux, aws, persistent-vm]
7+
tags: [vm, linux, aws, persistent-vm, q-developer, aws-cli, cdk]
88
---
99

10-
# Remote Development on AWS EC2 VMs (Linux)
10+
# Remote Development on AWS EC2 VMs (Linux) with Q Developer
1111

12-
Provision AWS EC2 VMs as [Coder workspaces](https://coder.com/docs/workspaces) with this example template.
12+
Provision AWS EC2 VMs with integrated Amazon Q Developer CLI, AWS CLI, and AWS CDK as [Coder workspaces](https://coder.com/docs/workspaces) with this workshop template.
1313

1414
## Prerequisites
1515

16-
### Authentication
16+
### Infrastructure
17+
18+
**AWS Account**: This template requires an AWS account with appropriate permissions for EC2 instance management
1719

18-
By default, this template authenticates to AWS using the provider's default [authentication methods](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#authentication-and-configuration).
20+
**IAM Instance Profile**: This template uses a configurable IAM instance profile for AWS service access
21+
22+
### Authentication
1923

20-
The simplest way (without making changes to the template) is via environment variables (e.g. `AWS_ACCESS_KEY_ID`) or a [credentials file](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-format). If you are running Coder on a VM, this file must be in `/home/coder/aws/credentials`.
24+
This template authenticates to AWS using the provider's default [authentication methods](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#authentication-and-configuration).
2125

2226
To use another [authentication method](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#authentication), edit the template.
2327

28+
### Amazon Q Developer Integration
29+
30+
This template includes Amazon Q Developer CLI integration that provides:
31+
- AI-powered code generation and assistance
32+
- Natural language to code conversion
33+
- AWS service integration and best practices
34+
- Interactive development workflows
35+
2436
## Required permissions / policy
2537

2638
The following sample policy allows Coder to create EC2 instances and modify
@@ -79,15 +91,52 @@ instances provisioned by Coder:
7991

8092
This template provisions the following resources:
8193

82-
- AWS Instance
94+
- AWS EC2 Instance (Ubuntu 20.04 LTS)
95+
- IAM instance profile for AWS service access
96+
- Cloud-init configuration for automated setup
97+
- Persistent EBS root volume
98+
99+
Coder uses `aws_ec2_instance_state` to start and stop the VM. This template is fully persistent, meaning the full filesystem is preserved when the workspace restarts.
83100

84-
Coder uses `aws_ec2_instance_state` to start and stop the VM. This example template is fully persistent, meaning the full filesystem is preserved when the workspace restarts. See this [community example](https://github.com/bpmct/coder-templates/tree/main/aws-linux-ephemeral) of an ephemeral AWS instance.
101+
## Features
102+
103+
- **VS Code Web**: Access VS Code through the browser via code-server
104+
- **Amazon Q Developer CLI**: AI-powered development assistance
105+
- **AWS CLI**: Pre-installed and configured AWS command line interface
106+
- **AWS CDK**: Cloud Development Kit with Node.js runtime
107+
- **Multi-Region Support**: Deploy in various AWS regions
108+
- **Configurable Resources**: Choose instance type and disk size
109+
- **Real-time Monitoring**: CPU, memory, and disk usage metrics
110+
111+
## Parameters
112+
113+
- **Region**: AWS region for deployment (10 regions available)
114+
- **Instance Type**: EC2 instance type (t3.micro to t3.large)
115+
- **Root Volume Size**: EBS root volume size in GB (minimum 1 GB, expandable)
116+
- **AWS IAM Profile**: IAM instance profile for AWS service access
85117

86118
> **Note**
87119
> This template is designed to be a starting point! Edit the Terraform to extend the template to support your use case.
88120
89-
## code-server
121+
## Development Tools
122+
123+
### Code Server
124+
`code-server` is installed via the Coder registry module and provides VS Code access through the browser.
125+
126+
### Amazon Q Developer CLI
127+
The Q Developer CLI is automatically installed and provides:
128+
- Interactive chat sessions for development assistance
129+
- Code generation and explanation capabilities
130+
- AWS service integration guidance
131+
132+
### AWS Development Stack
133+
- **AWS CLI v2**: Latest version with full AWS service support
134+
- **AWS CDK**: Infrastructure as Code with TypeScript/JavaScript
135+
- **Node.js 20 LTS**: Runtime for CDK and modern JavaScript development
136+
137+
## Getting Started
90138

91-
`code-server` is installed via the `startup_script` argument in the `coder_agent`
92-
resource block. The `coder_app` resource is defined to access `code-server` through
93-
the dashboard UI over `localhost:13337`.
139+
1. Create a workspace using this template
140+
2. Access VS Code through the Coder dashboard
141+
3. Initialize Q Developer CLI with `q login`
142+
4. Start developing with AI assistance using `q chat`

templates/awshp-linux-sam/README.md

Lines changed: 66 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,42 @@
11
---
2-
display_name: AWS EC2 (Linux)
3-
description: Provision AWS EC2 VMs as Coder workspaces
2+
display_name: AWS Workshop - EC2 (Linux) SAM
3+
description: Provision AWS EC2 VMs with AWS SAM CLI and serverless development tools as Coder workspaces
44
icon: ../../../site/static/icon/aws.svg
55
maintainer_github: coder
66
verified: true
7-
tags: [vm, linux, aws, persistent-vm]
7+
tags: [vm, linux, aws, persistent-vm, sam, serverless, lambda]
88
---
99

10-
# Remote Development on AWS EC2 VMs (Linux)
10+
# Remote Development on AWS EC2 VMs (Linux) with SAM
1111

12-
Provision AWS EC2 VMs as [Coder workspaces](https://coder.com/docs/v2/latest/workspaces) with this example template.
12+
Provision AWS EC2 VMs with integrated AWS SAM CLI, AWS CLI, and Amazon Q Developer for serverless development as [Coder workspaces](https://coder.com/docs/workspaces) with this workshop template.
1313

1414
<!-- TODO: Add screenshot -->
1515

1616
## Prerequisites
1717

18-
### Authentication
18+
### Infrastructure
19+
20+
**AWS Account**: This template requires an AWS account with appropriate permissions for EC2 and serverless service management
21+
22+
**IAM Instance Profile**: This template uses a configurable IAM instance profile for AWS service access
23+
24+
**Amazon Machine Image**: This template uses Ubuntu ARM64 AMI optimized for ARM-based EC2 instances
1925

20-
By default, this template authenticates to AWS using the provider's default [authentication methods](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#authentication-and-configuration).
26+
### Authentication
2127

22-
The simplest way (without making changes to the template) is via environment variables (e.g. `AWS_ACCESS_KEY_ID`) or a [credentials file](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-format). If you are running Coder on a VM, this file must be in `/home/coder/aws/credentials`.
28+
This template authenticates to AWS using the provider's default [authentication methods](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#authentication-and-configuration).
2329

2430
To use another [authentication method](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#authentication), edit the template.
2531

32+
### AWS SAM Integration
33+
34+
This template includes AWS SAM CLI integration that provides:
35+
- Serverless application development and testing
36+
- Local Lambda function execution
37+
- API Gateway local development
38+
- CloudFormation template management
39+
2640
## Required permissions / policy
2741

2842
The following sample policy allows Coder to create EC2 instances and modify
@@ -81,15 +95,53 @@ instances provisioned by Coder:
8195

8296
This template provisions the following resources:
8397

84-
- AWS Instance
98+
- AWS EC2 Instance (Ubuntu ARM64)
99+
- IAM instance profile for AWS service access
100+
- Persistent EBS root volume
101+
- ARM64-optimized development environment
102+
103+
Coder uses `aws_ec2_instance_state` to start and stop the VM. This template is fully persistent, meaning the full filesystem is preserved when the workspace restarts.
85104

86-
Coder uses `aws_ec2_instance_state` to start and stop the VM. This example template is fully persistent, meaning the full filesystem is preserved when the workspace restarts. See this [community example](https://github.com/bpmct/coder-templates/tree/main/aws-linux-ephemeral) of an ephemeral AWS instance.
105+
## Features
106+
107+
- **VS Code Web**: Access VS Code through the browser with Amazon Q Developer extension
108+
- **AWS SAM CLI**: Serverless Application Model for Lambda development
109+
- **AWS CLI**: Pre-installed ARM64 version for full AWS service support
110+
- **Python 3**: Runtime environment for Lambda functions
111+
- **ARM64 Optimization**: Graviton-based instances for cost-effective performance
112+
- **Real-time Monitoring**: CPU, memory, and disk usage metrics
113+
114+
## Parameters
115+
116+
- **Region**: AWS region for deployment (4 US regions available)
117+
- **Instance Type**: ARM64 EC2 instance type (m7g.medium or m7g.large)
118+
- **Disk Size**: EBS root volume size (10, 20, or 40 GB options)
119+
- **AWS IAM Profile**: IAM instance profile for AWS service access
87120

88121
> **Note**
89122
> This template is designed to be a starting point! Edit the Terraform to extend the template to support your use case.
90123
91-
## code-server
124+
## Development Tools
125+
126+
### Code Server
127+
`code-server` is installed directly and provides VS Code access through the browser on port 13337 with Amazon Q Developer extension pre-installed.
128+
129+
### AWS SAM CLI
130+
The SAM CLI is automatically installed and provides:
131+
- `sam init` for creating new serverless applications
132+
- `sam build` for building serverless applications
133+
- `sam local start-api` for local API Gateway testing
134+
- `sam deploy` for deploying to AWS
135+
136+
### AWS Development Stack
137+
- **AWS CLI v2**: ARM64-optimized version with full AWS service support
138+
- **Python 3**: Runtime for Lambda function development
139+
- **pip**: Package manager for Python dependencies
140+
141+
## Getting Started
92142

93-
`code-server` is installed via the `startup_script` argument in the `coder_agent`
94-
resource block. The `coder_app` resource is defined to access `code-server` through
95-
the dashboard UI over `localhost:13337`.
143+
1. Create a workspace using this template
144+
2. Access VS Code through the Coder dashboard
145+
3. Initialize a new SAM application with `sam init`
146+
4. Develop and test Lambda functions locally
147+
5. Deploy to AWS with `sam deploy`

0 commit comments

Comments
 (0)