# RoostGPT Infrastructure

This section details the RoostGPT resources required

# RoostGPT Resources for Whitelisting

### Terraform Resources Provisioned in AWS

<table border="1" id="bkmrk-resource-name-servic" style="border-collapse: collapse; width: 100%; height: 297.969px;"><colgroup><col style="width: 43.1466%;"></col><col style="width: 56.8534%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**Resource Name**</td><td style="height: 29.7969px;">**Description**

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">aws\_key\_pair</td><td style="height: 29.7969px;">AWS EC2 keypair to SSH

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">aws\_eip</td><td style="height: 29.7969px;">An elastic ip to be used by NAT Gateway for public subnet

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">aws\_ami</td><td style="height: 29.7969px;">Ubuntu based AMI id - region specific

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">aws\_vpc</td><td style="height: 29.7969px;">VPC

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">aws\_availability\_zones</td><td style="height: 29.7969px;">AZ preferred

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">aws\_internet\_gateway</td><td style="height: 29.7969px;">IG for VPC to communicate with internet e.g. apt update

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">aws\_subnet</td><td style="height: 29.7969px;">private and public subnets

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">aws\_security\_group</td><td style="height: 29.7969px;">SG for bastion, backend and frontend service of RoostGPT

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">aws\_lb\_target\_group</td><td style="height: 29.7969px;">Target group for loadbalancer

</td></tr><tr><td>aws\_route\_table</td><td>Route Table entries for inbound and outbound traffic

</td></tr><tr><td>aws\_instance</td><td>Instances to deploy RoostGPT frontend and backend services

</td></tr><tr><td>aws\_route\_table\_association</td><td>To allow network traffic for instance to instance communication

</td></tr><tr><td>null\_resource</td><td>To deploy and run RoostGPT installer scripts on instance

</td></tr></tbody></table>

### Docker Images (hub.docker.com)

<table border="1" id="bkmrk-image-name-source-%2F-" style="border-collapse: collapse; width: 100%; height: 268.172px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**Image Name**</td><td style="height: 29.7969px;">**Tag**</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">zbio/roostai\_mysql\_db</td><td style="height: 29.7969px;">v1.1.17</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">zbio/roost-nginx</td><td style="height: 29.7969px;">latest</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">zbio/roost-app</td><td style="height: 29.7969px;">v1.1.17</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">zbio/roostai-server</td><td style="height: 29.7969px;">v1.1.17</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">zbio/roostgpt-go</td><td style="height: 29.7969px;">v1.1.17</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">zbio/roostgpt</td><td style="height: 29.7969px;">v1.1.17</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">zbio/roostgpt-ui</td><td style="height: 29.7969px;">v1.1.17</td></tr><tr><td>zbio/roost-proxy</td><td>v1.1.17</td></tr></tbody></table>

### RoostGPT scripts or executables from 

