AWS Infrastructure Reference
This page documents the AWS resources, Docker images, and network requirements for a RoostGPT deployment. Use this as a reference alongside the AWS Terraform Deployment guide.
Terraform Resources Provisioned
The following AWS resources are created by the Roost Terraform scripts:
| Resource | Description |
|---|---|
aws_key_pair | EC2 key pair for SSH access |
aws_eip | Elastic IP used by the NAT gateway for the public subnet |
aws_ami | Ubuntu-based AMI — region specific |
aws_vpc | Virtual Private Cloud |
aws_availability_zones | Preferred availability zones |
aws_internet_gateway | Internet gateway for VPC outbound access (e.g. apt update) |
aws_subnet | Private and public subnets |
aws_security_group | Security groups for bastion, backend, and frontend services |
aws_lb_target_group | Target groups for the Application Load Balancer |
aws_route_table | Route table entries for inbound and outbound traffic |
aws_instance | EC2 instances for RoostGPT frontend and backend services |
aws_route_table_association | Allows network traffic for instance-to-instance communication |
null_resource | Runs RoostGPT installer scripts on provisioned instances |
Docker Images
The following images are pulled from Docker Hub during deployment:
| Image | Tag |
|---|---|
zbio/roostai_mysql_db | v1.1.17 |
zbio/roost-nginx | latest |
zbio/roost-app | v1.1.17 |
zbio/roostai-server | v1.1.17 |
zbio/roostgpt-go | v1.1.17 |
zbio/roostgpt | v1.1.17 |
zbio/roostgpt-ui | v1.1.17 |
zbio/roost-proxy | v1.1.17 |
Ensure the EC2 instances can reach hub.docker.com on port 443.
Network Configuration
Ensure the following inbound ports are allowed on the security groups:
| Protocol | Port | Source |
|---|---|---|
| TCP (HTTPS) | 443 | All company network IPs |
| SSH | 22 | IT support staff only |
| TCP | 60001–62120 | Internal |
RoostGPT Scripts and Executables
Scripts and binaries are available from the GitHub releases page:
| Name | Purpose |
|---|---|
roost.sh | Deployment script for hosted stack |
roost-enterprise.sh | Controller script for hosted stack |
main-config.json | Configuration template for hosted stack |
aiServer.sh | Internal script for hosted stack |
aiServer.gz | Internal daemon executable for hosted stack |
releaseServer.sh | Internal script for hosted stack |
releaseServer.gz | Internal daemon executable for hosted stack |
roost.sql | SQL template for database (hosted stack) |
roostcertgen.gz | Self-signed certificate generator |
roost-deployment-tool | Installer for on-prem single Ubuntu server stack |
roostgpt-1.0.15.vsix | VS Code plugin |
Platform Binaries
| Component | Windows | Linux | macOS |
|---|---|---|---|
| CLI | roostgpt-win.exe | roostgpt-linux | roostgpt-macos |
| UI Test | RoostUITestGenerator-win.exe | RoostUITestGenerator-linux | RoostUITestGenerator-macos-amd, RoostUITestGenerator-macos-arm |
| Java | RoostJavaASTParser.jar | RoostJavaASTParser.jar | RoostJavaASTParser.jar |
| Python | RoostPythonASTParser-win.exe | RoostPythonASTParser-linux | RoostPythonASTParser-mac |
| C# | RoostCSharpASTParser-win.exe | RoostCSharpASTParser-linux | RoostCSharpASTParser-macos |
| Golang | RoostGolangASTParser-win.exe | RoostGolangASTParser-linux | RoostGolangASTParser-macos |
| API (Karate) | karate-1.4.1.jar, karate-1.5.1.jar | karate-1.4.1.jar, karate-1.5.1.jar | karate-1.4.1.jar, karate-1.5.1.jar |
Database Requirements
RoostGPT requires a relational database to store:
- Test configurations
- RoostGPT connector information
- User and team information
Supported databases: MySQL, Amazon Aurora (MySQL-compatible), PostgreSQL, Amazon Aurora (PostgreSQL-compatible)
For POC or limited trials, RoostGPT can use a containerised database included in the stack. For production deployments, use a managed database service for reliability, security, and support guarantees.
See AWS Terraform Deployment — Database Setup for step-by-step RDS provisioning instructions.
Docker Container vs. Cloud-Hosted Database
| Aspect | Docker Container | Cloud Hosted (RDS / Aurora) |
|---|---|---|
| Deployment Complexity | Simple — single docker-compose command | Moderate — cloud service config and network setup |
| Setup Time | Minutes | Hours (initial provisioning) |
| Target Use Case | POCs, demos, development | Production, enterprise |
| Scalability | Limited by host resources | Auto-scaling and horizontal expansion |
| Data Persistence | Depends on volume config and host | Built-in backup, replication, disaster recovery |
| Performance | Variable — limited by host specs | Optimised with dedicated resources |
| Maintenance | Manual updates, backups, monitoring | Managed service — automated maintenance |
| Cost | Low — infrastructure only | Higher — cloud service fees |
| Security | Basic — host-level only | Enterprise-grade encryption and access controls |
| High Availability | Single point of failure | Multi-zone redundancy with automatic failover |
| Backup and Recovery | Manual scripts required | Automated point-in-time recovery |
| Compliance | Custom implementation required | Built-in audit logs and compliance reporting |
When to use Docker Container: POC evaluations, development environments, small teams, quick demos.
When to use Cloud Hosted: Production workloads, enterprise deployments, compliance-sensitive environments, large teams requiring high availability.
Organizations typically start with Docker Container for evaluation, then migrate to a managed database service as usage scales.