Files
enkly-ai/k8s/30-ingress.yaml
enkly 79ce8dc4c0
Some checks failed
Go CI Pipeline / build_and_test (push) Failing after 22m0s
Init Project
2026-10-30 18:06:55 +01:00

41 lines
1.5 KiB
YAML

# Requires an ingress controller (e.g. ingress-nginx) already running
# in the cluster — `kubectl get nodes` output didn't show one and
# none was mentioned, so install one first:
# kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.11.3/deploy/static/provider/baremetal/deploy.yaml
# If you'd rather not run an ingress controller, delete this file and
# uncomment the NodePort Service below instead.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: gateway
namespace: enkly
annotations:
cert-manager.io/cluster-issuer: production
nginx.ingress.kubernetes.io/proxy-body-size: "25m" # chat file/photo attachments
nginx.ingress.kubernetes.io/proxy-read-timeout: "300" # long-running agent/chat responses
spec:
ingressClassName: nginx
tls:
- hosts:
- ai.enkly.org # match ENKLY_BASE_URL in 01-config.yaml, or set to your real domain
secretName: ai-enkly-org
rules:
- host: ai.enkly.org
http:
paths:
- path: /
pathType: Prefix
backend:
service: {name: gateway, port: {number: 8080}}
---
# Bare-metal fallback with no ingress controller installed: exposes
# the gateway directly on every node's IP at a fixed high port. Apply
# this INSTEAD OF (not in addition to) the Ingress above if preferred.
# apiVersion: v1
# kind: Service
# metadata: {name: gateway-nodeport, namespace: enkly}
# spec:
# type: NodePort
# selector: {app: gateway}
# ports: [{name: http, port: 8080, targetPort: http, nodePort: 30080}]