Skip to content

Repository files navigation

☁️ CloudDefense Engineering Portfolio

Production-Grade Cloud Security, SRE & Infrastructure as Code

by Jimoh Sodiq Bolaji — Cloud & DevSecOps Engineer


CI/CDKubernetesTerraformSecurityTestsMonitoringCIS


🎯 About This Portfolio

This is my production engineering portfolio. Every project solves a real infrastructure or security problem using production-grade patterns, documented architectural decisions, and automated security validation.


🗺️ Portfolio Map

CloudDefense Engineering Portfolio
│
├── 🚀 KubeScale Platform k8s-ecommerce-project/
├── 🔄 HA AWS Architecture ha-aws-architecture/
├── 🛡️ S3 Secure Storage s3-secure-storage/
├── 🏛️ Enterprise Governance governance/
├── ⚡ SOAR Threat Automation automation/
├── 🔬 DFIR Investigation forensics/
├── 🏗️ Secure Infrastructure (IaC) aws-foundation/
├── 🔍 Full Security Stack security-stack/
├── 🧩 Reusable Terraform Modules modules/
├── 🔐 CI/CD Security Pipeline .github/workflows/
└── 📚 Architecture Decision Records docs/adr/

📂 Project Index


1. 🚀 KubeScale — Production Microservices & SRE Observability Platform

→ View Project

The flagship project. An 11-service polyglot e-commerce platform running on Kubernetes with full-stack SRE observability, zero-trust security, and zero cloud cost.

