{"id":31765741,"url":"https://github.com/ashrithvm/cloud-rce-platform","last_synced_at":"2026-07-21T18:39:37.104Z","repository":{"id":314810201,"uuid":"1056804894","full_name":"ashrithvm/cloud-rce-platform","owner":"ashrithvm","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-14T22:07:10.000Z","size":279,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-15T00:16:49.044Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ashrithvm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-14T20:48:30.000Z","updated_at":"2025-09-14T22:07:55.000Z","dependencies_parsed_at":"2025-09-15T00:16:59.684Z","dependency_job_id":"6e4e05f0-edba-4864-ae87-9fb4aa6a3120","html_url":"https://github.com/ashrithvm/cloud-rce-platform","commit_stats":null,"previous_names":["ashrithvm/container-rce-platform"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ashrithvm/cloud-rce-platform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashrithvm%2Fcloud-rce-platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashrithvm%2Fcloud-rce-platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashrithvm%2Fcloud-rce-platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashrithvm%2Fcloud-rce-platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ashrithvm","download_url":"https://codeload.github.com/ashrithvm/cloud-rce-platform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashrithvm%2Fcloud-rce-platform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002355,"owners_count":26083356,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-10T00:26:06.125Z","updated_at":"2025-10-10T00:26:08.098Z","avatar_url":"https://github.com/ashrithvm.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS Cloud-Native Remote Code Execution (RCE) Platform\n\nA fully serverless, cloud-native web application built on AWS that allows users to write, submit, and execute code in multiple languages (C++, Java, Python, JavaScript) with enterprise-grade security, scalability, and cost efficiency.\n\n## 🏗️ Architecture\n\n### Cloud-Native AWS Architecture\n\nThis platform leverages AWS services for maximum efficiency, scalability, and cost optimization:\n\n```\n┌─────────────────────────────────────────────────────────────────┐\n│                     User's Browser                             │\n│  ┌─────────────────┐                                            │\n│  │  React SPA      │                                            │\n│  │  (CloudFront)   │                                            │\n│  └─────────────────┘                                            │\n└─────────────────────────────────────────────────────────────────┘\n                               │\n                               ▼\n┌─────────────────────────────────────────────────────────────────┐\n│                      API Gateway (REST)                        │\n│  ┌─────────────────┐  ┌─────────────────┐                      │\n│  │ POST /execute   │  │ GET /job-status │                      │\n│  └─────────────────┘  └─────────────────┘                      │\n└─────────────────────────────────────────────────────────────────┘\n                               │\n                               ▼\n┌─────────────────────────────────────────────────────────────────┐\n│                     Lambda Functions                           │\n│  ┌─────────────────┐  ┌─────────────────┐                      │\n│  │   API Lambda    │  │ Executor Lambda │                      │\n│  │ (Job Creation)  │  │ (Code Execution)│                      │\n│  └─────────────────┘  └─────────────────┘                      │\n└─────────────────────────────────────────────────────────────────┘\n                │                          │\n                ▼                          ▼\n┌─────────────────┐              ┌─────────────────┐\n│  SQS Queue      │              │ ElastiCache     │\n│  (Job Queue)    │              │ (Job Status)    │\n└─────────────────┘              └─────────────────┘\n                │\n                ▼\n┌─────────────────────────────────────────────────────────────────┐\n│                        S3 Storage                              │\n│  ┌─────────────────┐  ┌─────────────────┐                      │\n│  │ Code Storage    │  │ Frontend Assets │                      │\n│  │  (Temporary)    │  │   (Static Web)  │                      │\n│  └─────────────────┘  └─────────────────┘                      │\n└─────────────────────────────────────────────────────────────────┘\n```\n\n### 🚀 Key Architectural Benefits\n\n1. **Maximum Efficiency (Priority 1)**:\n   - **Pay-per-execution model**: Lambda functions only charge when code is executed\n   - **Auto-scaling**: No idle resources, scales from 0 to thousands of executions\n   - **Cold start optimization**: Efficient code execution with minimal latency\n   - **Resource limits**: Memory and CPU constraints prevent runaway processes\n\n2. **Scalability (Priority 2)**:\n   - **Horizontal scaling**: SQS queue handles millions of messages\n   - **Concurrent execution**: Multiple Lambda instances process jobs in parallel\n   - **Global distribution**: CloudFront serves frontend globally\n   - **Elastic caching**: Redis scales based on demand\n\n3. **Security**:\n   - **Isolated execution**: Each code execution runs in a separate Lambda environment\n   - **VPC isolation**: Lambda functions run in private subnets\n   - **Encryption**: All data encrypted at rest and in transit\n   - **IAM permissions**: Least privilege access controls\n\n4. **Cost Optimization**:\n   - **No idle infrastructure**: Pay only for actual usage\n   - **Efficient resource allocation**: Right-sized Lambda functions\n   - **Content delivery**: CloudFront reduces bandwidth costs\n   - **Auto-expiring storage**: Temporary code files auto-delete\n\n## 🛠️ Technology Stack\n\n### Frontend\n- **React 18** - Modern UI library\n- **Tailwind CSS** - Utility-first CSS framework\n- **Monaco Editor** - VS Code editor engine\n- **Axios** - HTTP client for API calls\n\n### Backend (AWS Services)\n- **AWS Lambda** - Serverless compute for API and execution\n- **Amazon API Gateway** - RESTful API management\n- **Amazon SQS** - Message queue for job management\n- **Amazon ElastiCache (Redis)** - In-memory data store for job status\n- **Amazon S3** - Object storage for code and static assets\n- **Amazon CloudFront** - Global content delivery network\n\n### Infrastructure\n- **Terraform** - Infrastructure as Code\n- **AWS VPC** - Network isolation and security\n- **AWS IAM** - Identity and access management\n- **Amazon CloudWatch** - Monitoring and logging\n\n## 📋 Prerequisites\n\n- **AWS CLI** (v2.0+) - [Installation Guide](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)\n- **Terraform** (v1.0+) - [Installation Guide](https://learn.hashicorp.com/tutorials/terraform/install-cli)\n- **Node.js** (v18+) - [Download](https://nodejs.org/)\n- **AWS Account** with appropriate permissions\n\n## ⚡ Quick Start\n\n### 1. Clone and Setup\n\n```bash\ngit clone https://github.com/your-username/container-rce-platform.git\ncd container-rce-platform\n\n# Install frontend dependencies\nnpm install\n\n# Install Lambda function dependencies\ncd aws-lambda/api \u0026\u0026 npm install \u0026\u0026 cd ../..\ncd aws-lambda/executor \u0026\u0026 npm install \u0026\u0026 cd ../..\n```\n\n### 2. Configure AWS Credentials\n\n```bash\naws configure\n# Provide your AWS Access Key ID, Secret Access Key, and preferred region\n```\n\n### 3. Configure Terraform Variables\n\n```bash\ncd terraform\ncp terraform.tfvars.example terraform.tfvars\n# Edit terraform.tfvars with your preferred settings\n```\n\n### 4. Deploy to AWS\n\n```bash\n# Deploy everything with one command\nnpm run deploy\n\n# Or deploy step by step:\nnpm run tf:init    # Initialize Terraform\nnpm run tf:plan    # Review deployment plan\nnpm run tf:apply   # Deploy infrastructure\n```\n\n### 5. Access Your Application\n\nAfter deployment completes, you'll receive:\n- **CloudFront URL**: Your global application URL\n- **API Gateway URL**: Direct API endpoint\n\n## 🔧 Deployment Options\n\n### Automated Deployment\n```bash\n# Full deployment (recommended)\n./scripts/deploy.sh\n\n# Plan only (dry run)\n./scripts/deploy.sh plan\n\n# Destroy all resources\n./scripts/deploy.sh destroy\n```\n\n### Manual Deployment\n```bash\n# Initialize Terraform\nnpm run tf:init\n\n# Plan deployment\nnpm run tf:plan\n\n# Apply infrastructure\nnpm run tf:apply\n\n# Update Lambda functions only\nnpm run update:lambda:api\nnpm run update:lambda:executor\n```\n\n## 📊 Cost Optimization\n\n### Estimated Monthly Costs (US East - Light Usage)\n\n| Service | Usage | Cost |\n|---------|--------|------|\n| Lambda | 10,000 executions/month | ~$0.20 |\n| API Gateway | 10,000 requests/month | ~$0.04 |\n| ElastiCache | t3.micro, single node | ~$15.00 |\n| S3 | 1GB storage, 1GB transfer | ~$0.05 |\n| CloudFront | 1GB transfer | ~$0.09 |\n| SQS | 10,000 messages | ~$0.004 |\n| **Total** | | **~$15.38/month** |\n\n### Cost Optimization Features\n- **Auto-scaling**: Resources scale to zero when not in use\n- **S3 Lifecycle**: Temporary files auto-delete after 1 day\n- **Lambda right-sizing**: Memory allocation optimized per language\n- **CloudFront caching**: Reduces origin requests\n\n## 🔐 Security Features\n\n### Network Security\n- **VPC Isolation**: Lambda functions run in private subnets\n- **Security Groups**: Restrictive firewall rules\n- **NAT Gateways**: Secure internet access for Lambda functions\n\n### Data Security\n- **Encryption at Rest**: S3 and ElastiCache use AES-256\n- **Encryption in Transit**: TLS 1.2+ for all communications\n- **IAM Policies**: Least privilege access controls\n- **Temporary Storage**: Code files auto-expire\n\n### Code Execution Security\n- **Isolated Environments**: Each execution in separate Lambda container\n- **Resource Limits**: Memory and CPU constraints\n- **Timeout Protection**: Execution time limits prevent infinite loops\n- **Syntax Validation**: Pre-execution code validation\n\n## 📈 Monitoring and Observability\n\n### CloudWatch Integration\n- **Lambda Metrics**: Duration, errors, invocations\n- **API Gateway**: Request count, latency, errors\n- **SQS Metrics**: Queue depth, message processing\n- **Custom Alarms**: Automated alerting for failures\n\n### Monitoring Dashboard\nAccess the CloudWatch dashboard for real-time metrics:\n- Lambda execution statistics\n- API performance metrics\n- Queue processing rates\n- Error rates and patterns\n\n## 🎯 Supported Languages\n\n| Language | Runtime | Compile Time | Execute Time |\n|----------|---------|--------------|--------------|\n| **C++** | GCC 11+ | ~5 seconds | ~2 seconds |\n| **Java** | OpenJDK 17 | ~10 seconds | ~3 seconds |\n| **Python** | Python 3.9 | N/A | ~1 second |\n| **JavaScript** | Node.js 20 | N/A | ~1 second |\n\n## 🚨 API Reference\n\n### Execute Code\n```http\nPOST /execute\nContent-Type: application/json\n\n{\n  \"code\": \"print('Hello, World!')\",\n  \"language\": \"python\"\n}\n```\n\n**Response:**\n```json\n{\n  \"jobId\": \"uuid-v4\",\n  \"status\": \"queued\",\n  \"message\": \"Code execution job has been queued successfully\"\n}\n```\n\n### Get Job Status\n```http\nGET /job-status/{jobId}\n```\n\n**Response (Completed):**\n```json\n{\n  \"status\": \"completed\",\n  \"result\": \"Hello, World!\",\n  \"timestamp\": 1640995200000\n}\n```\n\n**Response (Failed):**\n```json\n{\n  \"status\": \"failed\",\n  \"error\": \"Syntax error: invalid syntax\",\n  \"timestamp\": 1640995200000\n}\n```\n\n## 🔄 CI/CD Integration\n\n### GitHub Actions Example\n```yaml\nname: Deploy RCE Platform\non:\n  push:\n    branches: [main]\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - uses: actions/setup-node@v3\n      - name: Deploy\n        run: ./scripts/deploy.sh\n        env:\n          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}\n          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}\n```\n\n## 🛠️ Development\n\n### Local Development\n```bash\n# Start local development (uses original architecture)\nnpm run dev\n\n# Build for production\nnpm run build\n\n# Test Lambda functions locally (with SAM CLI)\nsam local start-api\n```\n\n### Environment Variables\n- `REACT_APP_API_BASE_URL`: API Gateway endpoint\n- `AWS_REGION`: AWS region for deployment\n- `ENVIRONMENT`: Deployment environment (dev/staging/prod)\n\n## 🔧 Troubleshooting\n\n### Common Issues\n\n1. **Lambda Cold Starts**\n   - Implement connection pooling for Redis\n   - Use provisioned concurrency for critical functions\n\n2. **ElastiCache Connection Issues**\n   - Ensure Lambda functions are in VPC\n   - Check security group configurations\n\n3. **S3 Access Denied**\n   - Verify IAM policies and bucket permissions\n   - Check object key patterns and lifecycle rules\n\n4. **CloudFront Cache Issues**\n   - Create invalidations after deployments\n   - Configure appropriate cache behaviors\n\n### Debug Commands\n```bash\n# Check Terraform state\nterraform show\n\n# View CloudWatch logs\naws logs describe-log-groups\n\n# Test Lambda function\naws lambda invoke --function-name container-rce-platform-api response.json\n```\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📜 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- AWS for providing robust cloud services\n- The Monaco Editor team for the excellent code editor\n- The Terraform community for infrastructure as code tools\n- React and Node.js communities for amazing frameworks\n\n---\n\n**Built with ❤️ for the cloud-native era**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashrithvm%2Fcloud-rce-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashrithvm%2Fcloud-rce-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashrithvm%2Fcloud-rce-platform/lists"}