This repository contains two simple HTTP applications in Go:
- App1: Outputs
There's no such thing as a bad day when you're fishing.
- App2: Outputs
When in doubt, fish!
The objectives of this case study are to:
-
Deploy these two applications on a Kubernetes cluster.
- 80% of the traffic routed to App2.
- 20% of the traffic routed to App1 using a LoadBalancer.
-
Set up a secure CI/CD pipeline that includes:
- Code Scanning: Identify vulnerabilities in the code.
- Container Image Scanning: Detect vulnerabilities in Docker images using tools like Trivy.
- Automatic Deployment: Trigger deployments based on pipeline stages.
- Continuous Vulnerability Management: Integrate Aqua Security or Sysdig Secure for monitoring vulnerabilities continuously.
- Google Cloud SDK (
gcloud
) - Kubernetes (
kubectl
) - Docker
- Trivy for vulnerability scanning
- Optional: Aqua Security or Sysdig Secure for continuous vulnerability management.
-
Create a Kubernetes Cluster: Set up a GKE cluster called
sharky-cluster
on Google Cloud Platform (GCP). -
Load Balancer with NGINX Ingress: Configure NGINX Ingress to manage traffic and load balancing.