added n8n
This commit is contained in:
@@ -0,0 +1,200 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: n8n
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: n8n-secrets
|
||||
namespace: n8n
|
||||
type: Opaque
|
||||
data:
|
||||
# Base64 values from your previous manifest
|
||||
N8N_ADMIN_USER: a2h3ZXpp
|
||||
N8N_ADMIN_PASSWORD: cWVaVllWQ20wOEhaWmU=
|
||||
POSTGRES_PASSWORD: RmJsV0xPTlM4alVjNUE=
|
||||
N8N_ENCRYPTION_KEY: Tm90U2VjcmV0S2V5MTIzIQ==
|
||||
N8N_TASKS_RUNNER_AUTH_TOKEN: bXktc2hhcmVkLXNlY3JldC10b2tlbi0xMjM=
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: n8n-config
|
||||
namespace: n8n
|
||||
data:
|
||||
N8N_HOST: "n8n.khongisa.co.za"
|
||||
N8N_PROTOCOL: "https"
|
||||
NODE_ENV: "production"
|
||||
WEBHOOK_URL: "https://n8n.khongisa.co.za/"
|
||||
GENERIC_TIMEZONE: "Africa/Johannesburg"
|
||||
DB_TYPE: "postgresdb"
|
||||
DB_POSTGRESDB_HOST: "n8n-db-service"
|
||||
DB_POSTGRESDB_PORT: "5432"
|
||||
DB_POSTGRESDB_DATABASE: "n8n_db"
|
||||
DB_POSTGRESDB_USER: "n8n_user"
|
||||
N8N_PROXY_HOPS: "1"
|
||||
# DEFINITIVE FIX: Force n8n to listen on all interfaces
|
||||
N8N_LISTEN_ADDRESS: "0.0.0.0"
|
||||
N8N_PORT: "5678"
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: n8n-data-pvc
|
||||
namespace: n8n
|
||||
spec:
|
||||
accessModes: ["ReadWriteOnce"]
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: n8n-db-pvc
|
||||
namespace: n8n
|
||||
spec:
|
||||
accessModes: ["ReadWriteOnce"]
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
---
|
||||
# Database Deployment
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: n8n-db
|
||||
namespace: n8n
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: n8n-db
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: n8n-db
|
||||
spec:
|
||||
containers:
|
||||
- name: postgres
|
||||
image: postgres:14-alpine
|
||||
env:
|
||||
- name: POSTGRES_USER
|
||||
value: "n8n_user"
|
||||
- name: POSTGRES_DB
|
||||
value: "n8n_db"
|
||||
- name: POSTGRES_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: n8n-secrets
|
||||
key: POSTGRES_PASSWORD
|
||||
ports:
|
||||
- containerPort: 5432
|
||||
volumeMounts:
|
||||
- name: db-storage
|
||||
mountPath: /var/lib/postgresql/data
|
||||
volumes:
|
||||
- name: db-storage
|
||||
persistentVolumeClaim:
|
||||
claimName: n8n-db-pvc
|
||||
---
|
||||
# Database Internal Service
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: n8n-db-service
|
||||
namespace: n8n
|
||||
spec:
|
||||
ports:
|
||||
- port: 5432
|
||||
selector:
|
||||
app: n8n-db
|
||||
---
|
||||
# n8n Application Deployment
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: n8n
|
||||
namespace: n8n
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: n8n-app # Standardized label selector
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: n8n-app # Matches selector and service
|
||||
spec:
|
||||
containers:
|
||||
- name: n8n
|
||||
image: docker.n8n.io/n8nio/n8n:latest
|
||||
ports:
|
||||
- containerPort: 5678
|
||||
- containerPort: 5679 # Explicitly open the Task Broker port
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: n8n-config
|
||||
env:
|
||||
# DEFINITIVE FIX: Align communication between main process and Task Runner
|
||||
- name: N8N_TASKS_RUNNER_BROKER_HOST
|
||||
value: "127.0.0.1"
|
||||
- name: N8N_TASKS_RUNNER_BROKER_PORT
|
||||
value: "5679"
|
||||
- name: N8N_TASKS_RUNNER_AUTH_TOKEN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: n8n-secrets
|
||||
key: N8N_TASKS_RUNNER_AUTH_TOKEN
|
||||
# Database and Admin overrides
|
||||
- name: DB_POSTGRESDB_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: n8n-secrets
|
||||
key: POSTGRES_PASSWORD
|
||||
- name: N8N_ENCRYPTION_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: n8n-secrets
|
||||
key: N8N_ENCRYPTION_KEY
|
||||
- name: N8N_USER_MANAGEMENT_ADMIN_USER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: n8n-secrets
|
||||
key: N8N_ADMIN_USER
|
||||
- name: N8N_USER_MANAGEMENT_ADMIN_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: n8n-secrets
|
||||
key: N8N_ADMIN_PASSWORD
|
||||
- name: N8N_SECURE_COOKIE
|
||||
value: "false"
|
||||
- name: N8N_COOKIES_SAME_SITE
|
||||
value: "lax"
|
||||
- name: N8N_PROXY_HOPS
|
||||
value: "1"
|
||||
volumeMounts:
|
||||
- name: n8n-data
|
||||
mountPath: /home/node/.n8n
|
||||
volumes:
|
||||
- name: n8n-data
|
||||
persistentVolumeClaim:
|
||||
claimName: n8n-data-pvc
|
||||
---
|
||||
# NodePort Service
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: n8n-service
|
||||
namespace: n8n
|
||||
spec:
|
||||
type: NodePort
|
||||
selector:
|
||||
app: n8n-app # Correctly targets the refactored Deployment labels
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 5678
|
||||
targetPort: 5678
|
||||
nodePort: 30567
|
||||
Reference in New Issue
Block a user