Skip to content

Installation

Prerequisites

  • macOS or Linux (Windows: planned)
  • rsync — pre-installed on macOS; apt install rsync on Linux
  • AWS credentials — see AWS setup below

Install Yeager

curl -fsSL https://yeager.sh/install | sh

This installs the yg binary to your PATH.

Install via npm

npm install -g @yeager/cli

Install via Homebrew

brew install gridlhq/tap/yeager

AWS Setup

Yeager creates EC2 instances, an S3 bucket, and a security group in your AWS account.

1. Create an IAM user

  1. Go to IAM → Users → Create user
  2. Choose Programmatic access
  3. Attach the policy below (inline or managed)

2. Minimum IAM permissions

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:RunInstances", "ec2:DescribeInstances", "ec2:StartInstances",
        "ec2:StopInstances", "ec2:TerminateInstances", "ec2:CreateSecurityGroup",
        "ec2:DescribeSecurityGroups", "ec2:AuthorizeSecurityGroupIngress",
        "ec2:CreateTags", "ec2:DescribeImages"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket", "s3:PutBucketLifecycleConfiguration",
        "s3:HeadBucket", "s3:PutObject", "s3:GetObject"
      ],
      "Resource": ["arn:aws:s3:::yeager-*", "arn:aws:s3:::yeager-*/*"]
    },
    {
      "Effect": "Allow",
      "Action": ["ec2-instance-connect:SendSSHPublicKey"],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": ["sts:GetCallerIdentity"],
      "Resource": "*"
    }
  ]
}

3. Configure credentials

Run yg configure and follow the prompts, or use the AWS CLI directly:

aws configure

Or export environment variables:

export AWS_ACCESS_KEY_ID=your_key
export AWS_SECRET_ACCESS_KEY=your_secret