Heads up! On October 1, we introduced Gitpod Flex. You can swap between documentation by using the switcher in the left navigation bar.

AWS Deployment

CloudFormation Template Structure

The Gitpod Gateway uses an AWS CloudFormation template for deployment, which defines the following key resources:

  • ECS Cluster for the Gateway Server

  • EC2 Auto Scaling Groups for Lighthouse and Proxy nodes

  • DynamoDB table for state management

  • VPC and associated networking components (template parameter)

  • IAM roles and policies

  • Route53 DNS entries

  • ELB for load balancing incoming traffic

Deployment Process

To deploy the Gitpod Gateway:

  1. Ensure you have configured the AWS CLI with the appropriate credentials.

  2. Deploy the stack using AWS CloudFormation:

language icon bash
aws cloudformation create-stack --stack-name GitpodGateway --template-body file://gitpod-gateway.template.json --capabilities CAPABILITY_IAM3)

Monitor the progress of stack creation in the AWS CloudFormation console.

Configuration Options

You can customize the Gitpod Gateway using the following configuration options:

  • GatewayDomain: The domain name for the Gateway (e.g., eu01.gitpod.dev)

  • VPC: The VPC ID to deploy the Gateway into

  • Subnets: A list of subnet IDs for deploying components

  • EC2RunnerAzs: Availability Zones for EC2 instances

  • JoinTokenSecret: ARN of the AWS Secrets Manager secret containing the join token. The Gitpod Flex control plane API (or the UI) provides this token.

Set these parameters when creating or updating the CloudFormation stack.

Was this helpful?