A hands-on portfolio of real-world DevOps and cloud infrastructure projects — covering VMs, containers, Kubernetes, serverless, and self-hosted platforms. Built with Terraform (HCL), Shell scripting, Docker, and more.
- Overview
- Repository Structure
- Projects
- Tech Stack
- Prerequisites
- Getting Started
- Contributing
- License
Cloud Task is a curated collection of infrastructure and DevOps projects demonstrating practical, production-aligned patterns across the modern cloud stack.
Each section focuses on a distinct layer of the infrastructure landscape — from provisioning bare VMs and configuring them with Ansible, to orchestrating workloads in Kubernetes, packaging apps with Docker, deploying serverless functions, and running self-hosted platforms with Coolify.
Primary languages: HCL (Terraform) · Shell · PHP · Dockerfile
cloud-task/
├── vms/ # Virtual machine provisioning and configuration (Terraform + Ansible)
├── k8s/ # Kubernetes manifests, Helm charts, and cluster configs
├── Docker/ # Dockerfiles, Compose files, and containerisation examples
├── serverless/ # Serverless function deployments (AWS Lambda, GCP Functions, etc.)
├── coolify/ # Self-hosted PaaS setup and app deployment via Coolify
├── LICENSE
└── README.md
Each directory contains its own README.md with project-specific context, architecture notes, and usage instructions.
Provision and configure cloud VMs using Terraform for infrastructure-as-code and Ansible for configuration management. Projects here demonstrate multi-cloud VM deployments, networking setup, SSH hardening, and automated provisioning pipelines.
Key tools: Terraform · Ansible · AWS EC2 · Azure VMs · Shell scripting
End-to-end Kubernetes configurations covering cluster setup, workload deployment, GitOps workflows, and observability. Includes Helm charts, ArgoCD pipelines, Prometheus/Grafana monitoring stacks, and multi-namespace patterns.
Key tools: Kubernetes · Helm · ArgoCD · Prometheus · Grafana · OpenTelemetry · GitHub Actions
Containerisation examples from simple single-service Dockerfiles to multi-container Compose setups. Explores image optimisation, multi-stage builds, and container networking patterns.
Key tools: Docker · Docker Compose · Dockerfile best practices
Deploy event-driven, serverless workloads across major cloud providers. Projects include HTTP-triggered functions, scheduled jobs, and integration with managed services like databases and queues.
Key tools: AWS Lambda · GCP Cloud Functions · Azure Functions · Terraform · Shell
Self-hosted PaaS deployments using Coolify — an open-source alternative to Heroku/Vercel. Covers server provisioning, app onboarding, SSL configuration, and CI/CD integration on your own infrastructure.
Key tools: Coolify · Docker · Shell · Nginx
| Category | Tools |
|---|---|
| Cloud Providers | AWS · Azure · GCP |
| Infrastructure as Code | Terraform · Ansible |
| Containers & Orchestration | Docker · Kubernetes · Helm |
| CI/CD & GitOps | GitHub Actions · ArgoCD |
| Monitoring & Observability | Prometheus · Grafana · OpenTelemetry · ELK Stack |
| Serverless | AWS Lambda · GCP Cloud Functions · Azure Functions |
| Self-hosted PaaS | Coolify |
| Scripting | Bash · Shell · PHP |
Before diving in, make sure you have the following installed locally:
- Git
- Terraform ≥ 1.5
- Ansible ≥ 2.14
- Docker & Docker Compose
- kubectl + access to a Kubernetes cluster
- Cloud provider CLI configured:
1. Clone the repository
git clone https://github.com/kibablu/cloud-task.git
cd cloud-task2. Pick a project
Navigate to the directory that matches your area of interest:
cd k8s # Kubernetes projects
cd vms # VM provisioning with Terraform + Ansible
cd Docker # Container examples
cd serverless # Serverless deployments
cd coolify # Self-hosted PaaS3. Read the project README
Each directory has a README.md with full setup instructions, architecture notes, and any required environment variables or credentials.
4. Deploy and experiment
Follow the step-by-step instructions inside the project folder. Most Terraform projects follow the standard workflow:
terraform init
terraform plan
terraform applyContributions are welcome! If you have an improvement, new project, or bug fix:
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name - Commit your changes:
git commit -m "feat: add your feature description" - Push to your branch:
git push origin feature/your-feature-name - Open a Pull Request
Please keep each project self-contained with its own README.md, and follow the existing directory structure conventions.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for full details.
Built with ☁️ by kibablu
Happy Deploying! 🚀