Skip to content

Latest commit

 

History

History
409 lines (335 loc) · 24.8 KB

File metadata and controls

409 lines (335 loc) · 24.8 KB

DevOps & Cloud Portfolio Lab

A production-minded DevOps portfolio lab with 54 hands-on projects across Terraform, AWS, Azure, Kubernetes, CI/CD, DevSecOps, monitoring, serverless, and cloud-native application delivery.

This repository is designed to prove practical engineering judgment: infrastructure as code, secure defaults, repeatable validation, cost-aware cloud labs, documented runbooks, and portfolio-ready flagship case studies.

Docs Site Local Quality Gate OpenSSF Scorecard License: MIT Forks Stargazers


Site

The student portal is the best entry point for browsing, choosing, and safely running projects:

The site is an Astro Starlight portal with internal pages for every project. It is static and privacy-first. It does not require accounts, forms, analytics, cookies, or shared credentials.


Start Here

If you are reviewing this repository for hiring, collaboration, or learning, start with the flagship projects below. They are the highest-signal examples and show the repository's strongest DevOps patterns.

Flagship What It Demonstrates Best For
OpenAI Chatbot UI on EKS AI app containerization, EKS delivery, Terraform, Jenkins, security hardening DevSecOps + platform delivery
Django SaaS E-Commerce Multi-tenant Django app, Docker, health checks, secure env handling Application platform engineering
Terraform AWS EKS EKS provisioning, Kubernetes app deployment, secrets templating Infrastructure as code
Cloud Native Monitoring App Python service, Docker, monitoring workflow, local validation Observability fundamentals
Online Boutique Microservices Kubernetes microservices, local cluster manifests, service topology Microservices operations

Portfolio Story

This repository started as a broad DevOps learning collection and has been hardened into a structured portfolio lab. The latest modernization pass added:

  • A machine-readable catalog for all 54 projects through project.yaml files.
  • Root-level quality commands through make quality, make list-projects, and make validate-project.
  • CI for changed-project validation and local quality gates.
  • Updated Docker, GitHub Actions, Kubernetes, and Terraform baselines where safe.
  • Security baselines for secrets, Dockerfiles, Terraform, Kubernetes, and CI/CD.
  • Flagship runbooks for the strongest showcase projects.

Architecture Map

flowchart LR
    reviewer["Reviewer / Hiring Manager"] --> readme["Root README"]
    readme --> flagship["5 Flagship Case Studies"]
    readme --> catalog["54 Project Catalog"]
    readme --> docs["Astro Starlight Portal"]

    flagship --> app["Apps: Django, Node, AI Chatbot"]
    flagship --> infra["IaC: Terraform, EKS, ECS, VPC"]
    flagship --> delivery["Delivery: GitHub Actions, Jenkins, ArgoCD"]
    flagship --> security["Security: Trivy, SAST, Secret Hygiene"]
    flagship --> ops["Ops: Monitoring, Runbooks, Quality Gates"]

    catalog --> metadata["project.yaml Metadata"]
    docs --> baselines["Reusable Security Baselines"]
    docs --> runbooks["Portfolio Runbooks"]
Loading

Quick Start

  1. Clone the repository: git clone https://github.com/DevCloudNinjas/DevOps-Projects.git
  2. Install the local tooling: python3 -m pip install -r tools/requirements.txt
  3. List projects: make list-projects
  4. Validate the repository: make quality
  5. Open a flagship project and follow its README/runbook

For Students: How to Use Any Project

Each project is meant to be replicated with your own local tools, cloud account, and credentials.

Use this workflow:

  1. Read the project README from top to bottom.
  2. Check project.yaml for cost risk, deployability, tools, estimated time, prerequisites, learning paths, badges, and validation command.
  3. Install only the prerequisites listed for that project.
  4. Copy example config files such as .env.example, terraform.tfvars.example, or *.template.yaml.
  5. Add your own credentials locally. Never commit real credentials.
  6. Run the validation or dry-run command before deploying.
  7. Deploy to your own local cluster or cloud account.
  8. Observe logs, dashboards, app URLs, or infrastructure outputs.
  9. Run cleanup commands and confirm resources are deleted.
  10. Write a short learning report about what worked, what failed, and what you fixed.

For the full checklist, see the Student Implementation Guide. For new projects, use the Project README Template.

Use LEARNING_TRACKER.md as a personal template for time planning, prerequisites, validation notes, cleanup, and portfolio evidence.

Learner Metadata Conventions

