{"id":29792431,"url":"https://github.com/trivediayush/fastapi-deploy-pipeline","last_synced_at":"2026-04-10T15:09:10.369Z","repository":{"id":306048059,"uuid":"1024821302","full_name":"trivediayush/fastapi-deploy-pipeline","owner":"trivediayush","description":"Production-ready, containerized FastAPI application. ","archived":false,"fork":false,"pushed_at":"2025-07-23T09:57:14.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-23T11:42:21.683Z","etag":null,"topics":["aws-ec2","containerized-application","docker","docker-compose","dockerhub","fastapi","github-actions","postman-collection","postman-test","qa-test","rollback","terraform"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trivediayush.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2025-07-23T09:48:07.000Z","updated_at":"2025-07-23T10:00:01.000Z","dependencies_parsed_at":"2025-07-23T11:42:31.110Z","dependency_job_id":"961561d2-c260-4fb1-aa9b-d476c37819d3","html_url":"https://github.com/trivediayush/fastapi-deploy-pipeline","commit_stats":null,"previous_names":["trivediayush/fastapi-deploy-pipeline"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/trivediayush/fastapi-deploy-pipeline","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trivediayush%2Ffastapi-deploy-pipeline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trivediayush%2Ffastapi-deploy-pipeline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trivediayush%2Ffastapi-deploy-pipeline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trivediayush%2Ffastapi-deploy-pipeline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trivediayush","download_url":"https://codeload.github.com/trivediayush/fastapi-deploy-pipeline/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trivediayush%2Ffastapi-deploy-pipeline/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267451244,"owners_count":24089301,"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-07-27T02:00:11.917Z","response_time":82,"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":["aws-ec2","containerized-application","docker","docker-compose","dockerhub","fastapi","github-actions","postman-collection","postman-test","qa-test","rollback","terraform"],"created_at":"2025-07-28T01:39:20.714Z","updated_at":"2025-12-30T21:57:34.497Z","avatar_url":"https://github.com/trivediayush.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"📦 FastAPI Deploy Pipeline\n==========================\n\n**Description:** This project is a production-ready, containerized **FastAPI** application. It is fully automated for continuous integration and deployment using **GitHub Actions**, **Docker**, and **Terraform** on **AWS EC2**. The pipeline integrates automated unit and API testing, failure recovery via rollback scripts, and structured manual QA validation processes.\n\n* * *\n\n🔄 Deployment Workflow\n----------------------\n\n1.  Code is committed and pushed to the **GitHub** repository.\n2.  **CI/CD pipeline** is triggered via GitHub Actions:\n    *   Execute unit and integration tests\n    *   Build Docker image\n    *   Push image to DockerHub\n    *   Provision AWS EC2 resources via **Terraform**\n    *   Deploy Docker container to provisioned infrastructure\n3.  On deployment failure:\n    *   `rollback.sh` is invoked to restore the previous stable version\n4.  Post-deployment QA:\n    *   Execution of `postman_collection.json`\n    *   Validation against `manual_test_cases.md`\n\n* * *\n\n📌 Technology Stack\n-------------------\n\n*   **FastAPI** – Asynchronous Python web framework\n*   **GitHub Actions** – Continuous integration and delivery (CI/CD)\n*   **Docker** – Containerization and deployment standardization\n*   **Terraform** – Infrastructure provisioning and management\n*   **AWS EC2** – Scalable compute environment\n*   **Postman** – API validation and test automation\n\n* * *\n\n✅ Testing and Quality Assurance\n-------------------------------\n\n*   `test_main.py` – Automated unit and API tests executed in CI\n*   `manual_test_cases.md` – Structured manual QA verification\n*   `postman_collection.json` – Postman test suite for endpoint validation\n\n* * *\n\n🔁 Rollback Mechanism\n---------------------\n\nDeployment failures are handled through an automated rollback process using `rollback.sh`, restoring the last known stable container state to ensure high availability and system integrity.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrivediayush%2Ffastapi-deploy-pipeline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrivediayush%2Ffastapi-deploy-pipeline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrivediayush%2Ffastapi-deploy-pipeline/lists"}