Skip to content

Latest commit

Β 

History

131 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

βš™οΈ DevSecOps Learning Lab V2

Learn. Build. Secure. Deploy. Document.

A hands-on repository documenting my journey into DevSecOps through practical projects, experiments, and real-world software engineering practices.


πŸ“– Overview

DevSecOps Learning Lab is my personal engineering laboratory where I explore the technologies, principles, and workflows used to build, secure, deploy, and operate modern software systems.

Rather than simply following tutorials, this repository is organized as a collection of small hands-on projects. Each project focuses on solving a specific engineering problem while gradually building a complete understanding of modern software engineering and DevSecOps practices.

The goal is to learn each concept step by step, document what I learn, and eventually apply these skills to larger real-world projects such as SmartFlood V4, and future production-ready applications.

This repository serves as both my learning journal and a record of my growth as I transition from building applications to understanding how software is securely developed, deployed, and operated in production environments.


🎯 Mission

This repository exists to:

  • Learn DevOps and DevSecOps through hands-on projects.
  • Understand how modern software is built, deployed, and maintained.
  • Practice containerization using Docker.
  • Automate development workflows with CI/CD.
  • Explore cloud deployment strategies.
  • Learn secure software delivery practices.
  • Document engineering concepts and lessons learned.
  • Apply newly learned technologies to real-world projects.

πŸ—ΊοΈ Learning Roadmap

βœ… Phase 1 β€” Foundations

  • Linux Fundamentals
  • Git & GitHub Workflow
  • PNPM

🐳 Phase 2 β€” Containerization

  • Docker Fundamentals
  • Docker Images
  • Docker Containers
  • Docker Volumes
  • Docker Networks
  • Docker Compose
  • Dockerfiles & Custom Images
  • Multi-Container Applications

πŸš€ Phase 3 β€” CI/CD

  • GitHub Actions
  • Automated Testing
  • Continuous Integration
  • Secrets Management
  • Continuous Deployment
  • Deployment Pipelines

πŸ›‘οΈ Phase 4 β€” DevSecOps

  • Environment Variables & Secrets Management
  • Dependency Scanning
  • Static Application Security Testing (SAST)
  • CodeQL
  • Trivy Container Scanning
  • Container Security
  • Secure CI/CD Pipelines
  • Branch Protection
  • OWASP Security Practices

🌐 Phase 5 β€” Infrastructure

  • Nginx
  • Reverse Proxy
  • HTTPS
  • SSL Certificates

πŸ—„οΈ Phase 6 β€” Databases & Caching

  • PostgreSQL in Docker
  • SQL CRUD
  • Docker Volumes
  • Persistence
  • Database Migrations (conceptually)
  • Backups
  • Redis

πŸ“ˆ Phase 7 β€” Monitoring & Observability

  • Application Logging
  • Health Checks
  • Docker Health Checks
  • Prometheus installation
  • Metrics endpoint
  • Grafana
  • Dashboards
  • Visualization

Optional Advanced Topics

  • Alerting fundamentals
  • Grafana alerts
  • Alert rules and thresholds
  • Notification channels (conceptually)
  • Incident response basics (conceptually)

☁️ Phase 8 β€” Cloud & Orchestration

  • Kubernetes Fundamentals
    • What problem Kubernetes solves
    • Cluster, Node, Pod, Container
    • Install kubectl
    • Install Kind
    • Create your first cluster
  • Pods
    • Create Pods
    • Inspect Pods
    • Delete Pods
  • Deployments
    • Deployment Fundamentals
    • ReplicaSets
    • Self-Healing
    • Scaling Deployments
  • Services
    • Labels
    • Selectors
    • ClusterIP
    • NodePort
    • LoadBalancer
    • Exposing Deployments
    • Pod Networking
  • ConfigMaps
  • Secrets
  • Helm

