{"id":25320467,"url":"https://github.com/fredlackey/paas-query-db","last_synced_at":"2025-08-14T08:14:09.911Z","repository":{"id":277168038,"uuid":"930922384","full_name":"FredLackey/paas-query-db","owner":"FredLackey","description":"Query cloud API's and store the results in a database for later retrieval and historical analysis.","archived":false,"fork":false,"pushed_at":"2025-02-12T16:37:45.000Z","size":47,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T20:37:28.132Z","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/FredLackey.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}},"created_at":"2025-02-11T12:40:16.000Z","updated_at":"2025-02-12T16:37:48.000Z","dependencies_parsed_at":"2025-02-12T14:45:43.646Z","dependency_job_id":"2610e458-8376-4899-9559-c2699a47a9f7","html_url":"https://github.com/FredLackey/paas-query-db","commit_stats":null,"previous_names":["fredlackey/paas-query-db"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FredLackey/paas-query-db","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FredLackey%2Fpaas-query-db","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FredLackey%2Fpaas-query-db/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FredLackey%2Fpaas-query-db/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FredLackey%2Fpaas-query-db/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FredLackey","download_url":"https://codeload.github.com/FredLackey/paas-query-db/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FredLackey%2Fpaas-query-db/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270385467,"owners_count":24574556,"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-08-14T02:00:10.309Z","response_time":75,"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-02-13T21:51:13.958Z","updated_at":"2025-08-14T08:14:09.846Z","avatar_url":"https://github.com/FredLackey.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PaaS Provider Query API\n\nA streamlined API service for executing and tracking cloud provider commands across AWS GovCloud, AWS Commercial, Azure, and Google Cloud Platform.\n\n## Overview\n\nThis service provides a unified interface for executing cloud provider commands while handling:\n- Command execution tracking\n- Rate limiting\n- Account information caching\n- Execution history\n- Cross-provider compatibility\n\n## Quick Start\n\n1. Install dependencies with: `npm install`\n\n2. Configure environment:\n   - Copy `.env.example` to `.env.local`\n   - Update with your settings\n\n3. Start the service:\n   - Development: `npm run dev`\n   - Production: `npm start`\n\n## API Endpoints \u0026 Workflows\n\n### 1. Execute Cloud Commands\n**Endpoint:** POST `/execute`\n\nExecute cloud provider commands and store their results. Send a POST request with:\n- accessKey\n- secretKey\n- providerName (e.g., \"AWS GovCloud\")\n- region (e.g., \"us-gov-west-1\")\n- command (e.g., \"ec2 describeInstances\")\n\nFeatures:\n- Prevents duplicate commands\n- Stores execution results\n- Supports AWS, Azure, and GCP\n- Returns results and timing\n\n### 2. Check Last Execution\n**Endpoint:** GET `/lastExecution`\n\nQuery parameters:\n- accessKey\n- command\n- region\n- providerName\n\nReturns:\n- Last successful execution details\n- Execution time and results\n- Command output\n\n### 3. View Execution History\n**Endpoint:** GET `/executionHistory`\n\nQuery parameters:\n- accessKey\n- command\n- region\n- providerName\n- startDate (optional, ISO format)\n- endDate (optional, ISO format)\n- limit (optional, default 100)\n\nReturns execution history within specified date range.\n\n### 4. Retrieve Specific Executions\n**Endpoint:** POST `/executionsByDates`\n\nRequest body:\n- accessKey\n- command\n- region\n- providerName\n- dates (array of ISO format dates)\n\nRetrieves full execution details for specific dates.\n\n## Supported Commands\n\n### AWS Services\n- API Gateway: REST and WebSocket API management\n- CloudFormation: Infrastructure as code\n- CloudFront: Content delivery and distribution\n- CloudTrail: Account activity and API usage tracking\n- CloudWatch: Metrics, monitoring, and logging\n- Config: Resource inventory and configuration history\n- Cost Explorer: Cost and usage reporting\n- DynamoDB: NoSQL database operations\n- EC2: Instance management and queries\n- ECS: Container orchestration service\n- EFS: Elastic File System operations\n- EKS: Managed Kubernetes service\n- Elastic Load Balancing: Load balancer management\n- ElastiCache: In-memory caching service\n- FSx: Managed file systems\n- Glacier: Long-term data archival\n- GuardDuty: Threat detection monitoring\n- IAM: User and role management\n- Lambda: Function operations\n- Organizations: Account organization management\n- RDS: Relational database operations\n- S3: Bucket and object operations\n- Security Hub: Security findings management\n- Service Quotas: Service limits and quotas\n- STS: Security token and identity operations\n\n### Azure Services\n- Compute Management: Virtual machine and scale set operations\n- Monitor: Metrics, alerts, and diagnostic settings\n- Network: Virtual networks, load balancers, and connectivity\n- Key Vault: Secure secret storage and management\n- Storage: Blob storage and data management\n\n### Google Cloud Platform\n- Compute Engine: Virtual machine and infrastructure management\n- Cloud Storage: Object storage and data management\n- BigQuery: Data warehouse and analytics\n- Cloud Monitoring: Metrics, monitoring, and alerting\n- Cloud Functions: Serverless compute platform\n\n## Error Handling\n\nCommon error scenarios:\n- Invalid credentials\n- Missing required parameters\n- Rate limiting\n- Service unavailability\n- Command execution failures\n\nEach error response includes:\n- Error code\n- Detailed message\n- Suggested resolution\n\n## Benefits\n\n- **Unified Interface**: One API for all cloud providers\n- **Smart Caching**: Reduces API calls to cloud providers\n- **Execution Tracking**: Prevents duplicate commands\n- **History**: Maintains detailed execution records\n- **Rate Limiting**: Protects your cloud provider quotas\n\n## Questions?\n\nI'd love to help! Feel free to reach out:\n\nFred Lackey  \nEmail: Fred.Lackey@gmail.com  \nBlog: [FredLackey.com](https://fredlackey.com)\n\n---\n*Built with ❤️ for the cloud community*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffredlackey%2Fpaas-query-db","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffredlackey%2Fpaas-query-db","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffredlackey%2Fpaas-query-db/lists"}