d68d20c6f4
Every environment value is a ${VAR} for the caller to substitute: hostname,
images, storage, ingress class, TLS issuer, Vault server and path, timezone,
retention. Nothing in k8s/ names a host, a realm, an agent or an estate.
Removed: the Flux plumbing under dev/, which described one deployment, and the
ExternalSecret pulling a specific agent's Keycloak client secret. Both belong to
whoever deploys this. The lab CA ConfigMap goes with them — the mount stays,
parameterised and marked optional, because 'trust a private CA' is a property of
an environment and not of n8n.
The README is now the template's: how to consume it, what every variable means,
and the three things it deliberately does not do.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
32 lines
945 B
YAML
32 lines
945 B
YAML
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: n8n
|
|
namespace: ${NAMESPACE}
|
|
annotations:
|
|
# The editor pushes execution progress over a long-lived connection, and
|
|
# imports can be large. Buffering it defeats the first; the default body
|
|
# size defeats the second.
|
|
nginx.ingress.kubernetes.io/proxy-body-size: ${INGRESS_BODY_SIZE}
|
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
|
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
|
|
nginx.ingress.kubernetes.io/proxy-buffering: "off"
|
|
nginx.ingress.kubernetes.io/proxy-http-version: "1.1"
|
|
spec:
|
|
ingressClassName: ${INGRESS_CLASS}
|
|
tls:
|
|
- hosts:
|
|
- ${N8N_HOSTNAME}
|
|
secretName: n8n-tls
|
|
rules:
|
|
- host: ${N8N_HOSTNAME}
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: n8n
|
|
port:
|
|
number: 80
|