Skip to content

neiltalap/Distributed

Repository files navigation

Distributed Systems Playground

A structured collection of Kubernetes manifests and Go application examples for learning distributed systems.

🚀 Quick Start

Prerequisites

  • Kubernetes Cluster: Minikube, Kind, K3s, or a cloud provider.
  • kubectl: Kubernetes command-line tool.
  • Go (Optional): For building the Go application locally.
  • Docker (Optional): For building container images.

📂 Repository Structure

Core Concepts

Workloads

Networking

  • Services: Exposing applications (ClusterIP, NodePort, LoadBalancer).
  • Ingresses: HTTP/HTTPS routing.
  • Gateway API: Modern, flexible routing (Gateway, HTTPRoute).

Storage & Config

  • Storage: Persistent Volumes (PV), Claims (PVC), and StorageClasses.
  • Configs: Configuration management using ConfigMaps and Secrets.

Applications

  • Go App Demo: A production-ready Go application demonstrating Kubernetes best practices (Probes, Graceful Shutdown).

🛠 Usage

  1. Deploy the Demo App:

    make deploy-app
  2. Explore a Concept: Navigate to a directory and apply the manifests:

    cd jobs
    kubectl apply -f job.yaml

About

A reference library for distributed workflows

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published