k8s-asxpio-gitops/README.md

1.3 KiB

k8s-asxpio-gitops

GitOps repo for self-hosted Kubernetes cluster on Hetzner, managed by ArgoCD.

Cluster

  • Provider: Hetzner Cloud, hel1 (Helsinki)
  • Infrastructure: ../hcloud-k8s (Terraform, hcloud-k8s/kubernetes module v3.27.2)
  • OS: Talos Linux
  • Nodes: 1x control plane (cx23) + 2x worker (cx23) — each 2 vCPU, 4 GB RAM
  • Ingress: Traefik v35.0.1 (Helm), Let's Encrypt TLS via ACME TLS challenge (certs@asxp.io)
  • Storage: hcloud-volumes StorageClass
  • Cert Manager: enabled
  • Terraform state: S3-compatible object storage (hel1.your-objectstorage.com, bucket k8s-asxpio-main)

DNS

*.k8s.asxp.io — wildcard pointing to cluster ingress IP.

Apps

App Namespace URL
ArgoCD argocd
CNPG Operator cnpg-system
PostgreSQL (HA) postgres 3 instances (CloudNativePG)
Forgejo forgejo git.czsk.it / git.asxp.io
WatchParty watchparty watch.k8s.asxp.io

Structure

apps/
  app-of-apps.yaml    # bootstrap — points ArgoCD at this directory
  <app>.yaml           # ArgoCD Application per app
  <app>/               # raw manifests per app