Files
infrapuzzle/projects/moritzgrafde/AGENTS.md
T

1.7 KiB

AGENTS.md — Moritz Graf Personal Website (moritzgrafde)

Note

Domain: Personal portfolio and homepage for Moritz Graf.
Live Production URL: https://moritzgraf.de
Kubernetes Manifest: k8s/web/moritzgrafde.yaml (Namespace: web)
Container Image: registry.haumdaucher.de/moritzgrafde:latest
Source Location: projects/moritzgrafde/ (Migrated from standalone moritzgraf repo)


🏛️ Architecture & Build Pipeline

  1. Stack:

    • Static site generated with Hugo using the hugo-goa theme.
    • Served via lightweight nginx container (Dockerfile).
    • The compiled static site is maintained in public/.
  2. Container Build & Architecture:

    • The target Kubernetes node haumdaucher runs on linux/amd64.
    • Build command:
      docker build --platform linux/amd64 -t registry.haumdaucher.de/moritzgrafde:latest .
      docker push registry.haumdaucher.de/moritzgrafde:latest
      
  3. Deployment:

    • Deployed to the Kubernetes cluster in namespace web.
    • Ingress controller: Traefik, Let's Encrypt SSL via cert-manager.
    • Rollout restart:
      kubectl rollout restart deployment/moritzgrafde -n web
      kubectl rollout status deployment/moritzgrafde -n web
      

📁 Repository Structure

  • content/: Hugo content markdown files.
  • themes/hugo-goa/: Hugo Goa theme layouts and partials.
  • public/: Pre-rendered production assets and HTML ready for the Nginx container.
  • Dockerfile: Minimal Nginx container copying ./public/ to /usr/share/nginx/html/.
  • build.sh: Convenience build, push, and redeploy script.
  • config.toml: Hugo site configuration.