Skip to content

A comprehensive DevOps platform built on Google Cloud Platform featuring Kubernetes (GKE) orchestration, automated CI/CD pipelines with GitHub Actions, Prometheus/Grafana monitoring, and infrastructure as code using Terraform. This toolchain streamlines application deployment, provides robust observability, and implements security best practices

License

Notifications You must be signed in to change notification settings

amanmogal/Devops-toolchain

Repository files navigation

DevOps Toolchain Project

A comprehensive DevOps infrastructure implementation on Google Cloud Platform with automated CI/CD pipelines, robust monitoring, and infrastructure as code. This toolchain is designed for real-world deployment across multiple teams and projects.

Overview

This project establishes a modern DevOps toolchain using Google Kubernetes Engine (GKE) with integrated CI/CD practices, monitoring solutions, and infrastructure automation. The implementation follows cloud-native principles to enable consistent, reliable, and secure application deployments.

Features

  • Infrastructure as Code: Complete GCP infrastructure defined and managed through Terraform
  • Container Orchestration: GKE cluster with custom node pools and networking
  • CI/CD Automation: GitHub Actions pipelines for streamlined build, test, and deployment
  • Monitoring Stack: Prometheus and Grafana for comprehensive observability
  • Security Integration: Built-in security scanning with Trivy and compliance checks
  • Scalability: Automatic scaling capabilities at infrastructure and application levels

Architecture

The toolchain implements a multi-layer architecture:

graph TD
    A[GitHub Repository] --> B[CI/CD Pipeline]
    B --> C[Google Kubernetes Engine]
    C --> D[Application Deployment]
    B --> E[Container Registry]
    E --> C
    C --> F[Monitoring Stack]
    F --> G[Grafana Dashboards]
    F --> H[Prometheus Metrics]
Loading

Technology Stack

  • Cloud Platform: Google Cloud Platform (GCP)
  • Container Orchestration: Google Kubernetes Engine (GKE)
  • Infrastructure as Code: Terraform
  • CI/CD: GitHub Actions
  • Containerization: Docker
  • Monitoring: Prometheus, Grafana, Cloud Logging
  • Security: Trivy, SonarQube, IAM policies
  • Application Runtime: Node.js

Getting Started

Prerequisites

  • Google Cloud Platform account with appropriate permissions
  • GitHub account
  • Terraform installed locally
  • Google Cloud SDK installed
  • PowerShell (for Windows)

Deployment Options

1. Single-Team Deployment

# Deploy for a single team
.\toolchain.ps1 deploy -Environment dev

2. Multi-Team Deployment

# Deploy with multi-team support
.\toolchain.ps1 deploy -Environment dev -MultiTeam

# Register a project for a specific team
.\toolchain.ps1 register -ProjectName "my-project" -RepositoryUrl "https://github.com/org/repo" -TeamName "team-a"

3. Dedicated Instances per Team

# Create a dedicated instance for a team
.\toolchain.ps1 create-instance -ConfigFile "configs/projects/my-project/config.json"

Detailed setup documentation is available in the docs directory:

Components

  • terraform/: Infrastructure definitions for GCP resources
  • k8s/: Kubernetes manifests for application deployments
  • monitoring/: Prometheus and Grafana configurations
  • pipelines/: GitHub Actions workflow definitions
  • docs/: Comprehensive documentation

Roadmap

  • Istio service mesh integration
  • Advanced canary deployment capabilities
  • Machine learning pipeline integration
  • Enhanced security scanning procedures
  • Cost optimization refinements

Contributing

Contributions are welcome! Please read our Contributing Guide for details on the process for submitting pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A comprehensive DevOps platform built on Google Cloud Platform featuring Kubernetes (GKE) orchestration, automated CI/CD pipelines with GitHub Actions, Prometheus/Grafana monitoring, and infrastructure as code using Terraform. This toolchain streamlines application deployment, provides robust observability, and implements security best practices

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published