doran/deploy/k8s/projects
2026-03-29 13:45:34 +02:00
..
unrip/base fix: wait for redpanda before bootstrapping topics 2026-03-28 21:09:49 +01:00
README.md chore: reconcile hetzner bootstrap docs and state 2026-03-29 13:45:34 +02:00

Projects on the shared cluster

This cluster is intended to host multiple independent projects.

Pattern

  • shared platform namespaces:
    • forgejo
    • registry
    • observability
    • cert-manager
  • shared ingress model:
    • use the k3s-bundled Traefik controller
    • project Ingress resources should set ingressClassName: traefik
  • per-project namespaces:
    • unrip
    • future examples: project-foo, project-bar

How to add another project

For each new project, create a project manifest set similar to deploy/k8s/projects/unrip/base/:

  • one namespace
  • one project config map
  • one secret name unique to the project
  • one image pull secret unique to the project
  • one executor/data PVC if needed
  • deployments/services/ingresses only inside that namespace

Recommended naming convention:

  • namespace: project name, e.g. unrip
  • config map: <project>-config
  • app secrets: <project>-secrets
  • pull secret: <project>-registry-creds
  • persistent host path/app state: /var/lib/<project>/...
  • app image: registry.<domain>/<project>:<tag>

Current project in this repo

  • project name: unrip
  • namespace: unrip
  • project manifest: deploy/k8s/projects/unrip/base/