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]
π― Quick Links
-
Deploy your first app in 5 minutes
-
Understand the auto-deployment magic
-
Add your application to the infrastructure
-
Fix common issues quickly
π 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
k8s-infrastructure- This repo with deployment automationfrontend- Next.js frontend appbackend- Django backend APImobile- Flutter mobile app
π¦ 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