Split manifests into infra/ and applications/

This commit is contained in:
2026-06-21 12:14:38 +02:00
parent 64e8bf7d78
commit c40577589d
360 changed files with 69 additions and 67 deletions

View File

@@ -0,0 +1,46 @@
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: n8n-route
namespace: n8n
spec:
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: gateway-internal
namespace: envoy-gateway
sectionName: n8n
hostnames:
- "n8n.jsme.be"
rules:
- matches:
- path:
type: PathPrefix
value: /
filters:
- type: RequestHeaderModifier
requestHeaderModifier:
set:
- name: X-Forwarded-Host
value: "n8n.jsme.be"
- name: X-Forwarded-Proto
value: https
- type: ResponseHeaderModifier
responseHeaderModifier:
set:
- name: Strict-Transport-Security
value: "max-age=31536000; includeSubDomains"
- name: X-Content-Type-Options
value: nosniff
- name: X-Frame-Options
value: SAMEORIGIN
- name: Referrer-Policy
value: strict-origin-when-cross-origin
- name: Permissions-Policy
value: "camera=(), microphone=(), geolocation=(), payment=()"
backendRefs:
- name: n8n-svc
port: 5678
kind: Service
group: ""
weight: 1

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: n8n-pvc
namespace: n8n
spec:
accessModes:
- ReadWriteMany
storageClassName: longhorn-static
resources:
requests:
storage: 10Gi

View File

@@ -0,0 +1,13 @@
kind: Service
apiVersion: v1
metadata:
name: n8n-svc
namespace: n8n
spec:
ports:
- name: n8n
port: 5678
targetPort: 5678
selector:
app: n8n
type: ClusterIP

View File

@@ -0,0 +1,74 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
namespace: n8n
name: n8n
spec:
replicas: 1
selector:
matchLabels:
app: n8n
serviceName: n8n-svc
template:
metadata:
labels:
app: n8n
spec:
restartPolicy: Always
terminationGracePeriodSeconds: 10
containers:
- name: n8n
image: docker.n8n.io/n8nio/n8n
imagePullPolicy: Always
resources:
requests:
cpu: 200m
memory: 512Mi
limits:
cpu: 1000m
memory: 1Gi
volumeMounts:
- name: data
mountPath: /home/node/.n8n
env:
- name: GENERIC_TIMEZONE
value: "Europe/Brussels"
- name: TZ
value: "Europe/Brussels"
- name: N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS
value: "true"
- name: N8N_HOST
value: "0.0.0.0"
- name: DB_TYPE
value: postgresdb
- name: DB_POSTGRESDB_DATABASE
valueFrom:
secretKeyRef:
name: n8n-secrets
key: db_name
- name: DB_POSTGRESDB_HOST
valueFrom:
secretKeyRef:
name: n8n-secrets
key: db_host
- name: DB_POSTGRESDB_PORT
valueFrom:
secretKeyRef:
name: n8n-secrets
key: db_port
- name: DB_POSTGRESDB_USER
valueFrom:
secretKeyRef:
name: n8n-secrets
key: db_user
- name: DB_POSTGRESDB_PASSWORD
valueFrom:
secretKeyRef:
name: n8n-secrets
key: db_password
ports:
- containerPort: 5678
volumes:
- name: data
persistentVolumeClaim:
claimName: n8n-pvc

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
namespace: n8n
name: n8n-postgresql-pvc
spec:
accessModes:
- ReadWriteMany
storageClassName: longhorn-static
resources:
requests:
storage: 10Gi

View File

@@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
name: n8n-postgresql
namespace: n8n
spec:
selector:
app: n8n-postgresql
type: ClusterIP
ports:
- name: n8n-postgresql-port
protocol: TCP
port: 5432
targetPort: 5432

View File

@@ -0,0 +1,53 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
namespace: n8n
name: n8n-postgresql
spec:
replicas: 1
selector:
matchLabels:
app: n8n-postgresql
serviceName: n8n-postgresql
template:
metadata:
labels:
app: n8n-postgresql
spec:
restartPolicy: Always
terminationGracePeriodSeconds: 60
containers:
- name: n8n-postgresql
image: postgres:18
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
ports:
- containerPort: 5432
volumeMounts:
- name: n8n-postgresql-database
mountPath: /var/lib/postgresql/pgdata
env:
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: n8n-secrets
key: db_password
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: n8n-secrets
key: db_user
- name: POSTGRES_DB
valueFrom:
secretKeyRef:
name: n8n-secrets
key: db_name
volumes:
- name: n8n-postgresql-database
persistentVolumeClaim:
claimName: n8n-postgresql-pvc