Projects may include an optional learning section in project.yaml:

learning:
  estimated_time: 4-6 hours
  prerequisites:
    - Docker basics
    - AWS account with budget alert
  learning_paths:
    - containers
    - ci-cd
  badges:
    - local-first
    - portfolio-ready

Learning paths: cloud-foundations, containers, ci-cd, infrastructure-as-code, kubernetes, devsecops, observability, serverless, platform-engineering, security.

Badges: beginner-friendly, local-first, free-tier-aware, cloud-cost-risk, portfolio-ready, team-workflow, security-focused, needs-cloud-account, cleanup-required, capstone.

Local Quality Gate

Run the fast repository checks before opening a pull request:

python3 -m pip install -r tools/requirements.txt
python3 -m pytest tools/tests/test_quality_gate.py -q
python3 -m tools.quality_gate .

The gate is intentionally local and cloud-independent. It checks for tracked files that are now ignored, common secret patterns outside intentional scanner fixtures, plain YAML syntax, shell syntax, Python syntax, and practical Node package lock metadata issues. CI runs the same commands in .github/workflows/local-quality-gate.yml.

Legend

Symbol Meaning
🔬 Hands-on Lab — includes working code, configs, and/or IaC
📖 Tutorial Guide — step-by-step instructions (README-based)
🟢 Beginner
🟡 Intermediate
🔴 Advanced

Project Index

AWS Projects