AchievementDetail
Orchestration11 microservices (Go, C#, Node.js, Python) on Kubernetes with Deployments + ReplicaSets
Traffic EngineeringNginx Ingress Controller with Layer 7 routing, rate limiting, and security headers
SRE ObservabilityPrometheus + Grafana monitoring Four Golden Signals (Latency, Traffic, Errors, Saturation)
Auto-ScalingHPA scales pods 2→10 on CPU >70% or Memory >80%, with scale-in stabilisation
Zero-Trust SecurityNetworkPolicy default-deny-all + explicit allow rules + container hardening
Container Security0 Trivy findings: non-root, read-only filesystem, all capabilities dropped, seccompProfile
FinOpsLocalStack Pro emulation — $0 development spend vs ~$500/month on real EKS

2. �� High-Availability AWS Architecture

→ View Project

Transforms a single server into a self-healing, multi-AZ fleet protected by WAF and monitored by GuardDuty — demonstrating the AWS Well-Architected Framework in code.

AchievementDetail
Multi-AZ HAALB spans 2 AZs (us-east-2a/b) — zero downtime if one AZ fails
WAF Protection2 rule sets: Common (SQLi, XSS, LFI) + Known Bad Inputs (Log4Shell)
TLS EnforcementHTTP → HTTPS permanent 301 redirect at ALB listener level
Auto-ScalingCPU-based and ALB-request-count target tracking (scale 2→6 instances)
IMDSv2 EnforcedHop limit=1; session tokens required — eliminates SSRF attack vector
EBS Encryptiongp3 volumes encrypted at rest on all instances
Audit TrailCloudTrail (multi-region, KMS, log validation) + GuardDuty (15-min findings)
ALB Access LogsRequest-level logs shipped to KMS-encrypted S3 for forensic analysis

3. 🛡️ Automated Security Compliance Pipeline (Shift-Left)

→ View Workflow

A 4-job GitHub Actions pipeline that enforces security on every pull request — blocking merges if HIGH/CRITICAL findings are detected.

JobToolWhat It Catches
IaC ScanTrivy (table + SARIF)Terraform/Kubernetes misconfigurations
Filesystem ScanTrivy (SARIF)Vulnerable packages, Dockerfile issues
Secret ScanTruffleHog v3API keys, tokens, passwords in commit history
Policy ScanCheckovCIS Benchmark violations across all frameworks

All findings are posted to the GitHub Security tab via SARIF upload — giving a centralised view of all vulnerabilities across the repository.


4. 🏛️ Enterprise Governance & Compliance (AWS Organizations + SCPs)

→ View Project

Enforces immutable security baselines across an entire AWS organisation using 3 Service Control Policies attached at the Root — no account or OU can bypass them.

SCPProtects AgainstCompliance
Deny-CloudTrail-TamperingAudit log destruction (5 actions blocked)SOC2, PCI-DSS 10.5
Restrict-Regions-USUnauthorised region deploymentGDPR data residency
Deny-Root-Account-ActionsRoot credential misuseCIS AWS Benchmark L1 1.7

5. ⚡ Real-Time SOAR Threat Remediation

→ View Automation | → View Incident Report

A production-ready Python (Boto3) tool that blocks malicious IPs in AWS Network ACLs in milliseconds — designed for Lambda invocation triggered by GuardDuty findings via EventBridge.

FeatureImplementation
CLI interfaceargparse--ip, --dry-run, --cleanup, --rule-number
Structured logginglogging module (CloudWatch-compatible format)
Error handlingCustom exceptions — no sys.exit() inside library functions
Dry-run modePreview actions without any API changes
Lifecycle management--cleanup removes the DENY rule when threat is resolved
Unit testspytest + moto — 11 test cases, 100% without real AWS

6. 🔬 Digital Forensics & Incident Response (DFIR)

→ View Investigation

A simulated DFIR investigation mapped to MITRE ATT&CK v15, following NIST SP 800-61 incident response lifecycle.

PhaseMITRE TechniqueEvidence
Initial AccessT1110.001 — Brute Force15 failed SSH attempts
BreachT1078 — Valid AccountsSuccessful admin login
PersistenceT1136.001 — Create Local Accountsupport_service UID=0
ExfiltrationT1560.001 — Archive via Utilitydata_dump.tar.gz

7. 🧩 Reusable Terraform Module Library

→ View Modules

4 production-grade Terraform modules used across all projects — demonstrating the DRY principle and module composition pattern.

ModuleResourcesKey Features
vpcVPC, 2×Public+2×Private subnets, IGW, NAT GWMulti-AZ, CIDR validation
loggingS3, KMS CMK, versioning, lifecycle, TLS policyLeast-privilege KMS key policy
securityCloudTrail, GuardDuty, KMSMulti-region trail, log validation
iamIAM Role, Policy, Instance ProfileLeast-privilege S3 access

8. 📚 Architecture Decision Records

→ View ADRs

Formal documentation of major architectural decisions — demonstrating senior-level engineering thinking.

ADRDecision
ADR-001LocalStack for zero-cost development
ADR-002Terraform remote state with S3 + DynamoDB locking
ADR-003Container security hardening baseline (0 Trivy findings)

🛠️ Technical Competency Matrix

DomainTechnologies & Skills
Cloud Native (K8s)Kubernetes, Helm, Nginx Ingress, Deployments, HPA, NetworkPolicy, RBAC, Namespaces
SRE & ObservabilityPrometheus, Grafana, Four Golden Signals, OOMKill debugging, resource rightsizing
Infrastructure as CodeTerraform (modules, state, provider pinning, validation blocks, lifecycle)
Cloud ArchitectureAWS VPC, EKS, ALB, ASG, WAFv2, CloudTrail, GuardDuty, Organizations, KMS, S3
Security EngineeringSCPs, NACLs, IMDSv2, KMS CMKs, TLS enforcement, Zero-Trust networking
DevSecOps / CI/CDGitHub Actions, Trivy, Checkov, TruffleHog, SARIF, Shift-Left security
Security AutomationPython (Boto3), argparse, moto testing, EventBridge/Lambda SOAR pattern
Incident ResponseMITRE ATT&CK mapping, NIST SP 800-61, DFIR tooling (grep, awk, ss, find)
FinOpsLocalStack Pro, cost avoidance strategy, hybrid dev/prod architecture

🔑 Key Engineering Problems Solved

ProblemRoot CauseSolution
$500/mo dev costLive AWS required for realistic testingLocalStack Pro emulation — $0 dev spend
OOMKill in K8s podsNo resource limits definedPrometheus monitoring + rightsized limits/requests
Microservices networkingBasic port-forwardingNginx Ingress with Layer 7 routing + rate limiting
Shadow IT / region sprawlNo guardrails on multi-account orgAWS Organizations SCPs at Root level
SSRF via IMDSIMDSv1 default on EC2http_tokens = required, hop limit=1 everywhere
CloudTrail tamperingAdmin can stop loggingSCP denying 5 CloudTrail manipulation actions
Hardcoded KMS keyWildcard "AWS": "*" in key policyScoped to arn:aws:iam::${account_id}:root
Single-AZ ALBOnly 1 subnet providedDual-AZ VPC module, both subnets passed to ALB
Manual incident responseHuman-speed IP blockingPython SOAR tool with <500ms containment

📁 Repository Structure

.
├── .github/workflows/
│ └── trivy-scan.yml # 4-job security pipeline (Trivy, TruffleHog, Checkov)
├── k8s-ecommerce-project/ # KubeScale: 11-service K8s platform + SRE observability
│ ├── manifest/ # K8s manifests: Deployment, Service, Ingress, HPA, NetworkPolicy
│ ├── email-service/ # Custom Python microservice (Flask + gunicorn)
│ ├── finops/ # LocalStack Pro docker-compose for zero-cost AWS emulation
│ └── microservices-demo/ # Google Online Boutique source (all 11 services)
├── ha-aws-architecture/ # HA Architecture: WAF + ALB + ASG + CloudTrail + GuardDuty
├── security-stack/ # Full security stack: VPC + IAM + CloudTrail + GuardDuty + EC2
├── aws-foundation/ # Foundation: VPC + IAM + hardened EC2
├── s3-secure-storage/ # Secure storage: S3 + KMS + TLS-only + versioning + lifecycle
├── governance/ # Enterprise SCPs: 3 policies at org root
├── automation/ # SOAR: Python NACL remediation + pytest test suite
├── forensics/ # DFIR: MITRE ATT&CK mapped investigation
├── incident-reports/ # Formal IR: NIST SP 800-61 incident report
├── modules/ # Reusable Terraform: vpc, logging, security, iam
├── docs/
│ ├── adr/ # Architecture Decision Records (ADR-001, ADR-002, ADR-003)
│ └── reality-check/ # What actually broke on each project and how it was fixed
└── .trivyignore # Documented exception list for lab-environment findings

🔴 Reality Check Documentation

This portfolio was not built on the happy path. Every project encountered real engineering failures. The documents below record what broke, the exact root cause, how it was fixed, and what it would have cost in production.

#ProjectHardest Failure
1IaC FoundationsKMS wildcard key policy — any IAM identity in the account could decrypt logs
2S3 Secure StorageTLS-only bucket policy blocked all LocalStack requests (HTTP-only dev environment)
3Security StackCloudTrail → S3 bucket policy circular dependency on first apply
4HA AWS ArchitectureSingle-AZ VPC broke ALB creation — ALB requires 2 subnets in 2 AZs
5Enterprise GovernanceSCPs at OU level — Security OU could bypass its own controls
6SOAR Automationsys.exit() inside library functions made all unit tests impossible
7DFIR Investigation46-minute manual containment window — attacker completed all objectives before block
8KubeScale PlatformOOMKill from missing resource limits caused noisy-neighbour cascading failures
9DevSecOps Pipelinetrivy-action@0.28.0 tag didn't exist — security gate silently not running

→ Full Reality Check Documentation


📬 Contact

ChannelLink
Emailsodiqjimoh80@gmail.com
GitHubgithub.com/sodiq-code

This portfolio demonstrates production-grade engineering judgement: every architectural decision is documented, every security control is justified, and every line of infrastructure is testable.

About

This is my production engineering portfolio. Every project solves a real infrastructure or security problem using production-grade patterns, documented architectural decisions, and automated security validation.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages