RoostGPT CLI Installation Guide - EC2 Linux
Overview
RoostGPT is an AI-powered testing tool. This guide will help you install RoostGPT on your EC2 (RHEL or Ubuntu) instance in just a few minutes.
Pilot Prerequisites
Before installing RoostGPT, ensure your system meets the following requirements:
| Requirement | Specification |
|---|---|
| Operating System | RHEL 9.5 or Ubuntu 22.04 |
| CPU (or vCPUs) | 8 or more |
| RAM | 16 GB or more |
| Instance Type | c5a.2xlarge or better |
| Root Disk Space | Minimum 100 GB available |
| Additional Volume | Minimum 150 GB |
| Mount Point for additional volume | /var/tmp/Roost (with full permissions granted to SSH user) |
| Network | Internet connection enabled |
| Permissions | sudo/root access required (SSH user should have sudo permissions) |
|
AWS Key & Secret |
Set in environment or in .profile for accessing AWS Services |
|
AWS IAM User Role |
Policy: AmazonBedrockFullAccess or Custom Bedrock Policy as defined below |
|
AWS Bedrock Model (one or more of these listed models) |
global.anthropic.claude-sonnet-4-5-20250929-v1:0 global.anthropic.claude-sonnet-4-20250514-v1:0
eu.anthropic.claude-sonnet-4-5-20250929-v1:0 eu.anthropic.claude-sonnet-4-20250514-v1:0 eu.anthropic.claude-3-7-sonnet-20250219-v1:0 |
|
|
|
|
RoostGPT License & Installer |
Provided by Roost Team |
|
|
|
|
POC 1 - Input Sample |
1. Word document or PDF with User Story or System Analysis Document 2. Optional: API Specification that is representative of current features |
|
POC 2 - Input Sample |
1. Swagger API Spec |
AWS Bedrock Model Access to one or more of the anthropic (cross-region) models is fine.
Custom Bedrock Policy for AWS IAM User
{
Version = "2012-10-17"
Statement = [
{
Effect = "Allow"
Action = [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream",
"bedrock:ListFoundationModels",
"bedrock:GetFoundationModel"
]
Resource = "*"
},
{
"Effect": "Allow",
"Action": [
"bedrock:GetInferenceProfile",
"bedrock:ListInferenceProfiles",
],
"Resource": [
"arn:aws:bedrock:*:*:inference-profile/*",
"arn:aws:bedrock:*:*:application-inference-profile/*"
]
}
]
}
-
Configure AWS profile into launched server, either by
-
setting AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, in $HOME/.profile
-
Or stage $HOME/.aws/credentials
-
-
Transfer Roost license file (.ral) into EC2 instance.
- Transfer roostgpt-installer executable into the EC2 instance
-
Ensure Python3 & AWS CLI is installed on the instance to support troubleshooting.
Details of Roost Installer
Bundled artifact in the Roost installer
RoostGPT can be executed locally for Unit Tests. However, it is recommended that the necessary language version and build tools, dependency have to be installed on EC2 (Linux).
| Name | Purpose / Description | Location |
| roostgpt-linux | CLI executable for roostGPT |
Bundled binary Reference: v1.1.18/roostgpt-linux |
| roostenc-linux | Decryt/Encrypt binary for troubleshooting RoostGPT behaviour | Bundled in the roostgpt-installer (not available publicly) |
| license/license.ral | Roost License File | Bundled in the roostgpt-installer (not available publicly) |
| workspace/postman-api-test | Sample swagger API spec file and env to generate postman collection with tests |
API Spec: weather,yaml Reference: https://openweathermap.org/api |
| workspace/functional-test | Sample Functional Test project with env | Sample word document written by Roost Team - (not publicly available) |
Installation Steps
Mount EBS Volume (optional, check if notit is done already)
- Verify that /var/tmp/Roost does not exist already
- Check the read/write/execute permissions on the mount point
- Extract the volume ID
- Mount the disk, volume as Roost folder
- Add fstab entry for handling m/c reboot
# Verify if the Roost folder exists
df -h /var/tmp/Roost
# if not create directory
sudo mkdir $ROOST_DIR
sudo chown `id -u`:`id -g` ${ROOST_DIR}
# Check if volume and disk exists
# Typically this is the
export DISK="nvme0n1"
export EBS_VOLUME="/dev/nvme0n1"
blkid | grep "${DISK}:"
lsblk | grep -w "${EBS_VOLUME}"
# Run below snippet to mount disk and add entry to fstab file
lsblk -f | grep -w "${DISK}" | grep "ext4"
if [ $? -ne 0 ]; then
sudo mkfs -t ext4 ${EBS_VOLUME}
fi
if [ ! -d "${ROOST_DIR}" ]; then
sudo mkdir ${ROOST_DIR}
fi
sudo mount ${EBS_VOLUME} ${ROOST_DIR}
mount | grep "$EBS_VOLUME"
if [ $? -eq 0 ]; then
sudo chown `id -u`:`id -g` ${ROOST_DIR}
grep -v "${ROOST_DIR}" /etc/fstab | sudo tee /etc/fstab.noroost
# Plan for reboot
epoch=$(date +%s)
sudo cp /etc/fstab /etc/fstab.orig.${epoch}
which blkid
if [ $? -eq 0 ]; then
uuid=$(blkid | grep "${EBS_VOLUME}:" | awk '{print $2}'|sed -e 's/"//g')
fi
if [ -z $uuid ]; then
id=$(lsblk -f -o NAME,UUID | grep -w "${DISK}" | awk '{print $2}'|sed -e 's/"//g')
uuid="UUID=${id}"
fi
if [ ! -z $uuid ]; then
echo "${uuid} ${ROOST_DIR} ext4 defaults 0 2" | sudo tee -a /etc/fstab.noroost
sudo cp /etc/fstab.noroost /etc/fstab
sudo umount ${ROOST_DIR}
sudo mount -a
if [ $? -eq 0 ]; then
mount | grep "$EBS_VOLUME"
if [ $? -ne 0 ]; then
sudo chown `id -u`:`id -g` ${ROOST_DIR}
fi
fi
fi
Copy the installer and license file
- Download Installer from Shared Google Drive <LOCATION SENT OVER EMAIL>
- You have to download the RoostGPT installer (Roost License file will be bundled) from a shared Google Drive.
- Transfer Installer using scp
- Make Installer executable
# From your local machine, copy installer to Ubuntu instance
scp roostgpt-installer.sh ubuntu@<your-instance-ip>:~/
# Then SSH into your instance
ssh ubuntu@<your-instance-ip>
# Add execute permissions to installer
chmod +x roostgpt-installer.sh
# Execute Roost Installer
sudo ./roostgpt-installer.sh
Installation interface:
╔════════════════════════════════════════════════════════════╗
║ ║
║ RoostGPT Installer ║
║ ║
╚════════════════════════════════════════════════════════════╝
[→] Checking system requirements...
[✓] System requirements met
Continue with installation? [Y/n]
Press Y and Enter to continue.
The installer will:
- Extract files
- Install RoostGPT binary
- Unpack the code parsers
- Copy workspace with pre-canned examples
- Configure all necessary permissions
Installation typically completes in under 1 minute.
Verify Installation
After successful installation, you'll see:
╔════════════════════════════════════════════════════════════╗
║ ║
║ ✓ RoostGPT Installation Completed Successfully! ║
║ ║
╚════════════════════════════════════════════════════════════╝
Now you can run: roostgpt
Installed Samples
# Show the installed sample workspaces
find ~/workspace -ls
Structure - Roost Sample Workspace
The workspace contains example projects to help you get started:
~/workspace/
├── Folder1/
│functional-test/
└── .functional-test.env # Configuration for projectPOC 1
└── Folder2/run.sh # Run script for POC 1
└── .UserStory.docx # Sample user requirements doc for POC 1
└── postman-api-test/
└── postman-api-test.env # Configuration for projectPOC 2
└── run.sh # Run script for POC 2
└── weather.yaml # Sample Swagger Spec for POC 2
Configuring AWS Credentials
Adding AWS Credentials
# SSH into your instance
ssh ubuntu@<your-instance-ip>
# Edit $HOME/.profile
vim $HOME/.profile
# Add export AWS keys to your $HOME/.profile and save the file
export AWS_ACCESS_KEY_ID=xxx
export AWS_SECRET_ACCESS_KEY=xxx
export AWS_DEFAULT_REGION=eu-west-1
export AWS_BEDROCK_MODEL_TYPE=cross-region # Supports [foundation, cross-region]
export AWS_BEDROCK_MODEL=global.anthropic.claude-sonnet-4-20250514-v1:0
# Source the file .profile to make the AWS creds available in the same session
. $HOME/.profile
Using RoostGPT
Running RoostGPT
You can now access RoostGPT from anywhere on your system, using the command roostgpt
Quick Start Example
# 1. SSH into your Ubuntu instance
ssh ubuntu@<your-instance-ip>
# 2. Navigate to workspace
cd ~/workspace/functional-test
# 3. Run RoostGPT
./run.sh
# OR you can run using the full command
roostgpt test create -c functional-test.env
Viewing Roost Test Results
roostgpt test result
Here's a complete workflow from login to running RoostGPT:
Configure a new test
Each project folder in your workspace contains a <UNIQUE-TEST-NAME>.env file for configuration. You can copy this env and modify the contents for a new test run. Or create a new test env file.
Execute roostgpt with this new env.
# Create a new Roost Test Configuration File
vim new_test.env
###################################
# Modify the below attributes
TEST_NAME=ANY_UNIQUE_NAME # Any unique_name to represent the test configuration
TEST_TYPE=functional # Default is unit; Supports [unit, functional, api-spec-test, integration]
AI_TYPE=bedrock_ai # Default is openai; Supports [openai, azure_open_ai, claude_ai, dbrx, bedrock_ai, gemini]
ROOST_USER_INPUT_TYPE=file # Roost User input Type for test generation; Supports [text, file]
ROOST_USER_INPUT_FILE=USER_FILE_PATH # The user input file-path will be used to generate tests
# GIT env vars
GIT_TYPE=local # Default is github; Supports [github, gitlab, azure, bitbucket, local]
LOCAL_PROJECT_PATH=PATH_TO_WORKSPACE_FOLDER # Required if GIT_TYPE is local, Path to your workspace.
# AWS Bedrock env vars
AWS_ACCESS_KEY_ID= # Required: If not defined here, it will be picked from environment
AWS_SECRET_ACCESS_KEY= # Required: If not defined here, it will be picked from environment
AWS_SESSION_TOKEN= # Optional; AWS Session token.
AWS_DEFAULT_REGION=eu-west-1 # Required if AI_TYPE=aws_bedrock.
AWS_BEDROCK_MODEL_TYPE=cross-region # Required if AI_TYPE=aws_bedrock.
AWS_BEDROCK_MODEL=global.anthropic.claude-sonnet-4-20250514-v1:0 # Required if AI_TYPE=aws_bedrock.
# Api Spec env vars
API_SPEC_TYPE=swagger # Optional; Supports [swagger]
API_SPEC_SOURCE=file # Optional; Supports [file, gitpath, url]
API_SPEC_FILE_PATH="$HOME/FILE" # Optional; path of the source file.
API_SPEC_URL= # Optional; URL of the source file, if source is url
###################################
# Run the new test configuration
roostgpt test -c new_test.env
Troubleshooting
Installation Issues
Problem: Permission denied when running installer
# Solution: Make sure you're using sudo
sudo ./roostgpt-installer.sh
Problem: Command not found: roostgpt
# Solution: Verify installation completed successfully
which roostgpt
# Should output: /usr/local/bin/roostgpt
# Check executable permissions on roostgpt and grant if missing
chmod +x $(which roostgpt)
# If not found, re-run the installer
sudo ./roostgpt-installer.sh
Problem: Insufficient disk space
# Solution: Check available space
df -h $HOME /var/tmp/Roost
# Free up space or use an instance with more storage
Runtime Issues
Problem: Can't find workspace
# Solution: Workspace is in your home directory
cd ~/workspace
ls -la
Problem: Configuration not loading
# Solution: Ensure .env files exist and are readable
find ~/workspace/ -name '*.env' -ls
find ~/workspace/ -name '*.env' -exec chmod 644 {} \;
Verify AWS Bedrock Access
aws cli <>