A production-ready NestJS backend service template designed for cloud-native deployment.
This project provides a baseline NestJS backend service. Your challenge is to deploy this application to the cloud using modern GitOps, Infrastructure as Code (IaC), and cloud-agnostic best practices.
Deploy this NestJS application to your cloud provider of choice while ensuring the infrastructure is cloud-agnostic and can be migrated to any cloud or on-premises environment.
- Click "Use this template" to create a new repository
- Clone your new repository locally
- All infrastructure code should be added to your fork
Create Terraform configurations to provision the infrastructure needed to run this application.
Important
The infrastructure must be designed to be cloud-agnostic - meaning it should be portable across AWS, GCP, Azure, or on-premises with minimal changes.
Implement a CI/CD workflow using GitHub Actions:
- Use GitHub repository secrets for sensitive configuration
- Implement proper environment management
- Ensure deployments are automated and repeatable
Your solution must be portable. Consider:
- How would you switch cloud providers with minimal code changes?
- What abstractions would make migration easier?
- How do you handle cloud-specific services?
Document your approach:
- Architecture decisions
- How to deploy
- How to migrate to a different cloud
Tip
Implementing these bonus features will strengthen your submission.
Consider adding:
- Automated security scanning in your CI pipeline
- AI-powered code review integration
- Policy as Code for infrastructure compliance
- Automated testing strategies
| Category | Description |
|---|---|
| Terraform Quality | Modular, reusable, well-documented IaC |
| GitOps Implementation | Clean CI/CD with proper automation |
| Cloud-Agnostic Design | Truly portable infrastructure |
| Documentation | Clear explanation of decisions and approach |
| Bonus Features | Security, testing, and AI integrations |
- Use this template to create your own repository
- Complete the tasks
- Push your changes
- Add a README.md file to your repository and https://github.com/Mauyhas as admin
- Email: itzhak@enclaive.io with:
- Repository link
- Brief summary of your approach
- Time spent on the challenge
- Email: itzhak@enclaive.io
- Feel free to use AI tools for assistance
Good luck! Show us your cloud infrastructure expertise 🌩️