☁️ Phase 9 β€” Cloud Engineering

  • AWS Fundamentals
    • IAM
    • EC2
    • S3
    • VPC Basics
  • Deploy an Existing Project to AWS
  • Managed Kubernetes (EKS or equivalent)
  • Cloud Cost Awareness
  • Billing Alerts

πŸ—οΈ Phase 10 β€” Infrastructure as Code

  • Terraform Fundamentals
  • Provision Infrastructure with Terraform
  • Remote State
  • GitOps Fundamentals
  • ArgoCD or Flux
  • Infrastructure as Code Best Practices

🧠 Phase 11 β€” Computer Science Fundamentals

  • Data Structures & Algorithms
    • Arrays
    • Hash Maps
    • Trees
    • Graphs
    • Sorting
    • Searching
  • Big-O Analysis
  • Systems Fundamentals
    • Database Internals
    • TCP/IP Fundamentals
    • Operating Systems
  • Complexity Analysis of Real Projects

πŸ€– Phase 12 β€” AI Engineering

  • LLM API Fundamentals
  • Prompt Engineering
  • Structured Outputs
  • Function / Tool Calling
  • Retrieval-Augmented Generation (RAG)
  • Embeddings & Vector Databases
  • AI Coding Workflows
  • AI System Reliability

πŸ›οΈ Phase 13 β€” System Design

  • URL Shortener
  • Rate Limiter
  • Notification System
  • Chat Application
  • Scalability Fundamentals
  • Database Trade-offs
  • Caching Strategies
  • Designing Existing Projects

πŸ“‚ Repository Structure

DevSecOps-Learning-Lab/

01-linux/
02-git/
03-pnpm/
04-docker/
05-docker-compose/
06-github-actions/
07-ci-cd/
08-security/
09-nginx/
10-postgresql/
11-redis/
12-monitoring/
13-kubernetes/
14-cloud-engineering/
15-infrastructure-as-code/
16-computer-science/
17-ai-engineering/
18-system-design/

docs/
resources/
templates/
checkpoints/

README.md

Each directory contains small hands-on projects, experiments, notes, and documentation focused on a specific topic within the DevOps and DevSecOps roadmap.


πŸ“š Engineering Philosophy

This repository follows the same engineering process for every topic:

  1. Understand the problem.
  2. Learn the underlying concepts.
  3. Build a working solution.
  4. Validate the implementation.
  5. Document the lessons learned.
  6. Apply the knowledge to a real-world project.

The goal is not to memorize tools, but to understand the engineering principles behind them and when to apply them.


πŸ”— Applying What I Learn

The knowledge gained from this repository will be continuously applied to larger projects, including:

  • 🌊 SmartFlood V4
  • πŸ”’ Future security-focused applications
  • ☁️ Cloud-native full-stack systems

This approach ensures that every concept learned is reinforced through practical implementation rather than isolated experimentation.


πŸ“š Lessons Learned

Every completed checkpoint concludes with:

  • The problem it solves
  • Why the technology exists
  • How it works internally
  • When it should be used
  • Challenges encountered
  • Lessons learned
  • Real-world applications

🚧 Current Status

πŸš€ Actively Learning

This repository is continuously evolving as I progress through modern DevSecOps, cloud engineering, infrastructure, and software engineering practices.

Each completed phase represents practical implementation, experimentation, and documented learning rather than theoretical study alone.

βœ… Checkpoint Philosophy

Every topic in this repository follows a standardized checkpoint workflow.

A checkpoint is only considered complete when it has been:

  • 🎯 Understood
  • πŸ”¬ Implemented
  • πŸ§ͺ Tested
  • πŸ“ Documented
  • πŸ’­ Reflected upon

Each checkpoint typically includes:

  • Objective
  • Topics Covered
  • Questions Explored
  • Hands-on Labs
  • Key Concepts
  • Reflection
  • Next Steps

The goal is not to complete checklists, but to build engineering intuition through practical experience.

About

Learning DevSecOps one project at a time through practical experiments, documentation, and real-world software engineering workflows.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages