Portfolio Project by Swanand Awatade
Cloud & DevOps Engineer | DevSecOps | CI/CD | Kubernetes | AWS
This project demonstrates a production-style DevSecOps CI/CD pipeline with automated security gates integrated at every stage of the delivery lifecycle.
The pipeline enforces a security-first approach by embedding scanning, validation, and policy checks directly into CI/CD workflows.
- Secure CI/CD pipelines using GitHub Actions
- Shift-left security with automated scanning
- Infrastructure validation using Terraform + Checkov
- Container image scanning using Trivy
- Kubernetes-ready deployment workflows
- Policy-driven pipeline enforcement
- π DevSecOps-first pipeline design
- βοΈ GitHub Actions-based CI/CD workflows
- π‘οΈ Automated security scanning (IaC + containers)
- π« Pipeline failure on HIGH/CRITICAL vulnerabilities
- π¦ Infrastructure validation before deployment
- βοΈ Kubernetes-ready deployment structure
- π Repeatable and modular pipeline architecture
- Overview
- Key Features
- Pipeline Architecture
- Architecture Diagram
- Tech Stack
- Project Structure
- Pipeline Stages
- Security Gates
- CI/CD Workflows
- How to Run
- Future Improvements
- Author
- License
This pipeline follows a DevSecOps lifecycle model, where security is integrated into every stage:
- Code is pushed to GitHub
- CI pipeline is triggered
- Terraform is validated and scanned
- Security checks are enforced
- Container images are scanned
- Deployment proceeds only if all checks pass
This ensures that no insecure code or infrastructure reaches production.
π Add your pipeline diagram here:
docs/images/pipeline.png
After uploading the image, it will render here:
| Category | Tools |
|---|---|
| CI/CD | GitHub Actions |
| IaC | Terraform |
| Container Security | Trivy |
| IaC Security | Checkov |
| Orchestration | Kubernetes |
| Cloud | AWS |
| Scripting | Bash, YAML |
devsecops-pipeline/
βββ .github/
β βββ workflows/
β βββ terraform-plan.yml # Terraform validation + Checkov scan
β βββ terraform-apply.yml # Apply infrastructure changes
β βββ trivy-scan.yml # Container vulnerability scanning
βββ terraform/
β βββ main.tf
β βββ variables.tf
β βββ outputs.tf
βββ k8s/
β βββ manifests/
βββ scripts/
βββ docs/
β βββ pipeline-diagram.md
βββ README.md- Developer pushes code or raises PR
- CI pipeline is triggered automatically
terraform init
terraform validate
terraform planEnsures:
- syntax correctness
- infrastructure validity
- safe execution plan
- Scans Terraform code for misconfigurations
- Detects:
- open security groups
- unencrypted resources
- insecure IAM policies
- Scans container images for:
- vulnerabilities (CVEs)
- outdated packages
- misconfigurations
π« Pipeline fails if:
- CRITICAL vulnerabilities are found
- HIGH severity issues are present
β Only secure builds proceed further
- Deployment is triggered only after all checks pass
- Supports Kubernetes-based workloads
Security is enforced at multiple layers:
| Stage | Tool | Purpose |
|---|---|---|
| IaC Scan | Checkov | Detect insecure Terraform configs |
| Image Scan | Trivy | Detect vulnerabilities in containers |
| Pipeline Rules | GitHub Actions | Block insecure deployments |
Located in:
.github/workflows/- name: Terraform Validate
run: terraform validate
- name: Checkov Scan
uses: bridgecrewio/checkov-action@master
- name: Trivy Scan
uses: aquasecurity/trivy-action@mastergit clone https://github.com/swanand18/devsecops-pipeline.git
cd devsecops-pipeline- Push code OR
- Create a Pull Request
GitHub Actions will automatically run the pipeline.
Go to:
GitHub β Actions tab
Review:
- pipeline stages
- security scan results
- logs
- Integrate SAST tools (SonarQube / CodeQL)
- Add DAST scanning
- Implement OPA / policy-as-code
- Integrate Secrets scanning
- Add SBOM generation
- Implement container signing (Cosign)
- Add deployment to live Kubernetes cluster
This project reflects:
- Real-world DevSecOps pipeline design
- Security-first software delivery practices
- CI/CD automation using GitHub Actions
- Integration of security into development lifecycle
- Production-style pipeline enforcement patterns
Swanand Awatade
Cloud & DevOps Engineer
π Pune, India
π§ swanand.awatade@gmail.com
π LinkedIn | GitHub
This project is licensed under the MIT License.
See the LICENSE file for details.