[https://github.com/roost-io/roost-support/releases/tag/v1.1.17](https://github.com/roost-io/roost-support/releases/tag/v1.1.17)

<table border="1" id="bkmrk-name-link-source-roo" style="border-collapse: collapse; width: 100%; height: 29.7969px;"><colgroup><col style="width: 50.0596%;"></col><col style="width: 50.0596%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**Name**</td><td>**Purpose**</td></tr><tr><td>[ <span class="Truncate-text text-bold" data-view-component="true">roost.sh</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/roost.sh)</td><td><span class="Truncate-text text-bold" data-view-component="true">Deployment script for Hosted stack</span></td></tr><tr><td>[ <span class="Truncate-text text-bold" data-view-component="true">roost-enterprise.sh</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/roost-enterprise.sh)</td><td><span class="Truncate-text text-bold" data-view-component="true">Controller script for Hosted stack</span></td></tr><tr><td>[ <span class="Truncate-text text-bold" data-view-component="true">main-config.json</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/main-config.json)</td><td><span class="Truncate-text text-bold" data-view-component="true">Configuration Template for Hosted stack</span></td></tr><tr><td>[ <span class="Truncate-text text-bold" data-view-component="true">aiServer.sh</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/aiServer.sh)</td><td><span class="Truncate-text text-bold" data-view-component="true">Internal scripts for Hosted stack</span></td></tr><tr><td>[ <span class="Truncate-text text-bold" data-view-component="true">aiServer.gz</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/aiServer.gz)</td><td><span class="Truncate-text text-bold" data-view-component="true">Internal daemon executable for Hosted stack</span></td></tr><tr><td>[ <span class="Truncate-text text-bold" data-view-component="true">releaseServer.sh</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/releaseServer.sh)</td><td><span class="Truncate-text text-bold" data-view-component="true">Internal scripts for Hosted stack</span></td></tr><tr><td>[ <span class="Truncate-text text-bold" data-view-component="true">releaseServer.gz</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/releaseServer.gz)</td><td><span class="Truncate-text text-bold" data-view-component="true">Internal daemon executable for Hosted stack</span></td></tr><tr><td>[<span class="Truncate-text text-bold" data-view-component="true">roost.sql</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/roost.sql)</td><td><span class="Truncate-text text-bold" data-view-component="true">SQL template for Database (Hosted stack)</span></td></tr><tr><td>[ <span class="Truncate-text text-bold" data-view-component="true">roostcertgen.gz</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/roostcertgen.gz)</td><td><span class="Truncate-text text-bold" data-view-component="true">Self signed certificate generation (Hosted stack)</span></td></tr><tr><td><div class="d-flex flex-justify-start flex-items-center col-12 col-lg-6" data-view-component="true">[ <span class="Truncate-text text-bold" data-view-component="true">roost-deployment-tool</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/roost-deployment-tool)</div></td><td><div class="d-flex flex-justify-start flex-items-center col-12 col-lg-6" data-view-component="true"><span class="Truncate-text text-bold" data-view-component="true">Installer for On-Prem, single Ubuntu server hosted stack</span></div></td></tr><tr><td>[ <span class="Truncate-text text-bold" data-view-component="true">roostgpt-1.0.15.vsix</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/roostgpt-1.0.15.vsix)</td><td><span class="Truncate-text text-bold" data-view-component="true">VS Code Plugin</span></td></tr></tbody></table>

<table border="1" id="bkmrk-windows-linux-macos-" style="border-collapse: collapse; width: 100%; height: 487.563px;"><colgroup><col style="width: 12.0381%;"></col><col style="width: 28.8409%;"></col><col style="width: 27.6549%;"></col><col style="width: 31.5852%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">  
</td><td style="height: 29.7969px;">**Windows**</td><td style="height: 29.7969px;">**Linux**</td><td style="height: 29.7969px;">**MacOS**</td></tr><tr style="height: 35.3984px;"><td style="height: 35.3984px;">**CLI**</td><td style="height: 35.3984px;"><span class="Truncate-text text-bold" data-view-component="true">[ roostgpt-win.exe ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/roostgpt-win.exe)</span></td><td style="height: 35.3984px;"><span class="Truncate-text text-bold" data-view-component="true">[ roostgpt-linux ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/roostgpt-linux)</span></td><td style="height: 35.3984px;"><div class="d-flex flex-justify-start flex-items-center col-12 col-lg-6" data-view-component="true">[<span class="Truncate-text text-bold" data-view-component="true">roostgpt-macos</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/roostgpt-macos)</div></td></tr><tr style="height: 62.5938px;"><td style="height: 62.5938px;">**UI Test**</td><td style="height: 62.5938px;"><span class="Truncate-text text-bold" data-view-component="true">[ RoostUITestGenerator-win.exe ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostUITestGenerator-win.exe)</span></td><td style="height: 62.5938px;"><span class="Truncate-text text-bold" data-view-component="true">[RoostUITestGenerator-linux](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostUITestGenerator-linux)</span></td><td style="height: 62.5938px;">[<span class="Truncate-text text-bold" data-view-component="true">RoostUITestGenerator-macos-amd</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostUITestGenerator-macos-amd)

[ <span class="Truncate-text text-bold" data-view-component="true">RoostUITestGenerator-macos-arm</span>](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostUITestGenerator-macos-arm)

<div class="d-flex flex-justify-start flex-items-center col-12 col-lg-6" data-view-component="true"><span class="Truncate-text text-bold" data-view-component="true">  
</span></div></td></tr><tr style="height: 35.3984px;"><td style="height: 35.3984px;">**Java**</td><td style="height: 35.3984px;">[ <span class="Truncate-text text-bold" data-view-component="true">RoostJavaASTParser.jar</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostJavaASTParser.jar)</td><td style="height: 35.3984px;">[ <span class="Truncate-text text-bold" data-view-component="true">RoostJavaASTParser.jar</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostJavaASTParser.jar)</td><td style="height: 35.3984px;">[ <span class="Truncate-text text-bold" data-view-component="true">RoostJavaASTParser.jar</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostJavaASTParser.jar)</td></tr><tr style="height: 57.7969px;"><td style="height: 57.7969px;">**Python**</td><td style="height: 57.7969px;">[<span class="Truncate-text text-bold" data-view-component="true">RoostPythonASTParser-win.exe</span>](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostPythonASTParser-win.exe)</td><td style="height: 57.7969px;"><span class="Truncate-text text-bold" data-view-component="true">[RoostPythonASTParser-linux](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostPythonASTParser-linux)</span></td><td style="height: 57.7969px;">[ <span class="Truncate-text text-bold" data-view-component="true">RoostPythonASTParser-mac</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostPythonASTParser-mac)</td></tr><tr style="height: 57.7969px;"><td style="height: 57.7969px;">**CSharp**</td><td style="height: 57.7969px;">[RoostCSharpASTParser-win.exe ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostCSharpASTParser-win.exe)</td><td style="height: 57.7969px;">[ <span class="Truncate-text text-bold" data-view-component="true">RoostCSharpASTParser-linux</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostCSharpASTParser-linux)</td><td style="height: 57.7969px;">[ <span class="Truncate-text text-bold" data-view-component="true">RoostCSharpASTParser-macos</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostCSharpASTParser-macos)</td></tr><tr style="height: 46.5938px;"><td style="height: 46.5938px;">**Golang**</td><td style="height: 46.5938px;">[ <span class="Truncate-text text-bold" data-view-component="true">RoostGolangASTParser-win.exe</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostGolangASTParser-win.exe)</td><td style="height: 46.5938px;">[ <span class="Truncate-text text-bold" data-view-component="true">RoostGolangASTParser-linux</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostGolangASTParser-linux)</td><td style="height: 46.5938px;">[ <span class="Truncate-text text-bold" data-view-component="true">RoostGolangASTParser-macos</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostGolangASTParser-macos)</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;"> </td><td style="height: 29.7969px;"> </td><td style="height: 29.7969px;"> </td><td style="height: 29.7969px;"> </td></tr><tr style="height: 57.7969px;"><td style="height: 57.7969px;">**Javascript**</td><td style="height: 57.7969px;"><span class="Truncate-text text-bold" data-view-component="true">[ RoostJavascriptASTParser-win.exe ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostJavascriptASTParser-win.exe)</span></td><td style="height: 57.7969px;"><span class="Truncate-text text-bold" data-view-component="true">[ RoostJavascriptASTParser-linux ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostJavascriptASTParser-linux)</span></td><td style="height: 57.7969px;"><div class="d-flex flex-justify-start flex-items-center col-12 col-lg-6" data-view-component="true">[ <span class="Truncate-text text-bold" data-view-component="true">RoostJavascriptASTParser-macos</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/RoostJavascriptASTParser-macos)</div><span class="Truncate-text text-bold" data-view-component="true">  
</span>

</td></tr><tr style="height: 74.5938px;"><td style="height: 74.5938px;">**API (Karate Test)**</td><td style="height: 74.5938px;">[ <span class="Truncate-text text-bold" data-view-component="true">karate-1.4.1.jar</span> ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/karate-1.4.1.jar)

<span class="Truncate-text text-bold" data-view-component="true">[karate-1.5.1.jar ](https://github.com/roost-io/roost-support/releases/download/v1.1.17/karate-1.5.1.jar)</span>

</td><td style="height: 74.5938px;">[<span class="Truncate-text text-bold" data-view-component="true">karate-1.4.1.jar</span>](https://github.com/roost-io/roost-support/releases/download/v1.1.17/karate-1.4.1.jar)

<span class="Truncate-text text-bold" data-view-component="true">[karate-1.5.1.jar](https://github.com/roost-io/roost-support/releases/download/v1.1.17/karate-1.5.1.jar)</span>

</td><td style="height: 74.5938px;">[<span class="Truncate-text text-bold" data-view-component="true">karate-1.4.1.jar</span>](https://github.com/roost-io/roost-support/releases/download/v1.1.17/karate-1.4.1.jar)

<span class="Truncate-text text-bold" data-view-component="true">[karate-1.5.1.jar](https://github.com/roost-io/roost-support/releases/download/v1.1.17/karate-1.5.1.jar)</span>

<div class="d-flex flex-justify-start flex-items-center col-12 col-lg-6" data-view-component="true"><span class="Truncate-text text-bold" data-view-component="true">  
</span></div></td></tr></tbody></table>

# RoostGPT Database for Hosted Server

RoostGPT solution requires a RDBMS to

- Store test configurations
- RoostGPT connector information
- User and Team information

For POC or limited trials, RoostGPT can also use a containerised database. However, it has limitations related to

\- Enterprise-grade reliability and security  
\- Advanced feature set and integrations  
\- Professional support and SLA guarantees  
\- Automated maintenance and updates

# Database Hosting Type Comparison

## Docker Container vs Cloud Hosted MySQL

<table id="bkmrk-aspect-docker-contai"><thead><tr><th>**Aspect**</th><th>**Docker Container (with Container MySQL)**</th><th>**Cloud Hosted MySQL**</th></tr></thead><tbody><tr><td>**Deployment Complexity**</td><td>✅ **Simple** - Single command deployment with docker-compose</td><td>⚠️ **Moderate** - Requires cloud service configuration and network setup</td></tr><tr><td>**Setup Time**</td><td>✅ **Minutes** - Quick spin-up for immediate use</td><td>⚠️ **Hours** - Initial cloud provisioning and configuration</td></tr><tr><td>**Target Use Case**</td><td>✅ **Ideal for POCs, demos, and development environments**</td><td>✅ **Production environments and enterprise deployments**</td></tr><tr><td>**Scalability**</td><td>❌ **Limited** - Constrained by single host resources</td><td>✅ **High** - Auto-scaling capabilities and horizontal expansion</td></tr><tr><td>**Data Persistence**</td><td>⚠️ **Moderate** - Dependent on volume configuration and host reliability</td><td>✅ **Robust** - Built-in backup, replication, and disaster recovery</td></tr><tr><td>**Performance**</td><td>⚠️ **Variable** - Limited by host machine specifications</td><td>✅ **Optimized** - Dedicated resources with performance tuning options</td></tr><tr><td>**Maintenance Overhead**</td><td>❌ **High** - Manual updates, backups, and monitoring required</td><td>✅ **Low** - Managed service with automated maintenance</td></tr><tr><td>**Cost Structure**</td><td>✅ **Low** - Only infrastructure costs for hosting</td><td>❌ **Higher** - Cloud service fees plus data transfer costs</td></tr><tr><td>**Security**</td><td>⚠️ **Basic** - Relies on host security and manual configuration</td><td>✅ **Enterprise-grade** - Built-in encryption, access controls, and compliance</td></tr><tr><td>**High Availability**</td><td>❌ **Single point of failure** - No built-in redundancy</td><td>✅ **Multi-zone redundancy** - Automatic failover capabilities</td></tr><tr><td>**Monitoring &amp; Alerting**</td><td>❌ **Manual setup required** - Custom monitoring implementation needed</td><td>✅ **Built-in** - Comprehensive metrics and alerting out-of-the-box</td></tr><tr><td>**Backup &amp; Recovery**</td><td>⚠️ **Manual process** - Requires custom backup scripts and procedures</td><td>✅ **Automated** - Point-in-time recovery and scheduled backups</td></tr><tr><td>**Feature Set**</td><td>⚠️ **Standard** - Core RoostGPT functionality</td><td>✅ **Enhanced** - Advanced analytics, extended integrations, premium features</td></tr><tr><td>**Team Collaboration**</td><td>⚠️ **Limited** - Single instance access</td><td>✅ **Full** - Multi-tenant support with role-based access</td></tr><tr><td>**Compliance &amp; Auditing**</td><td>❌ **Manual** - Custom implementation required</td><td>✅ **Built-in** - Audit logs and compliance reporting</td></tr></tbody></table>

## Deployment Recommendations

### 🐳 Docker Container Deployment

**Recommended for:**

- **Proof of Concepts (POCs)** and initial evaluations
- **Development and testing environments**
- **Small teams** with limited infrastructure requirements
- **Quick demonstrations** and pilot projects
- **Budget-conscious** deployments

**Key Benefits:**

- Rapid deployment and setup
- Self-contained environment
- Minimal external dependencies
- Cost-effective for small-scale usage

### ☁️ Cloud Hosted MySQL Deployment

**Recommended for:**

- **Production environments** with business-critical workloads
- **Enterprise deployments** requiring high availability
- **Large teams** needing advanced collaboration features
- **Scalable solutions** with growing user bases
- **Compliance-sensitive** environments

**Key Benefits:**

- Enterprise-grade reliability and security
- Advanced feature set and integrations
- Professional support and SLA guarantees
- Automated maintenance and updates

## Migration Path

Organizations typically start with **Docker Container** deployment for evaluation and POC phases, then migrate to **Cloud Hosted MySQL** for production deployment as their usage scales and requirements mature.

### Typical Evolution:

1. **POC Phase**: Docker Container for quick evaluation
2. **Development**: Docker Container for development teams
3. **Staging**: Cloud Hosted MySQL for pre-production testing
4. **Production**: Cloud Hosted MySQL for live workloads