apiVersion: v1 kind: ConfigMap metadata: name: pingora-config namespace: ingress data: config.toml: | # Sunbeam proxy config. # # Substitution placeholders (replaced by sed at deploy time): # DOMAIN_SUFFIX — e.g. .sslip.io (local) or yourdomain.com (production) [listen] http = "0.0.0.0:80" https = "0.0.0.0:443" [tls] # Cert files are written here by the proxy on startup and on cert renewal # via the K8s API. The /etc/tls directory is an emptyDir volume. cert_path = "/etc/tls/tls.crt" key_path = "/etc/tls/tls.key" [telemetry] # Empty = OTEL disabled. Set to http://otel-collector.data.svc:4318 when ready. otlp_endpoint = "" # Host-prefix → backend routing table. # The prefix is the subdomain before the first dot, so these routes work # identically for yourdomain.com and *.sslip.io. # Edit to match your own service names and namespaces. [[routes]] host_prefix = "docs" backend = "http://docs.lasuite.svc.cluster.local:8000" websocket = true [[routes]] host_prefix = "meet" backend = "http://meet.lasuite.svc.cluster.local:8000" websocket = true [[routes]] host_prefix = "drive" backend = "http://drive.lasuite.svc.cluster.local:8000" [[routes]] host_prefix = "mail" backend = "http://messages.lasuite.svc.cluster.local:8000" [[routes]] host_prefix = "chat" backend = "http://conversations.lasuite.svc.cluster.local:8000" websocket = true [[routes]] host_prefix = "people" backend = "http://people.lasuite.svc.cluster.local:8000" [[routes]] host_prefix = "src" backend = "http://gitea-http.devtools.svc.cluster.local:3000" websocket = true # auth: login-ui handles browser UI; Hydra handles OAuth2/OIDC; Kratos handles self-service flows. [[routes]] host_prefix = "auth" backend = "http://login-ui.ory.svc.cluster.local:3000" [[routes.paths]] prefix = "/oauth2" backend = "http://hydra-public.ory.svc.cluster.local:4444" [[routes.paths]] prefix = "/.well-known" backend = "http://hydra-public.ory.svc.cluster.local:4444" [[routes.paths]] prefix = "/userinfo" backend = "http://hydra-public.ory.svc.cluster.local:4444" # /kratos prefix is stripped before forwarding so Kratos sees its native paths. [[routes.paths]] prefix = "/kratos" backend = "http://kratos-public.ory.svc.cluster.local:4433" strip_prefix = true [[routes]] host_prefix = "s3" backend = "http://seaweedfs-filer.storage.svc.cluster.local:8333"