The ARN (arn:aws:iam::012345678901:instance-profile/earthly/satellites/name/profile-name) of the instance profile satellite instances will use for logging.
The ARN (arn:aws:iam::012345678901:role/earthly/satellites/name/role-name) of the role Earthly will assume to orchestrate satellites on your behalf.
Manually Configuring BYOC Infrastructure
If you can't provision BYOC infrastructure using CloudFormation or Terraform, this should give you enough information to recreate what they do yourself. If you need help, you can contact us.
Subnet
You will need to create a Subnet (and a VPC, if needed) within the desired AWS account. The Subnet should have internet access, and have a CIDR block or DNS that is resolvable from within your network (VPN or otherwise).
Security Group
Each satellite has one security group associated with it. Each satellite gets the following ingress rules by default:
Protocol
CIDR
From Port
To Port
Description
TCP
Satellite Subnet
22
22
Allow SSH access from within the ingress subnet. Used for debugging satellite issues.
TCP
Satellite Subnet
8372
8372
Allow Buildkit access.
TCP
Satellite Subnet
9000
9000
Allow Prometheus scraping for monitoring your satellites. Metrics are exported by node_exporter.
Satellite egress defaults to allowing general, unrestricted outbound traffic to the general internet.
SSH Key
Any SSH key will do. Follow AWS's guide to create or upload an existing keypair.
Cloudwatch Logs
Create a new Cloudwatch log group named /earthly/satellites/<cloud-name>, where <cloud-name> is the same value you will provide to Earthly via the --name parameter. The default class is STANDARD. For more information on log group classes, see AWS documentation.
Instance Role
Each satellite is configured to put relevant Buildkit logs in Cloudwatch. Earthly relies on an instance role to provide the relevant permissions.
Earthly uses a role within your AWS account to enable orchestration. This means that Earthly will only time-limited, user-revocable access to your cloud account.