coder/examples/templates/aws-linux
Mathias Fredriksson a1212014df
chore(examples): Add `login_before_ready` and `startup_script_timeout` (#5880)
2023-01-27 21:01:48 +00:00
..
README.md chore: Add icons to templates (#5368) 2022-12-09 18:47:09 +00:00
main.tf chore(examples): Add `login_before_ready` and `startup_script_timeout` (#5880) 2023-01-27 21:01:48 +00:00

README.md

name description tags icon
Develop in Linux on AWS EC2 Get started with Linux development on AWS EC2.
cloud
aws
/icon/aws.png

aws-linux

To get started, run coder templates init. When prompted, select this template. Follow the on-screen instructions to proceed.

Authentication

This template assumes that coderd is run in an environment that is authenticated with AWS. For example, run aws configure import to import credentials on the system and user running coderd. For other ways to authenticate consult the Terraform docs.

Required permissions / policy

The following sample policy allows Coder to create EC2 instances and modify instances provisioned by Coder:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "ec2:GetDefaultCreditSpecification",
        "ec2:DescribeIamInstanceProfileAssociations",
        "ec2:DescribeTags",
        "ec2:CreateTags",
        "ec2:RunInstances",
        "ec2:DescribeInstanceCreditSpecifications",
        "ec2:DescribeImages",
        "ec2:ModifyDefaultCreditSpecification",
        "ec2:DescribeVolumes"
      ],
      "Resource": "*"
    },
    {
      "Sid": "CoderResources",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeInstances",
        "ec2:DescribeInstanceAttribute",
        "ec2:UnmonitorInstances",
        "ec2:TerminateInstances",
        "ec2:StartInstances",
        "ec2:StopInstances",
        "ec2:DeleteTags",
        "ec2:MonitorInstances",
        "ec2:CreateTags",
        "ec2:RunInstances",
        "ec2:ModifyInstanceAttribute",
        "ec2:ModifyInstanceCreditSpecification"
      ],
      "Resource": "arn:aws:ec2:*:*:instance/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Coder_Provisioned": "true"
        }
      }
    }
  ]
}

code-server

code-server is installed via the startup_script argument in the coder_agent resource block. The coder_app resource is defined to access code-server through the dashboard UI over localhost:13337.