prole/deploy/opentofu/k3s/manifests/knoe/prole-svc-ingress.yaml

83 lines
2.4 KiB
YAML

# prole-svc-ingress.yaml
# Traefik ingress for *.prole.org — routes all prole.org API/UI domains through
# prole-svc-kong (declarative Kong in knoe-system). cert-manager issues a
# single multi-SAN Let's Encrypt cert (svc-prole-org-tls) for all hosts.
#
# Routing map (handled by Kong declarative config in prole-svc-kong-configmap.yaml):
# api.prole.org → supabase-kong.supabase:8000 (PostgREST / Auth / Storage / Functions)
# db.prole.org → supabase-kong.supabase:8000 (Supabase Studio + all APIs)
# supabase.prole.org → supabase-kong.supabase:8000 (alias for db.prole.org)
# svc.prole.org → prometheus-grafana.monitoring:80 (Grafana)
# git.prole.org → gitlab-webservice-default.gitlab:8080 (GitLab HTTPS)
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: svc-prole-ingress
namespace: knoe-system
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
traefik.ingress.kubernetes.io/router.entrypoints: web,websecure
traefik.ingress.kubernetes.io/router.priority: "10"
spec:
ingressClassName: traefik
rules:
- host: api.prole.org
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: prole-svc-kong
port:
number: 8000
- host: db.prole.org
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: prole-svc-kong
port:
number: 8000
- host: supabase.prole.org
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: prole-svc-kong
port:
number: 8000
- host: svc.prole.org
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: prole-svc-kong
port:
number: 8000
- host: git.prole.org
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: prole-svc-kong
port:
number: 8000
tls:
- hosts:
- api.prole.org
- db.prole.org
- supabase.prole.org
- svc.prole.org
- git.prole.org
secretName: svc-prole-org-tls