# Project Difficulty Type Key Tools
01 Java App on AWS 3-Tier Architecture 🔴 Advanced 🔬 Lab Java, Maven, Tomcat, Nginx, RDS, VPC, Terraform
02 Scalable VPC Architecture on AWS 🟡 Intermediate 🔬 Lab VPC, ALB, CloudWatch, S3
04 Django App on AWS ECS/ECR 🟢 Beginner 🔬 Lab Django, Docker, ECS, ECR
05 Deploy on Docker via Jenkins & K8s 🟡 Intermediate 🔬 Lab Docker, Jenkins, Kubernetes
06 Advanced CI/CD Pipeline 🔴 Advanced 🔬 Lab Jenkins, Ansible, SonarQube, JFrog, EKS, Terraform, Prometheus, Grafana
08 2048 Game on Amazon EKS 🟡 Intermediate 🔬 Lab EKS, Kubernetes
09 DevSecOps Netflix Clone CI/CD 🔴 Advanced 🔬 Lab Jenkins, Docker, SonarQube, Trivy, Prometheus, Grafana
11 Two-Tier AWS Infra with Terraform 🟡 Intermediate 🔬 Lab Terraform, VPC, ALB, ASG, RDS, WAF, CloudFront
12 Super Mario on K8s with Terraform 🟡 Intermediate 📖 Guide Kubernetes, Terraform, EKS
13 Zomato Clone DevSecOps 🔴 Advanced 📖 Guide Jenkins, Docker, SonarQube, Trivy, K8s
15 E-Commerce 3-Tier on EKS with Helm 🔴 Advanced 📖 Guide EKS, Helm, Docker
16 Deploy to K8s with Jenkins & ArgoCD 🟡 Intermediate 📖 Guide Jenkins, ArgoCD, Kubernetes
18 Jenkins Java Pipeline (Maven, SonarQube, ArgoCD, K8s) 🔴 Advanced 🔬 Lab Jenkins, Maven, SonarQube, ArgoCD, Helm, K8s
19 EKS + Jenkins + Terraform CI/CD 🔴 Advanced 🔬 Lab EKS, Jenkins, Terraform
21 AWS CodePipeline CI/CD 🟡 Intermediate 🔬 Lab CodePipeline, CodeBuild, CodeDeploy, React
22 AWS Fully Serverless Architecture 🔴 Advanced 🔬 Lab Lambda, API Gateway, Aurora Serverless, Terraform, GitHub Actions
23 Swiggy Clone Blue-Green on ECS 🟡 Intermediate 🔬 Lab ECS, CodeDeploy, Blue-Green, React, Docker
24 .NET DevSecOps Pipeline 🟡 Intermediate 🔬 Lab .NET, Docker, SonarQube, K8s
25 Petshop Java DevSecOps 🔴 Advanced 📖 Guide Jenkins, Docker, K8s, Ansible
26 Terraform + GitLab CI/CD on AWS 🟡 Intermediate 🔬 Lab Terraform, GitLab CI/CD
27 Reddit App on EKS with ArgoCD 🟡 Intermediate 📖 Guide EKS, ArgoCD, Docker
28 OpenAI Chatbot UI on EKS 🔴 Advanced 🔬 Lab Jenkins, Docker, EKS, Terraform, SonarQube, Trivy
30 Blog App on EKS (Nexus, SonarQube, Trivy) 🔴 Advanced 📖 Guide EKS, Jenkins, Nexus, SonarQube, Trivy
31 Cloud Native Monitoring App 🟡 Intermediate 🔬 Lab Python, Docker, EKS, Flask
32 Tetris DevSecOps on K8s 🔴 Advanced 🔬 Lab Jenkins, Docker, K8s, Terraform, SonarQube, Trivy
33 Node.js CI/CD to EKS via GitHub Actions 🟡 Intermediate 🔬 Lab Node.js, GitHub Actions, EKS, Docker
34 Node.js CI/CD to ECS via GH Actions + Terraform 🟡 Intermediate 🔬 Lab Node.js, GitHub Actions, ECS, Terraform
35 DevSecOps Pipeline Series (6 Steps) 🔴 Advanced 🔬 Lab Jenkins, Terraform, K8s, SonarCloud, Snyk, ZAP, Docker, ECR
36 AWS Real-Time Deployment (Dev→Prod) 🔴 Advanced 🔬 Lab AWS, CI/CD, Multi-environment
37 EKS Terraform Provision 🟡 Intermediate 🔬 Lab Terraform, EKS, AWS
38 Docker + Terraform 3-Tier Architecture 🟡 Intermediate 🔬 Lab Docker, Terraform, 3-Tier
39 GitHub Actions + AWS + Terraform 🟡 Intermediate 🔬 Lab GitHub Actions, AWS, Terraform
40 K8s Dashboard with Trivy Scanning 🟡 Intermediate 🔬 Lab Kubernetes, Trivy, Dashboard
41 Online Boutique Microservices 🟡 Intermediate 🔬 Lab Kubernetes, Microservices
42 Serverless REST API with DynamoDB 🟡 Intermediate 🔬 Lab Terraform, Lambda, API Gateway, DynamoDB
43 ECS Fargate with Terraform 🟡 Intermediate 🔬 Lab ECS, Fargate, ECR, Terraform
44 DevSecOps 101 🔴 Advanced 🔬 Lab Jenkins, Docker, K8s, SonarQube, Trivy
45 Jenkins CI/CD with ArgoCD & Vault 🔴 Advanced 🔬 Lab Jenkins, ArgoCD, Vault, SonarQube, JFrog, Trivy, EKS, Prometheus, Grafana
46 EKS Cluster Terraform (Advanced) 🟡 Intermediate 🔬 Lab Terraform, EKS, VPC
47 Django SaaS E-Commerce 🟡 Intermediate 🔬 Lab Django, Docker, Multi-tenant
48 Terraform AWS EKS 🟡 Intermediate 🔬 Lab Terraform, EKS, AWS
49 Text Encryption (Cybersecurity) 🟢 Beginner 🔬 Lab Python, Cryptography
52 OpenTofu AWS Free-Tier Lab 🟡 Intermediate 🔬 Lab OpenTofu, Terraform, AWS, VPC, EC2

Azure Projects

# Project Difficulty Type Key Tools
07 Azure DevOps with AKS & Terraform 🔴 Advanced 🔬 Lab Azure DevOps, AKS, Terraform
10 .NET CI/CD with Azure DevOps Starter 🟢 Beginner 📖 Guide .NET, Azure DevOps
17 Deploy to AKS via Azure DevOps 🟡 Intermediate 📖 Guide AKS, Azure DevOps
20 Azure DevOps + Terraform Pipeline 🟡 Intermediate 🔬 Lab Terraform, Azure DevOps
29 3-Tier Voting App with ArgoCD 🟡 Intermediate 📖 Guide ArgoCD, Azure DevOps, K8s

General / Multi-Platform Projects

# Project Difficulty Type Key Tools
03 Linux Fundamentals for DevOps 🟢 Beginner 📖 Guide Linux, Shell
14 CI/CD with GitHub Actions for Android 🟡 Intermediate 🔬 Lab GitHub Actions, Android, Gradle
50 ArgoCD GitOps Home Lab 🟡 Intermediate 🔬 Lab ArgoCD, GitOps, Kubernetes, Kind
51 OpenTelemetry Observability Home Lab 🟡 Intermediate 🔬 Lab OpenTelemetry, Grafana, Prometheus, Tempo, Docker Compose
53 Supply Chain Security Lab 🟡 Intermediate 🔬 Lab Docker, Trivy, SBOM, Cosign, GitHub Actions
54 Progressive Delivery Home Lab 🟡 Intermediate 🔬 Lab Argo Rollouts, Kubernetes, Canary Deployment

