https://github.com/loft-sh/devpod-provider-aws
DevPod on AWS
https://github.com/loft-sh/devpod-provider-aws
Last synced: 9 months ago
JSON representation
DevPod on AWS
- Host: GitHub
- URL: https://github.com/loft-sh/devpod-provider-aws
- Owner: loft-sh
- License: mpl-2.0
- Created: 2023-03-08T10:26:51.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-23T15:29:06.000Z (about 1 year ago)
- Last Synced: 2025-04-15T01:14:26.774Z (9 months ago)
- Language: Go
- Size: 8.72 MB
- Stars: 14
- Watchers: 4
- Forks: 10
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# AWS Provider for DevPod
[](https://slack.loft.sh/) [](https://devpod.sh/open#https://github.com/loft-sh/devpod-provider-aws)
## Getting started
The provider is available for auto-installation using
```sh
devpod provider add aws
devpod provider use aws
```
Follow the on-screen instructions to complete the setup.
Needed variables will be:
- AWS_REGION or AWS_DEFAULT_REGION
The provider will inherit the login information from `aws cli` or you can
specify in your environment, or in the provider options, the `AWS_ACCESS_KEY_ID=`
and `AWS_SECRET_ACCESS_KEY=`
### Creating your first devpod env with aws
After the initial setup, just use:
```sh
devpod up .
```
You'll need to wait for the machine and environment setup.
### Customize the VM Instance
This provider has the following options
| NAME | REQUIRED | DESCRIPTION | DEFAULT |
|-------------------|----------|---------------------------------------|-------------------------|
| AWS_AMI | false | The disk image to use. | latest ubuntu in the region with proper architecture for the instance |
| AWS_DISK_SIZE | false | The disk size to use. | 40 |
| AWS_ROOT_DEVICE | false | The ID of the root device. | The `RootDeviceName` property of the AMI, or `/dev/sda1` if undefined |
| AWS_INSTANCE_TYPE | false | The machine type to use. | c5.xlarge |
| AWS_REGION | true | The aws cloud region to create the VM | |
| AWS_VPC_ID | false | The vpc id to use. | |
| AWS_SECURITY_GROUP_ID | false | The security group ID is a comma separated list of IDs for the VM | created if not specified |
| AWS_SUBNET_ID | false | The subnet ID for the VM | created if not specified |
| AWS_INSTANCE_TAGS | false | Additional flags for the VM in the form of "Name=XXX,Value=YYY " | |
| AWS_INSTANCE_PROFILE_ARN | false | The ARN of the instance profile to use for the VM | created if not specified |
You will need an user profile able to:
- Create/Start/Stop/Destroy instances
- Create/Destroy security groups
- Create/Destroy subnets
- Create/Destroy instance profiles
Alternatively you'll need to provide the IDs/ARNs of the already created resources.
Instance Create/Start/Stop/Destroy permissions are mandatory for how the provider itself works.
Options can either be set in `env` or on the command line, for example:
```sh
devpod provider set-options -o AWS_AMI=my-custom-ami
```
You can use a variety of AWS_INSTANCE_TYPE, from [this list](https://github.com/loft-sh/devpod-provider-aws/blob/ca830cc2b0f530436475ba29791391f80458ab6a/hack/provider/provider.yaml#L88), they include
AMD, Intel and ARM64 instances, the list is automatically suggested when using
the GUI application.