Skip to content

DineTogether Infrastructure Documentation

Welcome to the complete guide for DineTogether's Kubernetes infrastructure and auto-deployment system.

πŸš€ What is This?

This infrastructure delivers GitOps-based deployments of DineTogether apps to a single-server Kubernetes (K3s) cluster using Flux and Kustomize.

Key Features

  • βœ… Push to deploy (GitOps) – Flux watches Git and applies changes automatically
  • βœ… Optional image automation – Flux can bump image tags on new pushes to GHCR
  • βœ… Single server – Lightweight K3s cluster
  • βœ… Private registry – GitHub Container Registry (GHCR)
  • βœ… Automatic TLS – cert-manager + NGINX Ingress Controller
  • βœ… Environments – Staging and production overlays

πŸ“Š Architecture Overview

graph TD
  A[Developer push] -->|CI build| B[GitHub Actions]
  B -->|push image| C[GHCR]
  C -->|new tag| D[Flux Image Automation]
  D -->|commit tag bump| E[Git (infra repo)]
  E -->|watch| F[Flux Controllers]
  F -->|apply kustomize| G[K3s]
  G -->|serve| H[NGINX Ingress + cert-manager]

πŸ“‹ Current Deployments

  • Staging URLs (examples):
  • Frontend: https://frontend.staging.dinetogether.co.uk
  • Backend API: https://api.staging.dinetogether.co.uk
  • Docs: https://docs.staging.dinetogether.co.uk

πŸ› οΈ Infrastructure Components

Core Technologies

  • Kubernetes: K3s (single-node)
  • GitOps: Flux + Kustomize
  • Ingress: NGINX Ingress Controller
  • TLS: cert-manager (Let’s Encrypt)
  • Registry: GitHub Container Registry (GHCR)
  • CI: GitHub Actions

Repositories

🚦 Getting Started

Follow our Quick Start Guide to deploy your first application.

Read How It Works to understand the GitOps workflow.

Check Troubleshooting for common problems and solutions.

Need Help?

  • πŸ“– Browse the complete documentation using the navigation
  • πŸ› Report issues on GitHub
  • πŸ’¬ Contact the infrastructure team

πŸ“š Documentation Access

Online Documentation

Documentation is available at:

https://docs.staging.dinetogether.co.uk

Running Locally

For local development:

# Install dependencies
pip install -r requirements.txt

# Run the documentation server
mkdocs serve

# Access at: http://localhost:8000

What's Included

  • βœ… Complete setup guides
  • βœ… Architecture explanations
  • βœ… Step-by-step deployment instructions
  • βœ… Comprehensive troubleshooting resources
  • βœ… API and configuration references
  • βœ… 25+ pages of detailed documentation