Skip to content

Conversation

ewassef
Copy link

@ewassef ewassef commented Jun 7, 2025

This pull request introduces significant updates to the repository to enhance deployment options for the n8n workflow automation tool. It includes the addition of .gitattributes for consistent line endings, comprehensive Kubernetes configurations, and updates to the documentation to reflect these changes. The Kubernetes configurations now support production-grade deployments with features like autoscaling, resource management, and security hardening.

Deployment Configuration Updates:

  • Kubernetes Base Configurations:

    • Added kubernetes/base/kustomization.yaml to define shared resources, including deployments for n8n UI, workers, Redis, and Postgres, along with services, PVCs, and secrets.
    • Introduced n8n-deployment.yaml and n8n-deployment-workers.yaml to separate UI and worker deployments, enabling better scalability and resource allocation. Worker replicas increased to 2 with a rolling update strategy. [1] [2]
    • Added Redis deployment and service configurations (redis-deployment.yaml and redis-service.yaml) with resource limits and readiness/liveness probes. [1] [2]
  • Production Enhancements:

    • Added a ScaledObject configuration (n8n-worker-scaledobject.yaml) for KEDA-based autoscaling of n8n workers using Prometheus metrics.
    • Introduced n8n-servicemonitor.yaml for Prometheus monitoring of n8n metrics.

Documentation Updates:

  • Repository Overview:

    • Updated README.md to provide an overview of deployment options, including Docker Compose, Docker with Caddy, and Kubernetes. Added instructions for selecting the appropriate deployment method.
  • Kubernetes Deployment Guide:

    • Expanded kubernetes/README.md with detailed architecture, prerequisites, deployment structure, and instructions for configuring KEDA and Prometheus.

Miscellaneous Enhancements:

  • Line Ending Normalization:

    • Added .gitattributes to enforce consistent line endings across the repository and explicitly define binary file types.
  • Security and Secrets:

    • Added n8n-secret.yaml for managing sensitive data such as encryption keys.
    • Updated Postgres secrets and configurations to align with Kubernetes best practices. [1] [2]

These changes collectively improve the scalability, maintainability, and deployment flexibility of the n8n automation tool.

@ewassef
Copy link
Author

ewassef commented Jun 7, 2025

@netroy @mieky @njibhu @Joffcom your feedback is highly appreciated

@Joffcom
Copy link
Member

Joffcom commented Jun 8, 2025

@ewassef there is no need to tag us in this, we will pick this up when it is next in the queue during working hours.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants