A complete DevSecOps pipeline implementing security best practices, automation, and deployment on Kubernetes with AWS EKS.
This project demonstrates the implementation of a robust and secure DevSecOps pipeline, integrating multiple security tools, test automation, and Kubernetes deployment. The pipeline ensures that every commit goes through rigorous security checks before being deployed to production.
- π Secrets Detection - Talisman to identify exposed credentials
- π‘οΈ Vulnerability Analysis - Trivy for dependency and container scanning
- π OPA Policies - Conftest for Kubernetes manifest validation
- π Kubesec - K8s-specific security analysis
- π·οΈ DAST Testing - OWASP ZAP for dynamic security testing
- β Unit Tests - Complete coverage with JaCoCo
- 𧬠Mutation Testing - PIT to validate test quality
- π Static Analysis (SAST) - SonarQube for code metrics
- πͺ Quality Gate - Automatic quality validation
- π Integration Tests - Automated end-to-end validation
- π Automated Deploy - AWS EKS with controlled rollout
- π Health Checks - Application health monitoring
- π Automatic Rollback - Recovery in case of failures
- π’ Notifications - Slack integration for pipeline status
| Category | Tools | Version |
|---|---|---|
| Backend | Spring Boot, Java | 2.2.1, Java 8 |
| Container | Docker | Latest |
| Orchestration | Kubernetes, AWS EKS | Latest |
| CI/CD | GitHub Actions | Latest |
| Security | Trivy, OWASP ZAP, Kubesec, OPA, Talisman | Latest |
| SAST | SonarQube | Latest |
| Testing | JUnit, JaCoCo, PIT | Latest |
| Monitoring | Slack, GitHub Security | Latest |
- Talisman: Secrets detection in commits
- Trivy: Vulnerability scanning in code- Unit Tests: JUnit with JaCoCo coverage
- Mutation Testing: PIT for test quality
- Maven Build: Compilation and packaging- SonarQube: Static code analysis
- Quality Gate: Quality metrics validation
- Coverage Integration: JaCoCo reports integration- Docker Build: Containerized image creation
- Docker Push: Registry upload
- Image Tagging: Versioning with Git SHA- Kubesec: Manifest security analysis
- Trivy K8s: Kubernetes configuration scanning
- OPA Conftest: Policy validation- EKS Deploy: AWS cluster deployment
- Rollout Monitoring: Deployment tracking
- Health Checks: Health verification- Port Forward: Access to deployed service
- API Testing: Endpoint validation
- Payload Verification: Functionality tests- OWASP ZAP Baseline: Basic security scan
- OWASP ZAP Full: Complete vulnerability scan
- Report Generation: Detailed HTML reports- Slack Integration: Status notifications
- Pipeline Summary: Complete results summary- Docker
- kubectl
- AWS CLI configured
- Active EKS cluster
git clone https://github.com/gabriel/kubernetes-devops-security.git
cd kubernetes-devops-security# Required secrets:
AWS_ACCESS_KEY_ID: "your-access-key"
AWS_SECRET_ACCESS_KEY: "your-secret-key"
EKS_CLUSTER_NAME: "cluster-name"
DOCKER_USERNAME: "your-dockerhub-username"
DOCKER_PASSWORD: "your-dockerhub-password"
SLACK_WEBHOOK_URL: "slack-webhook-url"
SONAR_TOKEN: "sonarqube-token"
SONAR_HOST_URL: "sonarqube-url"# Push to feature/* branch to trigger pipeline
git checkout -b feature/new-feature
git add .
git commit -m "feat: new feature"
git push origin feature/new-feature- JaCoCo: Code coverage reports
- PIT: Test quality analysis
- Threshold: 50% mutation score
- SonarQube: Code quality metrics
- Quality Gate: Automatic quality validation
- Coverage Integration: JaCoCo reports integration
- Trivy: SARIF reports in GitHub Security
- OWASP ZAP: HTML vulnerability reports
- Kubesec: Manifest security scores
- Rollout Status: Real-time monitoring
- Health Checks: Automatic health verification
- Rollback: Automatic recovery on failures
# Adjust scan severity
severity: "CRITICAL,HIGH,MEDIUM"
# Configure notification channels
SLACK_CHANNEL: "github-actions-channel"
# Customize OPA policies
opa-policies/
βββ docker-security.rego
βββ opa-k8s-security.regoscripts/
βββ kubesec-scan.sh # Kubesec scan
βββ integration-test.sh # Integration tests
βββ k8s-deployment.sh # Kubernetes deploy
βββ k8s-deployment-rollout-status.sh # Rollout status- β Shift-Left Security: Security integrated from development
- β Compliance: OPA policies for compliance
- β Vulnerability Management: Automatic detection and correction
- β Secrets Management: Prevention of credential leakage
- β Zero-Touch Deployment: Completely automated deployment
- β Self-Healing: Automatic rollback on failures
- β Continuous Monitoring: Continuous health monitoring
- β Feedback Loop: Real-time notifications
- β Code Quality: Automated quality metrics
- β Test Coverage: Comprehensive test coverage
- β Mutation Testing: Test quality validation
- β Static Analysis: Continuous static analysis
- π 100% Automated: Completely automated pipeline
- π‘οΈ 7 Security Layers: Multiple security verifications
- β‘ Deploy in < 5min: Fast and reliable deployment
- π 95%+ Coverage: High test coverage
- π Zero Downtime: Deployment without service interruption