Skip to content

Ansita20/Containerized-Microservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Containerized Microservices in Golang

Multi-Cluster & Canary Deployment with Kubernetes and Helm


πŸ“Œ Overview

This repository contains a containerized Golang HTTP microservice that demonstrates modern cloud-native deployment practices, including:

  • Golang-based backend service
  • Docker containerization
  • Kubernetes deployment using Helm
  • Multi-cluster Kubernetes setup
  • Canary deployment strategy

The project is designed for learning and showcasing DevOps and Kubernetes concepts using a simple but realistic microservice.


πŸš€ Application Features

The Go service exposes the following HTTP endpoints:

  • GET /
    Returns a simple message indicating the application is running.

  • GET /health
    Returns JSON health status with a timestamp.

  • GET /details
    Returns the hostname and IP address of the running container or Kubernetes pod.


πŸ“ Project Structure

.
β”œβ”€β”€ go-app/                         # Helm chart for Kubernetes deployment
β”‚   β”œβ”€β”€ templates/
β”‚   β”‚   β”œβ”€β”€ deployment.yaml         # Stable deployment
β”‚   β”‚   β”œβ”€β”€ deployment-canary.yaml  # Canary deployment
β”‚   β”‚   β”œβ”€β”€ service.yaml            # Kubernetes Service
β”‚   β”‚   β”œβ”€β”€ _helpers.tpl
β”‚   β”‚   └── NOTES.txt
β”‚   β”œβ”€β”€ Chart.yaml
β”‚   β”œβ”€β”€ values.yaml
β”‚   └── .helmignore
β”‚
β”œβ”€β”€ kubernetes/                     # Raw Kubernetes manifests (optional)
β”‚   β”œβ”€β”€ deployment.yml
β”‚   └── service.yml
β”‚
β”œβ”€β”€ details/
β”‚   └── details.go                  # Hostname & IP utilities
β”‚
β”œβ”€β”€ main.go                         # Go application entry point
β”œβ”€β”€ Dockerfile                      # Multi-stage Docker build
β”œβ”€β”€ docker-compose.yml
β”œβ”€β”€ go.mod
β”œβ”€β”€ go.sum
└── README.md
# Containerized-Microservices

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published