Back to Projects

Code-Keeper - DevOps CI/CD Automation Platform

⭐ Featured

Built a complete end-to-end DevOps automation platform that deploys a GitLab instance using Ansible, provisions cloud infrastructure with Terraform, and implements comprehensive CI/CD pipelines for a microservices-based application. The project demonstrates industry best practices for continuous integration, continuous deployment, and security across staging and production environments.

Completed10
Code-Keeper - DevOps CI/CD Automation Platform

Technologies

AnsibleTerraformGitLab CI/CDDockerKubernetesPythonFlaskPostgreSQLRabbitMQAWS EKSAWS RDSCloudWatchVagrantTrivy

Project Overview

Code-Keeper is an enterprise-grade DevOps automation platform that showcases the complete lifecycle of modern application deployment. The project consists of three core microservices: an Inventory application for managing movie catalog data, a Billing application for processing orders with message queue integration, and an API Gateway serving as the single entry point for all client requests.\n\nThe infrastructure is fully automated using Infrastructure as Code (IaC) principles with Terraform, provisioning resources on AWS including EKS clusters, RDS databases, VPCs, and comprehensive monitoring with CloudWatch. The entire GitLab CI/CD platform is deployed and configured using Ansible playbooks, demonstrating configuration management automation.\n\nEach microservice includes extensive automated testing (smoke tests, integration tests, stress tests), security scanning with Trivy, containerization with Docker, and orchestration with Kubernetes. The pipelines implement manual approval gates between staging and production deployments, ensuring controlled releases.

Challenges

Designing and implementing a complete end-to-end DevOps pipeline presented multiple challenges: orchestrating infrastructure provisioning across staging and production environments while maintaining consistency, automating GitLab deployment and runner configuration with Ansible, implementing secure credential management without storing secrets in code, creating comprehensive test suites for each microservice covering connectivity, integration, and performance testing, integrating security scanning at multiple pipeline stages, and ensuring zero-downtime deployments with proper approval workflows. Additionally, managing multi-service dependencies with RabbitMQ message queuing and PostgreSQL databases required careful orchestration.

Solutions

Implemented Infrastructure as Code with Terraform modules for networking, compute (EKS), database (RDS), and monitoring, enabling reproducible deployments. Created comprehensive Ansible roles and playbooks for automated GitLab installation and runner configuration. Designed multi-stage CI/CD pipelines with distinct phases: smoke tests, integration tests, stress tests, security scanning, build, push to registry, staging deployment, manual approval, and production deployment. Utilized GitLab CI/CD variables and Kubernetes secrets for secure credential management. Implemented health checks and rolling updates for zero-downtime deployments. Integrated Trivy for vulnerability scanning of both filesystem and Docker images. Used Docker multi-stage builds for optimized container images. Implemented comprehensive monitoring with CloudWatch logs and metrics.

Key Features

GitLab Automated Deployment with Ansible
Infrastructure as Code with Terraform
Multi-Environment Support (Staging/Production)
Comprehensive CI/CD Pipelines
Automated Testing (Smoke, Integration, Stress)
Security Scanning with Trivy
Container Orchestration with Kubernetes
Message Queue with RabbitMQ
Database Management with PostgreSQL
Manual Approval Gates
Zero-Downtime Deployments
CloudWatch Monitoring and Logging
Microservices Architecture (Inventory, Billing, API Gateway)