doran/deploy/k8s/projects
2026-03-30 17:39:20 +02:00
..
README.md refactor: split unrip into separate repo 2026-03-30 17:39:20 +02:00

Projects on the shared cluster

This cluster is intended to host multiple independent projects. This directory documents project conventions; actual project code/manifests live in their own application repositories.

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 in that project's own repository, similar to the unrip app repo's deploy/k8s/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 deployed app

  • project name: unrip
  • namespace: unrip
  • project manifest: in the separate unrip app repo under deploy/k8s/base/