Skip to content

AkashyadavDevOpsProject/Project_Files

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevOps Infrastructure & Kubernetes Reference Repository

AWS GCP Kubernetes Jenkins ArgoCD Docker

A comprehensive, production-ready DevOps reference repository covering end-to-end infrastructure automation — from CI/CD pipelines to Kubernetes deployments to AWS CloudFormation templates.


Repository Structure

.
├── CICD/                       # Jenkins pipelines & ArgoCD rollout strategies
│   ├── springbootjenkinspipline        # Full Spring Boot CI/CD pipeline
│   ├── jenkinsgkemultibranch           # GKE multi-branch pipeline
│   ├── multibranchpipline              # Multi-branch pipeline template
│   ├── bluegreendeployment.yaml        # ArgoCD Blue-Green deployment
│   └── Canarydeployment.yaml           # ArgoCD Canary deployment strategies
│
├── Cloudformation/             # AWS Infrastructure as Code templates
│   ├── VPC                             # VPC with subnets, NAT, VPC endpoints
│   ├── Prod_aws_infra                  # Full production environment (ECS + RDS)
│   ├── RDS_Aurora_Postgresql           # Aurora PostgreSQL cluster with KMS
│   ├── DMS                             # Database Migration Service setup
│   └── pocdevinfra                     # POC/Dev environment template
│
├── Manifests/                  # Kubernetes manifests (50+ YAML files)
│   ├── Workloads                        # Pods, Deployments, ReplicaSets, DaemonSets
│   ├── Networking                       # Services, Ingress, Network Policies
│   ├── Storage                          # PV, PVC, StorageClass, NFS, HostPath
│   ├── Configuration                    # ConfigMaps, Secrets
│   ├── Scaling & Scheduling             # HPA, Resource Quotas, Affinity Rules
│   ├── Health Checks                    # Liveness & Readiness Probes
│   ├── Full Stack Apps                  # Spring Boot + MongoDB + Ingress
│   └── jenkins/                         # Jenkins-integrated K8s manifests
│
└── kubernetes Architecture/    # Architecture diagrams and documentation
    ├── README.md
    └── Diagrams (PNG + SVG)

What This Repository Covers

CI/CD Pipelines (Jenkins + ArgoCD)

  • 10-stage Jenkins pipeline: Git checkout → Compile → Test → Trivy FS scan → SonarQube analysis → Quality gate → Build → Nexus publish → Docker build → Container scan → Push to GCP Artifact Registry → Deploy to GKE
  • Multi-branch pipeline for managing dev/staging/prod branches automatically
  • Blue-Green deployments with ArgoCD Rollouts — zero-downtime releases with manual promotion control
  • Canary deployments with weighted traffic splitting (20% → 40% → 60% → 80% → 100%) and NGINX Ingress traffic management

AWS Infrastructure (CloudFormation)

  • Production VPC: Multi-AZ, public/private subnets, NAT Gateway, VPC endpoints for SSM, ECR, S3, CloudWatch
  • Production Environment: ECS Fargate with ALB, multi-AZ RDS (master + standby + 2 read replicas)
  • Aurora PostgreSQL: Multi-AZ cluster, KMS encryption, Secrets Manager, pgaudit, 30-day backups
  • Database Migration Service: Oracle → PostgreSQL migration with CDC (Change Data Capture)
  • POC Environment: Lightweight single-region setup for development

Kubernetes (50+ Manifests)

  • Full workload types: Pod, ReplicaSet, ReplicationController, DaemonSet, StatefulSet, Deployment
  • Rolling update and Recreate deployment strategies
  • All storage types: PV, PVC, StorageClass, NFS, HostPath, ConfigMap-backed volumes
  • Network policies (default-deny, namespace-level, app-level)
  • Path-based and host-based Ingress routing for microservices
  • Horizontal Pod Autoscaler, Resource Quotas, LimitRanges
  • Node Affinity, Pod Affinity, Anti-Affinity scheduling
  • Real-world full-stack app: Spring Boot (2 replicas) + MongoDB StatefulSet + Ingress + ConfigMap + Secret + PVC

Technology Stack

Layer Technology
Cloud Platform AWS (ap-south-1), GCP (us-central1)
Container Orchestration Kubernetes (GKE), ArgoCD
Infrastructure as Code AWS CloudFormation
CI/CD Jenkins (Declarative Pipeline)
Build Tool Maven 3, JDK 17
Code Quality SonarQube
Security Scanning Trivy (filesystem + container image)
Artifact Repository Nexus, GCP Artifact Registry
Containerization Docker
Database MySQL (RDS), Aurora PostgreSQL, MongoDB, Oracle SE2
Deployment Strategies Blue-Green, Canary, Rolling Update, Recreate
Monitoring Prometheus, CloudWatch

Folder-by-Folder Documentation

Folder README
CI/CD Pipelines CICD/README.md
CloudFormation Templates Cloudformation/README.md
Kubernetes Manifests Manifests/README.md
Architecture Diagrams kubernetes Architecture/README.md

Prerequisites

Tool Version Purpose
kubectl v1.28+ Apply Kubernetes manifests
aws cli v2 Deploy CloudFormation stacks
Jenkins LTS Run CI/CD pipelines
ArgoCD v2.9+ GitOps deployments
Docker 20.10+ Build and push images
helm v3 (Optional) Prometheus stack

Quick Start

Deploy a CloudFormation stack

aws cloudformation create-stack \
  --stack-name my-vpc \
  --template-body file://Cloudformation/VPC \
  --region ap-south-1

Apply a Kubernetes manifest

kubectl apply -f Manifests/springbootingress.yaml
kubectl get pods -n springboot-ibm-payment
kubectl get svc -n springboot-ibm-payment

Deploy Blue-Green with ArgoCD

kubectl apply -f CICD/bluegreendeployment.yaml
# Promote after verifying preview
kubectl argo rollouts promote blue-green-deployment

Deploy Canary with traffic splitting

kubectl apply -f CICD/Canarydeployment.yaml
# Watch rollout progress
kubectl argo rollouts get rollout rollouts-setweight --watch

Key Design Principles

  • Security First: Trivy scans on every build (filesystem + image), SonarQube quality gates, KMS encryption at rest, Secrets Manager for credentials, VPC endpoints to avoid public internet
  • High Availability: Multi-AZ RDS, ECS Fargate across AZs, read replicas, StatefulSet with persistent storage
  • Zero-Downtime Deployments: Blue-Green with manual promotion, Canary with gradual traffic shift
  • GitOps: Kubernetes manifests updated automatically by Jenkins pipeline, ArgoCD syncs from Git
  • Cost Efficiency: NAT Gateway shared across private subnets, Fargate (serverless containers), appropriate instance sizing

Author

Maintained as a DevOps reference repository covering real-world CI/CD, cloud infrastructure, and Kubernetes patterns used in production environments.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors