Get the FREE Ultimate OpenClaw Setup Guide →

n8n-operator

Kubernetes Operator for N8n, a fair-code workflow automation platform with native AI capabilities.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio jakub-k-slys-n8n-operator docker run -i jakub-k-slys/n8n-operator:latest \
  --env NAMESPACE="The Kubernetes namespace to deploy the operator into (default: all namespaces or the operator's watches)." \
  --env OPERATOR_NAME="Name for the operator deployment (optional)." \
  --env WATCH_NAMESPACE="Comma-separated list of namespaces the operator should watch (optional)."

How to use

The n8n-operator is a Kubernetes operator that automates the deployment and management of n8n workflow automation instances on a Kubernetes cluster. It manages the lifecycle of n8n instances, including their PostgreSQL backing store, ingress or gateway routing, and persistent storage. You manage n8n instances by applying CustomResourceDefinitions (CRDs) that describe the desired state of each n8n deployment, and the operator reconciles the actual state to match the desired state. Typical workflows include creating an N8n custom resource to provision an n8n instance with an attached PostgreSQL database, configuring ingress for access, and adjusting storage and TLS settings as needed. The operator also integrates with Prometheus for metrics collection, enabling you to monitor n8n instances from your cluster monitoring stack.

How to install

Prerequisites:

  • A Kubernetes cluster (local like kind/minikube or a cloud provider cluster)
  • kubectl configured to talk to the cluster
  • Access to install CustomResourceDefinitions (CRDs) used by the operator

Installation steps:

  1. Create or verify CRDs are available in the cluster (the exact CRD manifests may be provided by the operator's installation docs): kubectl apply -f https://path-to-crds.example.com/n8n-slys-dev-v1alpha1.yaml

  2. Deploy the operator (as a container image in a Kubernetes Deployment/Deployment + RBAC, depending on the installation method used by the operator): kubectl apply -f https://path-to-deployment-manifest.example.com/n8n-operator-deploy.yaml

  3. Confirm the operator is running and watching namespaces: kubectl get pods -n <operator-namespace> kubectl logs <operator-pod-name> -n <operator-namespace>

  4. Create an N8n custom resource to deploy an n8n instance (example): apiVersion: n8n.slys.dev/v1alpha1 kind: N8n metadata: name: n8n-sample spec: database: postgres: host: "postgres-host" port: 5432 database: "n8n" user: "n8n-user" password: "password" ingress: enable: true ingressClassName: "nginx" kubectl apply -f your-n8n-cr.yaml

  5. Monitor and manage: use kubectl to scale, update, or delete n8n resources; view logs and Prometheus metrics as needed.

Additional notes

Tips and considerations:

  • Ensure CRDs for the operator are installed before deploying the operator itself.
  • When enabling Ingress, verify proper DNS and TLS configuration for secure access.
  • The operator typically allocates a PostgreSQL database per n8n instance; adjust storage class and size as needed.
  • For production, consider configuring TLS termination and secure secret management for database credentials.
  • If you upgrade the operator, review breaking changes in the CRD schema and update existing N8n resources accordingly.
  • Use Kubernetes RBAC to constrain the operator's permissions to the necessary namespaces and resources.

Related MCP Servers

Sponsor this space

Reach thousands of developers