devsy-provider-aws

command module
v1.4.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 23, 2026 License: MPL-2.0 Imports: 1 Imported by: 0

README

AWS Provider for Devsy

Getting started

The provider is available for auto-installation using

devsy provider add aws
devsy 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 devsy env with aws

After the initial setup, just use:

devsy workspace up .

You'll need to wait for the machine and environment setup.

Choosing a deployment mode (Docker or Kubernetes)

By default the provider runs your devcontainer as a Docker container on the EC2 instance. You can instead run it as a Kubernetes pod backed by a single-node K3s cluster that the provider installs on the instance.

Select the mode with the AWS_DEPLOYMENT_MODE option (docker or kubernetes):

devsy provider set-options -o AWS_DEPLOYMENT_MODE=kubernetes

In kubernetes mode the provider:

  • installs K3s during instance setup and waits for the node to become Ready,
  • restricts the cluster-admin kubeconfig at /etc/rancher/k3s/k3s.yaml to root:devsy (mode 0640), so the devsy agent on the instance can talk to the local cluster while other local users cannot, and
  • runs the devcontainer as a pod in the AWS_KUBERNETES_NAMESPACE namespace (default devsy), creating the namespace if needed.

When a secondary data volume is configured (see AWS_DATA_VOLUME_*), K3s is installed with --data-dir <mount>/k3s so that pod and image storage live on the volume instead of the root disk.

Requires a devsy CLI that resolves agent.driver from a provider option. The driver value is selected per-environment at deploy time.

NAME REQUIRED DESCRIPTION DEFAULT
AWS_DEPLOYMENT_MODE false How the devcontainer runs: docker or kubernetes (K3s). docker
AWS_KUBERNETES_NAMESPACE false Namespace for the devcontainer pod (kubernetes mode only). devsy
AWS_K3S_VERSION false Pin a specific K3s version, e.g. v1.30.2+k3s1 (kubernetes only). latest stable
AWS_K3S_CHANNEL false K3s release channel, e.g. stable (ignored if version is set).
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_SSH_INGRESS_CIDR false CIDR allowed to reach SSH on a provider-created security group; restrict to a trusted range. Ignored when a security group is supplied or Session Manager is used. 0.0.0.0/0
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 a 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:

devsy provider set-options -o AWS_AMI=my-custom-ami

You can use a variety of AWS_INSTANCE_TYPE, from this list, they include AMD, Intel and ARM64 instances, the list is automatically suggested when using the GUI application.

Local Development

To build and test the provider locally, use task task build:provider:dev. The provider file is created in ./dist/provider.yaml.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
hack
provider command
pkg
aws

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL