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 |
| 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 eu.anthropic.claude-3-5-sonnet-20240620-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 is installed on the instance
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 (RHEL).
| Name | Purpose / Description | Location |
| roostgpt-linux | CLI executable for roostGPT | v1.1.18/roostgpt-linux |
| RoostJavaASTParser.jar | Java language AST Parser | v1.1.18/RoostJavaASTParser.jar |
| RoostPythonASTParser-linux | Python language AST Parser | v1.1.18/RoostGolangASTParser-linux |
| RoostGolangASTParser-linux | Golang language AST Parser | v1.1.18/RoostGolangASTParser-linux |
| RoostCSharpASTParser-linux | CSharp language AST Parser | v1.1.18/RoostCSharpASTParser-linux |
| RoostUITestGenerator-linux | UI Playwright Test Generator | v1.1.18/RoostUITestGenerator-linux |
| roostenc-linux | Decryt/Encrypt binary for troubleshooting RoostGPT behaviour | Not available publicly but bundled in the roostgpt-installer |
| license/license.ral | Roost License File | Not available publicly but provided directly to the customer |
| workspace/postman-api-test | Sample swagger API spec file and env to generate postman collection with tests | API Spec: https://openweathermap.org/api |
| workspace/java-maven-test | Sample Java Maven project with env | roost-io/API-MusicBlender-Java |
| workspace/java-gradle-test | Sample Java Gradle project with env | roost-io/gradle-app |
| workspace/csharp-nunit-test | Sample CSharp DotNet project with env | roost-io/C-Sharp |
List of Language, Build Tools and Dependencies:
| Language | Dependency requirement |
| Java - Maven | JDK, JRE, Maven |
| Java - Gradle | JDK, JRE, Gradle |
| Csharp | dotnet |
| Golang | go |
| Python | python, pytest, unittest |
| Postman | No Dependency |
| Rest Assured | JDK, JRE, Maven |
| Karate | JDK, JRE, Maven |
Installation Steps
Copy the installer and license file
- Download Installer from Shared Google Drive
- You have to download the RoostGPT installer and Roost License file from a shared Google Drive.
- Transfer Installer and License file using scp
- Make Installer executable
# From your local machine, copy installer and license to Ubuntu instance
scp roostgpt-installer.sh license.ral ubuntu@<your-instance-ip>:~/
# Then SSH into your instance
ssh ubuntu@<your-instance-ip>
# Move license.ral to $HOME/.roost
mkdir $HOME/.roost
mv $HOME/license.ral $HOME/.roost
# 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/
│ └── .env # Configuration for project 1
└── Folder2/
└── .env # Configuration for project 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
# Source the file .profile to make the AWS creds available in the same session
. $HOME/.profile
Using RoostGPT
Running RoostGPT
You can now access / run 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 <SOME-TEST-NAME>.env file for configuration. You can copy this env and modify the contents for a new test run. Execute roostgpt as
# Copy an existing configuration to a new file
cp ~/workspace/Folder1/.env new_test.env
# Edit Folder2 configuration
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="" # The user input will be used to generate tests
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 / /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 {} \;