Learning Resources

Structured learning tracks, hands-on labs, and study guides. See learning/ for details.

Track Description
Kubernetes 101 All-in-one K8s fundamentals
CKA Exam Prep Certified Kubernetes Administrator prep
K8s Learning Path Beginner to Advanced roadmap
K8s Projects Practical real-time K8s projects
Containers Fundamentals Docker & K8s fundamentals labs
Docker Training Hands-on Docker labs
DevOps 101 Track 18 beginner projects (CI/CD, AWS, Docker, K8s)
DevOps 201 Track 25 intermediate projects (LAMP, Ansible, Terraform, K8s)
DevOps Random Projects 24 real-world DevOps career projects
DevOps Bootcamp DevOps onboarding bootcamp
Linux Hands-On Linux studies
Prometheus Monitoring Learning Prometheus
Tool Setup Guides DevOps tool installation guides
DevOps Interview Prep Interview questions for all DevOps tools
SRE Interview Prep SRE interview preparation guide

Reference Resources

See resources/ for details.

Resource Description
DevOps Tools List Curated list of DevOps tools
GitHub Actions Examples Practical GHA examples
Coding Interview University CS study plan

Projects by Difficulty

🟢 Beginner (4 projects)

🟡 Intermediate (33 projects)

🔴 Advanced (17 projects)


Projects by Technology

Technology Projects
Jenkins 01, 05, 06, 09, 16, 18, 19, 25, 28, 30, 32, 35, 44, 45
Terraform / OpenTofu 06, 07, 11, 12, 19, 20, 22, 26, 28, 34, 35, 37, 38, 39, 42, 43, 46, 48, 52
Kubernetes / EKS / AKS 05, 06, 07, 08, 12, 13, 15, 16, 17, 18, 19, 24, 25, 27, 28, 29, 30, 31, 32, 33, 35, 37, 40, 41, 45, 46, 48, 50, 54
Docker 04, 05, 06, 09, 13, 23, 24, 25, 26, 27, 28, 30, 31, 32, 34, 35, 38, 44, 47, 51, 53
ArgoCD / Argo Rollouts 16, 18, 27, 29, 45, 50, 54
SonarQube / SonarCloud 06, 09, 13, 18, 24, 28, 30, 35, 44, 45
GitHub Actions 14, 22, 33, 34, 39, 53
GitLab CI/CD 26
Azure DevOps 07, 10, 17, 20, 29
AWS CodePipeline 21
Helm 06, 15, 18
Ansible 06, 25
Prometheus / Grafana 06, 09, 45, 51
OpenTelemetry 51
Trivy / Supply Chain Security 09, 28, 32, 40, 44, 53
HashiCorp Vault 45
Snyk 35
OWASP ZAP 35
Serverless (Lambda) 22, 42

Repository Structure

DevOps-Projects/
├── project-01 through project-54/    # 54 DevOps projects
├── learning/                          # 15 learning tracks & study guides
│   ├── kubernetes-101/
│   ├── kubernetes-cka-prep/
│   ├── containers-fundamentals/
│   ├── docker-training/
│   ├── devops-101-track/             # 18 beginner projects
│   ├── devops-201-track/             # 25 intermediate projects
│   ├── devops-random-projects/       # 24 real-world career projects
│   ├── devops-bootcamp/
│   ├── linux-hands-on/
│   ├── prometheus-monitoring/
│   ├── tool-setup-guides/
│   ├── devops-interview-prep/
│   └── sre-interview-prep/
├── resources/                         # Reference materials
│   ├── devops-tools-list/
│   ├── github-actions-examples/
│   └── coding-interview-university/
├── CODE_OF_CONDUCT.md
├── IMPROVEMENTS.md
├── REVIEW-PLAN.md
└── REVIEW-UPDATES.md

Contributing

  1. Fork the repository
  2. Create your feature branch: git checkout -b feature/my-project
  3. Commit your changes: git commit -m 'Add new project'
  4. Push to the branch: git push origin feature/my-project
  5. Open a Pull Request

Please review the Code of Conduct before contributing.

Community


If you find this repository helpful, please give it a ⭐