From 2eb7b56a85b369ea183895e3c01de094105d1c1b Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Thu, 1 Sep 2022 14:45:06 +0200 Subject: [PATCH 01/22] Draft --- docs/hosting/server-setups/aws.md | 132 ++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 docs/hosting/server-setups/aws.md diff --git a/docs/hosting/server-setups/aws.md b/docs/hosting/server-setups/aws.md new file mode 100644 index 000000000..775c578a2 --- /dev/null +++ b/docs/hosting/server-setups/aws.md @@ -0,0 +1,132 @@ +# Hosting n8n on Amazon Web Services + +This hosting guide shows you how to self-host n8n with Amazon Web Services (AWS). It uses n8n with Postgres as a database backend using Kubernetes to manage the necessary resources and reverse proxy. + + +## Hosting options + +AWS offers several ways suitable for hosting n8n, including EC2 (virtual machines), and EKS (containers running with Kubernetes). + +This guide uses EKS as the hosting option. Using Kubernetes requires some additional complexity and configuration, but is the best method for scaling n8n as demand changes. + +## Prerequisites + +The steps in this guide use a mix of the AWS UI and [the eksctl CLI tool for EKS](https://eksctl.io). + +While not mentioned in the documentation for eksctl, you also need to [install the AWS CLI tool](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html), and [configure authentication of the tool](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html). + +## Create a cluster + +Use the eksctl tool to create a cluster specifying a name and a region with the following command: + +```shell +eksctl create cluster --name n8n --region eu-central-1 +``` + +This can take a while to create the cluster. + +!!! note "AWS Fargate" + Fargate, AWS's serverless container management system is not compatible with n8n. + +Once the cluster is created, eksctl automatically sets the kubectl context to the cluster. + + +## Setup DNS + +n8n typically operates on a subdomain. Create a DNS record with your provider for the subdomain and point it to a static IP address of the instance. + +If the instance doesn't already have a static IP address, + + + + +## Clone repo + + + +The next few steps walk through the important parts of what the manifests configure. + +## Configure Postgres + +For larger scale n8n deployments, Postgres provides a more robust database backend than SQLite. + +### Configure volume for persistent storage + +To maintain data between pod restarts, the Postgres deployment needs a persistent volume. The default AWS storage class, "[gp2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/general-purpose.html#EBSVolumeTypes_gp2)" is suitable for this purpose and is defined in the `postgres-claaim0-persistentvolumeclaim.yaml` manifest. + +```yaml +… +spec: + storageClassName: gp2 + accessModes: + - ReadWriteOnce +… +``` + +### Environment variables + +Postgres needs some environment variables set to pass to the application running in the containers. + +The example `postgres-secret.yaml` file contains placeholders you need to replace with values of your own for user details and the database to use. + +The `postgres-deployment.yaml` manifest then uses the values from this manifest file to send to the application pods. + +## Configure n8n + +### Create a volume for file storage + +During initial setup and certain workflows, n8n needs to write files to disk and needs a persistent volume to do so. + +The `n8n-claim0-persistentvolumeclaim.yaml` manifest creates this, and the n8n Deployment mounts that claim in the `volumes` section of the `n8n-deployment.yaml` manifest. + +```yaml +… +volumes: + - name: n8n-claim0 + persistentVolumeClaim: + claimName: n8n-claim0 +… +``` + +### Environment variables + +n8n needs some environment variables set to pass to the application running in the containers. + +The example `n8n-secret.yaml` file contains placeholders you need to replace with values of your own for authentication details. + +## Deployments + +The two deployment manifests (`n8n-deployment.yaml` and `postgres-deployment.yaml`) define the n8n and Postgres applications to Kubernetes. + +The manifests define the following: + +- Send the environment variables defined to each application pod +- Define the container image to use +- Set resource consumption limits. This is left empty in the example manifests, but you should set them to something appropriate for your deployment. +- The `volumes` defined earlier and `volumeMounts` to define the path in the container to mount volumes. +- Scaling and restart policies. The example manifests define only one instance of each pod, you should change this to meet your needs. + +## Services + +The two service manifests (`postgres-service.yaml` and `n8n-service.yaml`) expose the services to the outside world using the Kubernetes load balancer using ports 5432 and 5678 respectively by default. + +## Send to Kubernetes cluster + +Send all the manifests to the cluster with the following command: + +```shell +kubectl apply -f . +``` + +!!! note "Namespace error" + You may see an error message about not finding an "n8n" namespace as that resources isn't ready yet. You can run the same command again, or apply the namespace manifest first with the following command: + + ```shell + kubectl apply -f namespace.yaml + ``` + +Remove the resources created by the manifests with the following command: + +```shell +kubectl delete -f . +``` \ No newline at end of file From c2476ee265192e4f134ce1fb42cf6087b43f5df2 Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Mon, 5 Sep 2022 13:54:32 +0200 Subject: [PATCH 02/22] Add clone steps --- docs/hosting/server-setups/aws.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/docs/hosting/server-setups/aws.md b/docs/hosting/server-setups/aws.md index 775c578a2..736b7cdda 100644 --- a/docs/hosting/server-setups/aws.md +++ b/docs/hosting/server-setups/aws.md @@ -39,12 +39,21 @@ If the instance doesn't already have a static IP address, +## Clone configuration repository -## Clone repo +Kubernetes and n8n require a series of configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-kubernetes-hosting/tree/gcp){:target=_blank .external-link} locally. The following steps will tell you which file configures what and what you need to change. - +Clone the repository with the following command: -The next few steps walk through the important parts of what the manifests configure. +```shell +git clone https://github.com/n8n-io/n8n-kubernetes-hosting/tree/gcp +``` + +And change directory to the root of the repository you cloned: + +```shell +cd gcp +``` ## Configure Postgres From f28404c026e825fb2a8cc40e59478021e0070e95 Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Mon, 5 Sep 2022 15:40:31 +0200 Subject: [PATCH 03/22] Add DNS steps --- docs/hosting/server-setups/aws.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/hosting/server-setups/aws.md b/docs/hosting/server-setups/aws.md index 736b7cdda..55a4188bc 100644 --- a/docs/hosting/server-setups/aws.md +++ b/docs/hosting/server-setups/aws.md @@ -30,14 +30,17 @@ This can take a while to create the cluster. Once the cluster is created, eksctl automatically sets the kubectl context to the cluster. - ## Setup DNS -n8n typically operates on a subdomain. Create a DNS record with your provider for the subdomain and point it to a static IP address of the instance. +n8n typically operates on a subdomain. Create a DNS record with your provider for the subdomain and point it to a static address of the instance. -If the instance doesn't already have a static IP address, +To find the address of the n8n service running on the instance, first open the **Clusters** section of the **EKS** service page in the AWS console. - +Click the name of the cluster to open its configuration page. + +Click the **Resources** tab and the **Services** sub-menu of the **Service and networking** page. + +Click the **n8n** service and copy the **Load balancer URLs** value. Use this value suffixed with the n8n service port (5678) for DNS. ## Clone configuration repository From aeb2606238872aad4bb08df5e48248ae832fe850 Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Mon, 19 Sep 2022 14:39:38 +0200 Subject: [PATCH 04/22] Remove PVC for n8n mention --- docs/hosting/server-setups/aws.md | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/docs/hosting/server-setups/aws.md b/docs/hosting/server-setups/aws.md index 55a4188bc..2cb91d74f 100644 --- a/docs/hosting/server-setups/aws.md +++ b/docs/hosting/server-setups/aws.md @@ -2,7 +2,6 @@ This hosting guide shows you how to self-host n8n with Amazon Web Services (AWS). It uses n8n with Postgres as a database backend using Kubernetes to manage the necessary resources and reverse proxy. - ## Hosting options AWS offers several ways suitable for hosting n8n, including EC2 (virtual machines), and EKS (containers running with Kubernetes). @@ -49,13 +48,13 @@ Kubernetes and n8n require a series of configuration files. You can clone these Clone the repository with the following command: ```shell -git clone https://github.com/n8n-io/n8n-kubernetes-hosting/tree/gcp +git clone https://github.com/n8n-io/n8n-kubernetes-hosting/tree/aws ``` And change directory to the root of the repository you cloned: ```shell -cd gcp +cd aws ``` ## Configure Postgres @@ -85,21 +84,6 @@ The `postgres-deployment.yaml` manifest then uses the values from this manifest ## Configure n8n -### Create a volume for file storage - -During initial setup and certain workflows, n8n needs to write files to disk and needs a persistent volume to do so. - -The `n8n-claim0-persistentvolumeclaim.yaml` manifest creates this, and the n8n Deployment mounts that claim in the `volumes` section of the `n8n-deployment.yaml` manifest. - -```yaml -… -volumes: - - name: n8n-claim0 - persistentVolumeClaim: - claimName: n8n-claim0 -… -``` - ### Environment variables n8n needs some environment variables set to pass to the application running in the containers. From 4b892f2c92f0c1d52c5a22f5e5f70be04bf24dee Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Tue, 20 Sep 2022 13:39:55 +0200 Subject: [PATCH 05/22] Revert "Remove PVC for n8n mention" This reverts commit aeb2606238872aad4bb08df5e48248ae832fe850. --- docs/hosting/server-setups/aws.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/docs/hosting/server-setups/aws.md b/docs/hosting/server-setups/aws.md index 2cb91d74f..55a4188bc 100644 --- a/docs/hosting/server-setups/aws.md +++ b/docs/hosting/server-setups/aws.md @@ -2,6 +2,7 @@ This hosting guide shows you how to self-host n8n with Amazon Web Services (AWS). It uses n8n with Postgres as a database backend using Kubernetes to manage the necessary resources and reverse proxy. + ## Hosting options AWS offers several ways suitable for hosting n8n, including EC2 (virtual machines), and EKS (containers running with Kubernetes). @@ -48,13 +49,13 @@ Kubernetes and n8n require a series of configuration files. You can clone these Clone the repository with the following command: ```shell -git clone https://github.com/n8n-io/n8n-kubernetes-hosting/tree/aws +git clone https://github.com/n8n-io/n8n-kubernetes-hosting/tree/gcp ``` And change directory to the root of the repository you cloned: ```shell -cd aws +cd gcp ``` ## Configure Postgres @@ -84,6 +85,21 @@ The `postgres-deployment.yaml` manifest then uses the values from this manifest ## Configure n8n +### Create a volume for file storage + +During initial setup and certain workflows, n8n needs to write files to disk and needs a persistent volume to do so. + +The `n8n-claim0-persistentvolumeclaim.yaml` manifest creates this, and the n8n Deployment mounts that claim in the `volumes` section of the `n8n-deployment.yaml` manifest. + +```yaml +… +volumes: + - name: n8n-claim0 + persistentVolumeClaim: + claimName: n8n-claim0 +… +``` + ### Environment variables n8n needs some environment variables set to pass to the application running in the containers. From 1e678d2655f1bbe7f88220359ee880fa6aa8495d Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Tue, 20 Sep 2022 19:03:26 +0200 Subject: [PATCH 06/22] Add more details --- docs/hosting/server-setups/aws.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/hosting/server-setups/aws.md b/docs/hosting/server-setups/aws.md index 55a4188bc..5fb8fe54f 100644 --- a/docs/hosting/server-setups/aws.md +++ b/docs/hosting/server-setups/aws.md @@ -87,7 +87,7 @@ The `postgres-deployment.yaml` manifest then uses the values from this manifest ### Create a volume for file storage -During initial setup and certain workflows, n8n needs to write files to disk and needs a persistent volume to do so. +While not essential for running n8n, using persistent volumes helps maintain files uploaded while using n8n and if you want to persist [manual n8n encryption keys](https://docs.n8n.io/hosting/configuration/#encryption-key) between restarts, which saves a file containing the key into file storage during startup. The `n8n-claim0-persistentvolumeclaim.yaml` manifest creates this, and the n8n Deployment mounts that claim in the `volumes` section of the `n8n-deployment.yaml` manifest. From 1ffa4179163b648b14cdbd1e336914b339c563df Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Wed, 21 Sep 2022 17:32:35 +0200 Subject: [PATCH 07/22] Fix up --- docs/hosting/server-setups/aws.md | 7 +- docs/hosting/server-setups/google-cloud.md | 134 --------------------- mkdocs.yml | 2 +- 3 files changed, 4 insertions(+), 139 deletions(-) delete mode 100644 docs/hosting/server-setups/google-cloud.md diff --git a/docs/hosting/server-setups/aws.md b/docs/hosting/server-setups/aws.md index 5fb8fe54f..161a82516 100644 --- a/docs/hosting/server-setups/aws.md +++ b/docs/hosting/server-setups/aws.md @@ -2,7 +2,6 @@ This hosting guide shows you how to self-host n8n with Amazon Web Services (AWS). It uses n8n with Postgres as a database backend using Kubernetes to manage the necessary resources and reverse proxy. - ## Hosting options AWS offers several ways suitable for hosting n8n, including EC2 (virtual machines), and EKS (containers running with Kubernetes). @@ -44,18 +43,18 @@ Click the **n8n** service and copy the **Load balancer URLs** value. Use this va ## Clone configuration repository -Kubernetes and n8n require a series of configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-kubernetes-hosting/tree/gcp){:target=_blank .external-link} locally. The following steps will tell you which file configures what and what you need to change. +Kubernetes and n8n require a series of configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-kubernetes-hosting/tree/aws){:target=_blank .external-link} locally. The following steps will tell you which file configures what and what you need to change. Clone the repository with the following command: ```shell -git clone https://github.com/n8n-io/n8n-kubernetes-hosting/tree/gcp +git clone https://github.com/n8n-io/n8n-kubernetes-hosting/tree/aws ``` And change directory to the root of the repository you cloned: ```shell -cd gcp +cd aws ``` ## Configure Postgres diff --git a/docs/hosting/server-setups/google-cloud.md b/docs/hosting/server-setups/google-cloud.md deleted file mode 100644 index 5c7c4fbf6..000000000 --- a/docs/hosting/server-setups/google-cloud.md +++ /dev/null @@ -1,134 +0,0 @@ -# Hosting n8n on Google Cloud - -This hosting guide shows you how to self-host n8n on Google Cloud (GCP). It uses n8n with Postgres as a database backend using Kubernetes to manage the necessary resources and reverse proxy. - -## Prerequisites - -- [The gcloud command line tool](https://cloud.google.com/sdk/gcloud/){:target="_blank" .external-link} - -## Hosting options - -Google Cloud offers several ways suitable for hosting n8n, including Cloud Run (optimized for running containers), Compute Engine (VMs), and Kubernetes Engine (containers running with Kubernetes). - -This guide uses the Google Kubernetes Engine (GKE) as the hosting option. Using Kubernetes requires some additional complexity and configuration, but is the best method for scaling n8n as demand changes. - -Most of the steps in this guide use the Google Cloud UI, but you can also use the [gcloud command line tool](https://cloud.google.com/sdk/gcloud/){:target="_blank" .external-link} instead to undertake all the steps. - -## Create project - -GCP encourages you to create projects to logically organize resources and configuration. Create a new project for your n8n deployment by clicking the project dropdown menu and then the _NEW PROJECT_ button. Then select the newly created project and as you follow other steps in this guide, make sure you have the correct project selected. - -## Enable the Kubernetes Engine API - -GKE isn't enabled by default, search for "Kubernetes" in the top search bar and select "Kubernetes Engine" from the results. - -Enable the Kubernetes Engine API by clicking the **Enable** button. - -## Create a cluster - -From the GKE service page, click the **Clusters** menu item and then the **CREATE** button. Make sure you select the "Standard" cluster option, n8n doesn't work with an "Autopilot" cluster. - -## Login to instance - -The remainder of the steps in this guide require you to login to the instance via an SSH connection. You can find the connection details for a cluster instance by opening its details page and then the **CONNECT** button. The resulting code snippet shows a connection string for the gcloud CLI tool. Paste and run that code snippet into a terminal to change your local Kubernetes settings to use the new gcloud cluster. - -## Setup DNS - -n8n typically operates on a subdomain. Create a DNS record with your provider for the subdomain and point it to a static IP address of the instance. - -If the instance doesn't already have a static IP address, you can assign one to it by editing the instance, and changing the network interface from "Ephemeral" to "Static". - - - - -## Clone repo - -The next few steps walk through the important parts of what the manifests configure. - -## Configure Postgres - -For larger scale n8n deployments, Postgres provides a more robust database backend than SQLite. - -### Create a volume for persistent storage - -To maintain data between pod restarts, the Postgres deployment needs a persistent volume. Running Postgres on GCP requires a specific Kubernetes Storage Class, [you can read this guide for specifics](https://cloud.google.com/architecture/deploying-highly-available-postgresql-with-gke){:target="_blank" .external-link}, but the `storage.yaml` manifest creates it for you. You may want to change the regions to create the storage in under the `allowedTopologies` > `matchedLabelExpressions` > `values` key. By default, they're set to "us-central". - -```yaml -… -allowedTopologies: - - matchLabelExpressions: - - key: failure-domain.beta.kubernetes.io/zone - values: - - us-central1-b - - us-central1-c -``` - -### Environment variables - -Postgres needs some environment variables set to pass to the application running in the containers. - -The example `postgres-secret.yaml` file contains placeholders you need to replace with values of your own for user details and the database to use. - -The `postgres-deployment.yaml` manifest then uses the values from this manifest file to send to the application pods. - -## Configure n8n - -### Create a volume for file storage - -During initial setup and certain workflows, n8n needs to write files to disk and needs a persistent volume to do so. - -The `n8n-claim0-persistentvolumeclaim.yaml` manifest creates this, and the n8n Deployment mounts that claim in the `volumes` section of the `n8n-deployment.yaml` manifest. - -```yaml -… -volumes: - - name: n8n-claim0 - persistentVolumeClaim: - claimName: n8n-claim0 -… -``` - -### Environment variables - -n8n needs some environment variables set to pass to the application running in the containers. - -The example `n8n-secret.yaml` file contains placeholders you need to replace with values of your own for authentication details. - -## Deployments - -The two deployment manifests (`n8n-deployment.yaml` and `postgres-deployment.yaml`) define the n8n and Postgres applications to Kubernetes. - -The manifests define the following: - -- Send the environment variables defined to each application pod -- Define the container image to use -- Set resource consumption limits. This is left empty in the example manifests, but you should set them to something appropriate for your deployment. -- The `volumes` defined earlier and `volumeMounts` to define the path in the container to mount volumes. -- Scaling and restart policies. The example manifests define only one instance of each pod, you should change this to meet your needs. - -## Services - -The two service manifests (`postgres-service.yaml` and `n8n-service.yaml`) expose the services to the outside world using the Kubernetes load balancer using ports 5432 and 5678 respectively by default. - -## Send to Kubernetes cluster - -Send all the manifests to the cluster with the following command: - -```shell -kubectl apply -f . -``` - -!!! note "Namespace error" - You may see an error message about not finding an "n8n" namespace as that resources isn't ready yet. You can run the same command again, or apply the namespace manifest first with the following command: - - ```shell - kubectl apply -f namespace.yaml - ``` - -Remove the resources created by the manifests with the following command: - -```shell -kubectl delete -f . -``` diff --git a/mkdocs.yml b/mkdocs.yml index 93a5c0147..c3669f60f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -184,7 +184,7 @@ nav: - Docker Compose: hosting/server-setups/docker-compose.md - Caddy: hosting/server-setups/caddy.md - Digital Ocean: hosting/server-setups/digital-ocean.md - - Google Cloud: hosting/server-setups/google-cloud.md + - Amazon Web Services: hosting/server-setups/aws.md - Databases: - Overview: hosting/databases/index.md - Supported databases and settings: hosting/databases/supported-databases-settings.md From e90ff760e544b3f4de331706ce5855b052a2e883 Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Wed, 28 Sep 2022 13:38:24 +0200 Subject: [PATCH 08/22] Update git info --- docs/hosting/server-setups/aws.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/hosting/server-setups/aws.md b/docs/hosting/server-setups/aws.md index 161a82516..4b7087b71 100644 --- a/docs/hosting/server-setups/aws.md +++ b/docs/hosting/server-setups/aws.md @@ -48,7 +48,7 @@ Kubernetes and n8n require a series of configuration files. You can clone these Clone the repository with the following command: ```shell -git clone https://github.com/n8n-io/n8n-kubernetes-hosting/tree/aws +git clone https://github.com/n8n-io/n8n-kubernetes-hosting.git -b aws ``` And change directory to the root of the repository you cloned: From 6fe686c29947e301d19c306fbd514bf7bc65b219 Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Sun, 2 Oct 2022 15:15:05 +0300 Subject: [PATCH 09/22] Add details on resources --- docs/hosting/server-setups/aws.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/hosting/server-setups/aws.md b/docs/hosting/server-setups/aws.md index 4b7087b71..8cf7cf72b 100644 --- a/docs/hosting/server-setups/aws.md +++ b/docs/hosting/server-setups/aws.md @@ -99,6 +99,26 @@ volumes: … ``` +### Pod resources + +[Kubernetes lets you](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) optionally specify the minimum resources application containers need and the limits they can run to. The example YAML files cloned above contain the following in the `resources` section of the `n8n-deployment.yaml` file: + +```yaml +… +resources: + requests: + memory: "250Mi" + limits: + memory: "500Mi" +… +``` + +This defines a minimum of 250mb per container, a maximum of 500mb, and lets Kubernetes handle CPU. You can change these values to match your own needs. As a guide, here are the resources values for the n8n cloud offerings: + +- **Start**: 320mb RAM, 10 millicore CPU burstable +- **Pro**: 640mb RAM, 20 millicore CPU burstable +- **Power**: 1280mb RAM, 80 millicore CPU burstable + ### Environment variables n8n needs some environment variables set to pass to the application running in the containers. From 982b4e9256da1e4d948b9188ca8dfdfe43438245 Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Wed, 5 Oct 2022 12:05:13 +0100 Subject: [PATCH 10/22] wip --- docs/hosting/server-setups/aws.md | 12 ++++++------ styles/Vocab/default/accept.txt | 5 +++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/docs/hosting/server-setups/aws.md b/docs/hosting/server-setups/aws.md index 8cf7cf72b..8db67efaa 100644 --- a/docs/hosting/server-setups/aws.md +++ b/docs/hosting/server-setups/aws.md @@ -6,13 +6,13 @@ This hosting guide shows you how to self-host n8n with Amazon Web Services (AWS) AWS offers several ways suitable for hosting n8n, including EC2 (virtual machines), and EKS (containers running with Kubernetes). -This guide uses EKS as the hosting option. Using Kubernetes requires some additional complexity and configuration, but is the best method for scaling n8n as demand changes. +This guide uses [EKS](https://aws.amazon.com/eks/){:target=_blank .external-link} as the hosting option. Using Kubernetes requires some additional complexity and configuration, but is the best method for scaling n8n as demand changes. ## Prerequisites -The steps in this guide use a mix of the AWS UI and [the eksctl CLI tool for EKS](https://eksctl.io). +The steps in this guide use a mix of the AWS UI and [the eksctl CLI tool for EKS](https://eksctl.io){:target=_blank .external-link}. -While not mentioned in the documentation for eksctl, you also need to [install the AWS CLI tool](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html), and [configure authentication of the tool](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html). +While not mentioned in the documentation for eksctl, you also need to [install the AWS CLI tool](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html){:target=_blank .external-link}, and [configure authentication of the tool](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html){:target=_blank .external-link}. ## Create a cluster @@ -25,11 +25,11 @@ eksctl create cluster --name n8n --region eu-central-1 This can take a while to create the cluster. !!! note "AWS Fargate" - Fargate, AWS's serverless container management system is not compatible with n8n. + Fargate, AWS's serverless container management system isn't compatible with n8n. Once the cluster is created, eksctl automatically sets the kubectl context to the cluster. -## Setup DNS +## Set up DNS n8n typically operates on a subdomain. Create a DNS record with your provider for the subdomain and point it to a static address of the instance. @@ -160,4 +160,4 @@ Remove the resources created by the manifests with the following command: ```shell kubectl delete -f . -``` \ No newline at end of file +``` diff --git a/styles/Vocab/default/accept.txt b/styles/Vocab/default/accept.txt index 9c623ce35..31f86fc08 100644 --- a/styles/Vocab/default/accept.txt +++ b/styles/Vocab/default/accept.txt @@ -7,10 +7,13 @@ Caddy Clockify Cron Dockerfile +eksctl Enum enum +Fargate GIMP invalid +kubectl Lemlist Luxon Mattermost @@ -23,6 +26,8 @@ onboarding Pipedrive Postbin Postgres +Serverless +serverless Shopify shopify There are From d6181344f92c452ec0d0a73509e1a6ccfe36c61f Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Thu, 6 Oct 2022 11:21:29 +0100 Subject: [PATCH 11/22] updated --- docs/hosting/server-setups/aws.md | 43 ++++++++++++++++--------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/docs/hosting/server-setups/aws.md b/docs/hosting/server-setups/aws.md index 8db67efaa..c83bb2371 100644 --- a/docs/hosting/server-setups/aws.md +++ b/docs/hosting/server-setups/aws.md @@ -19,7 +19,7 @@ While not mentioned in the documentation for eksctl, you also need to [install t Use the eksctl tool to create a cluster specifying a name and a region with the following command: ```shell -eksctl create cluster --name n8n --region eu-central-1 +eksctl create cluster --name n8n --region ``` This can take a while to create the cluster. @@ -29,21 +29,9 @@ This can take a while to create the cluster. Once the cluster is created, eksctl automatically sets the kubectl context to the cluster. -## Set up DNS - -n8n typically operates on a subdomain. Create a DNS record with your provider for the subdomain and point it to a static address of the instance. - -To find the address of the n8n service running on the instance, first open the **Clusters** section of the **EKS** service page in the AWS console. - -Click the name of the cluster to open its configuration page. - -Click the **Resources** tab and the **Services** sub-menu of the **Service and networking** page. - -Click the **n8n** service and copy the **Load balancer URLs** value. Use this value suffixed with the n8n service port (5678) for DNS. - ## Clone configuration repository -Kubernetes and n8n require a series of configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-kubernetes-hosting/tree/aws){:target=_blank .external-link} locally. The following steps will tell you which file configures what and what you need to change. +Kubernetes and n8n require a series of configuration files. You can clone these from [this repository](https://github.com/n8n-io/n8n-kubernetes-hosting/tree/aws){:target=_blank .external-link}. The following steps tell you what each file does, and what settings you need to change. Clone the repository with the following command: @@ -54,7 +42,7 @@ git clone https://github.com/n8n-io/n8n-kubernetes-hosting.git -b aws And change directory to the root of the repository you cloned: ```shell -cd aws +cd n8n-kubernetes-hosting ``` ## Configure Postgres @@ -63,7 +51,7 @@ For larger scale n8n deployments, Postgres provides a more robust database backe ### Configure volume for persistent storage -To maintain data between pod restarts, the Postgres deployment needs a persistent volume. The default AWS storage class, "[gp2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/general-purpose.html#EBSVolumeTypes_gp2)" is suitable for this purpose and is defined in the `postgres-claaim0-persistentvolumeclaim.yaml` manifest. +To maintain data between pod restarts, the Postgres deployment needs a persistent volume. The default AWS storage class, [gp2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/general-purpose.html#EBSVolumeTypes_gp2){:target=_blank .external-link}, is suitable for this purpose. This is defined in the `postgres-claaim0-persistentvolumeclaim.yaml` manifest. ```yaml … @@ -101,7 +89,7 @@ volumes: ### Pod resources -[Kubernetes lets you](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) optionally specify the minimum resources application containers need and the limits they can run to. The example YAML files cloned above contain the following in the `resources` section of the `n8n-deployment.yaml` file: +[Kubernetes](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/){:target=_blank .external-link} lets you specify the minimum resources application containers need and the limits they can run to. The example YAML files cloned above contain the following in the `resources` section of the `n8n-deployment.yaml` file: ```yaml … @@ -133,9 +121,9 @@ The manifests define the following: - Send the environment variables defined to each application pod - Define the container image to use -- Set resource consumption limits. This is left empty in the example manifests, but you should set them to something appropriate for your deployment. +- Set resource consumption limits - The `volumes` defined earlier and `volumeMounts` to define the path in the container to mount volumes. -- Scaling and restart policies. The example manifests define only one instance of each pod, you should change this to meet your needs. +- Scaling and restart policies. The example manifests define one instance of each pod. You should change this to meet your needs. ## Services @@ -143,7 +131,7 @@ The two service manifests (`postgres-service.yaml` and `n8n-service.yaml`) expos ## Send to Kubernetes cluster -Send all the manifests to the cluster with the following command: +Send all the manifests to the cluster by running the following command in the `n8n-kubernetes-hosting` directory: ```shell kubectl apply -f . @@ -156,7 +144,20 @@ kubectl apply -f . kubectl apply -f namespace.yaml ``` -Remove the resources created by the manifests with the following command: +## Set up DNS + +n8n typically operates on a subdomain. Create a DNS record with your provider for the subdomain and point it to a static address of the instance. + +To find the address of the n8n service running on the instance: + +1. Open the **Clusters** section of the **Amazon Elastic Kubernetes Service** page in the AWS console. +2. Select the name of the cluster to open its configuration page. +3. Select the **Resources** tab, then **Service and networking** > **Services**. +4. Select the **n8n** service and copy the **Load balancer URLs** value. Use this value suffixed with the n8n service port (5678) for DNS. + +## Delete resources + +If you need to delete the setup, you can remove the resources created by the manifests with the following command: ```shell kubectl delete -f . From abcbbb364aa64bf9b332df9f68a0cb8c2196ffd0 Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Tue, 11 Oct 2022 10:22:01 +0200 Subject: [PATCH 12/22] HTTP warning --- docs/hosting/server-setups/aws.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/hosting/server-setups/aws.md b/docs/hosting/server-setups/aws.md index c83bb2371..dce993dfd 100644 --- a/docs/hosting/server-setups/aws.md +++ b/docs/hosting/server-setups/aws.md @@ -155,10 +155,13 @@ To find the address of the n8n service running on the instance: 3. Select the **Resources** tab, then **Service and networking** > **Services**. 4. Select the **n8n** service and copy the **Load balancer URLs** value. Use this value suffixed with the n8n service port (5678) for DNS. +!!! note "Use HTTP" + This guide uses HTTP connections for the services it defines, for example in `n8n-deployment.yaml`. However, if you click the **Load balancer URLs** value, EKS takes you to an "HTTPS" URL which results in an error. To solve this, when you open the n8n subdomain, make sure to use HTTP. + ## Delete resources If you need to delete the setup, you can remove the resources created by the manifests with the following command: ```shell kubectl delete -f . -``` +``` \ No newline at end of file From de1aababf936977d1fa310b4a98696d370cada08 Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Tue, 11 Oct 2022 10:35:41 +0100 Subject: [PATCH 13/22] remove tabs --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 3a151ebb9..72729532d 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -226,7 +226,7 @@ nav: - Caddy: hosting/server-setups/caddy.md - Digital Ocean: hosting/server-setups/digital-ocean.md - Amazon Web Services: hosting/server-setups/aws.md - - Google Cloud: hosting/server-setups/google-cloud.md + - Google Cloud: hosting/server-setups/google-cloud.md - Databases: - hosting/databases/index.md - Supported databases and settings: hosting/databases/supported-databases-settings.md From 8bd7408de92a8771a1b1c2ad6fd5a902e8329c9c Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Tue, 11 Oct 2022 10:52:40 +0100 Subject: [PATCH 14/22] note formatting and overview page --- docs/hosting/server-setups/aws.md | 4 ++-- docs/hosting/server-setups/index.md | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/hosting/server-setups/aws.md b/docs/hosting/server-setups/aws.md index dce993dfd..9f26685d7 100644 --- a/docs/hosting/server-setups/aws.md +++ b/docs/hosting/server-setups/aws.md @@ -156,7 +156,7 @@ To find the address of the n8n service running on the instance: 4. Select the **n8n** service and copy the **Load balancer URLs** value. Use this value suffixed with the n8n service port (5678) for DNS. !!! note "Use HTTP" - This guide uses HTTP connections for the services it defines, for example in `n8n-deployment.yaml`. However, if you click the **Load balancer URLs** value, EKS takes you to an "HTTPS" URL which results in an error. To solve this, when you open the n8n subdomain, make sure to use HTTP. + This guide uses HTTP connections for the services it defines, for example in `n8n-deployment.yaml`. However, if you click the **Load balancer URLs** value, EKS takes you to an "HTTPS" URL which results in an error. To solve this, when you open the n8n subdomain, make sure to use HTTP. ## Delete resources @@ -164,4 +164,4 @@ If you need to delete the setup, you can remove the resources created by the man ```shell kubectl delete -f . -``` \ No newline at end of file +``` diff --git a/docs/hosting/server-setups/index.md b/docs/hosting/server-setups/index.md index ec303d79d..63d12664e 100644 --- a/docs/hosting/server-setups/index.md +++ b/docs/hosting/server-setups/index.md @@ -5,6 +5,7 @@ Guides to self-hosting n8n with: * [Docker Compose](/hosting/server-setups/docker-compose/) * [Caddy](/hosting/server-setups/caddy/) * [Digital Ocean](/hosting/server-setups/digital-ocean/) (using Caddy and Docker Compose) +* [AWS](/hosting/server-setups/aws/) * [Google Cloud Platform](/hosting/server-setups/google-cloud/) From 48d7b26417ba0ebe7f0c00647abf987713332c85 Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Wed, 12 Oct 2022 09:02:20 +0200 Subject: [PATCH 15/22] Update docs/hosting/server-setups/aws.md --- docs/hosting/server-setups/aws.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/hosting/server-setups/aws.md b/docs/hosting/server-setups/aws.md index 9f26685d7..f085a6c60 100644 --- a/docs/hosting/server-setups/aws.md +++ b/docs/hosting/server-setups/aws.md @@ -24,7 +24,6 @@ eksctl create cluster --name n8n --region This can take a while to create the cluster. -!!! note "AWS Fargate" Fargate, AWS's serverless container management system isn't compatible with n8n. Once the cluster is created, eksctl automatically sets the kubectl context to the cluster. From 681b881d71ca3f2ee2cc363b38a20fc1a03230dd Mon Sep 17 00:00:00 2001 From: Chris Chinchilla Date: Wed, 12 Oct 2022 09:02:27 +0200 Subject: [PATCH 16/22] Update docs/hosting/server-setups/aws.md --- docs/hosting/server-setups/aws.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/hosting/server-setups/aws.md b/docs/hosting/server-setups/aws.md index f085a6c60..dfc6d0e7f 100644 --- a/docs/hosting/server-setups/aws.md +++ b/docs/hosting/server-setups/aws.md @@ -24,7 +24,6 @@ eksctl create cluster --name n8n --region This can take a while to create the cluster. - Fargate, AWS's serverless container management system isn't compatible with n8n. Once the cluster is created, eksctl automatically sets the kubectl context to the cluster. From 67935ad2528e2e30d7984ea917e4af2910a096ec Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Wed, 12 Oct 2022 14:04:26 +0100 Subject: [PATCH 17/22] image source files --- .../google/check-google-project.snagx | Bin 0 -> 35565 bytes .../credentials/google/create-credentials.snagx | Bin 0 -> 86196 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/_images/integrations/builtin/credentials/google/check-google-project.snagx create mode 100644 docs/_images/integrations/builtin/credentials/google/create-credentials.snagx diff --git a/docs/_images/integrations/builtin/credentials/google/check-google-project.snagx b/docs/_images/integrations/builtin/credentials/google/check-google-project.snagx new file mode 100644 index 0000000000000000000000000000000000000000..2921f3f0ba16c98a5320836cdd1e2f09b914b51a GIT binary patch literal 35565 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 YQ+FgQ0sG{>d|2SS2?GKh2Hqe2KQd4Gu>b%7 literal 0 HcmV?d00001 diff --git a/docs/_images/integrations/builtin/credentials/google/create-credentials.snagx b/docs/_images/integrations/builtin/credentials/google/create-credentials.snagx new file mode 100644 index 0000000000000000000000000000000000000000..c88ef5c2e80c55381264d1c714848338bd8d5342 GIT binary patch literal 86196 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 Jir_|v{6AnMSwH{) literal 0 HcmV?d00001 From cc68036f156dc1cf4308eb8e5647bdc5270894b6 Mon Sep 17 00:00:00 2001 From: Bram Kn Date: Sun, 16 Oct 2022 16:08:20 +0200 Subject: [PATCH 18/22] Update baserow.md Typo for the Host --- docs/integrations/builtin/credentials/baserow.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/builtin/credentials/baserow.md b/docs/integrations/builtin/credentials/baserow.md index dd235592f..d8b6e30d3 100644 --- a/docs/integrations/builtin/credentials/baserow.md +++ b/docs/integrations/builtin/credentials/baserow.md @@ -13,7 +13,7 @@ or a self hosted instance. 1. In n8n, open the **Credentials** menu item and click on **New** 2. In the **Add new credential** dialogue, select **Baserow API** and click on the **Continue** button -3. If using the online version of Baserow, leave the **Host** as `https://api/baserow.io`, otherwise set it to your self-hosted instance API URL. +3. If using the online version of Baserow, leave the **Host** as `https://api.baserow.io`, otherwise set it to your self-hosted instance API URL. 4. Enter your Baserow username in the **Username** field 5. Enter your Baserow password in the **Password** field 6. Click on the **Save** button From adeecc0ee2e9130828b48b1cd966c58f812c8330 Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Tue, 18 Oct 2022 12:46:24 +0100 Subject: [PATCH 19/22] release notes for all 0.198.x, venafi node docs, code node docs --- ...tion-node.md => item-linking-code-node.md} | 0 .../n8n-nodes-base.function.md | 5 +- .../n8n-nodes-base.functionItem.md | 3 + docs/_downloads/venafi-tpp.pdf | Bin 0 -> 176480 bytes docs/_redirects | 12 ++- docs/code-examples/console-log.md | 14 +++ docs/code-examples/index.md | 2 +- .../data-mapping/data-item-linking/index.md | 6 +- .../item-linking-code-node.md | 4 + .../item-linking-concepts.md | 4 +- .../data-item-linking/item-linking-errors.md | 2 +- .../item-linking-function-node.md | 4 - docs/data/data-structure.md | 5 +- docs/hosting/configuration.md | 4 +- docs/hosting/environment-variables.md | 4 +- .../app-nodes/n8n-nodes-base.citrixAdc.md | 1 + .../n8n-nodes-base.venafiTlsProtectCloud.md | 7 +- ...n-nodes-base.venafitlsprotectdatacenter.md | 27 ++++++ .../builtin/core-nodes/n8n-nodes-base.code.md | 41 +++++++++ .../core-nodes/n8n-nodes-base.merge.md | 22 +++-- .../credentials}/venafiTlsProtectCloud.md | 3 +- .../credentials/venafiTlsProtectDatacenter.md | 10 +++ ...nodes-base.venafitlsprotectcloudtrigger.md | 8 ++ ...-base.venafitlsprotectdatacentertrigger.md | 6 ++ docs/reference/release-notes.md | 83 ++++++++++++++++++ ...n-nodes-base.venafitlsprotectdatacenter.md | 26 ------ drafts/venafiTlsProtectDatacenter.md | 0 mkdocs.yml | 3 +- overrides/404.html | 5 +- 29 files changed, 249 insertions(+), 62 deletions(-) rename _snippets/data/data-mapping/{item-linking-function-node.md => item-linking-code-node.md} (100%) rename {docs/integrations/builtin/core-nodes => archive}/n8n-nodes-base.function.md (84%) rename {docs/integrations/builtin/core-nodes => archive}/n8n-nodes-base.functionItem.md (91%) create mode 100644 docs/_downloads/venafi-tpp.pdf create mode 100644 docs/code-examples/console-log.md create mode 100644 docs/data/data-mapping/data-item-linking/item-linking-code-node.md delete mode 100644 docs/data/data-mapping/data-item-linking/item-linking-function-node.md rename {drafts => docs/integrations/builtin/app-nodes}/n8n-nodes-base.venafiTlsProtectCloud.md (53%) create mode 100644 docs/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacenter.md create mode 100644 docs/integrations/builtin/core-nodes/n8n-nodes-base.code.md rename {drafts => docs/integrations/builtin/credentials}/venafiTlsProtectCloud.md (62%) create mode 100644 docs/integrations/builtin/credentials/venafiTlsProtectDatacenter.md create mode 100644 docs/integrations/builtin/trigger-nodes/n8n-nodes-base.venafitlsprotectcloudtrigger.md create mode 100644 docs/integrations/builtin/trigger-nodes/n8n-nodes-base.venafitlsprotectdatacentertrigger.md delete mode 100644 drafts/n8n-nodes-base.venafitlsprotectdatacenter.md delete mode 100644 drafts/venafiTlsProtectDatacenter.md diff --git a/_snippets/data/data-mapping/item-linking-function-node.md b/_snippets/data/data-mapping/item-linking-code-node.md similarity index 100% rename from _snippets/data/data-mapping/item-linking-function-node.md rename to _snippets/data/data-mapping/item-linking-code-node.md diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.function.md b/archive/n8n-nodes-base.function.md similarity index 84% rename from docs/integrations/builtin/core-nodes/n8n-nodes-base.function.md rename to archive/n8n-nodes-base.function.md index 608745da4..49f6d6740 100644 --- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.function.md +++ b/archive/n8n-nodes-base.function.md @@ -1,5 +1,8 @@ # Function +!!! warning "Deprecated in 0.198.0" + n8n deprecated this node in version 0.198.0. Older workflows continue to work, and the node is still available in older versions n8n. From 0.198.0, n8n replaces the Function node with the [Code](/integrations/builtin/core-nodes/n8n-nodes-base.code/) node. + Using the function node, you can: * Transform data from other nodes @@ -50,7 +53,7 @@ return newItems; ## Manage item linking ---8<-- "_snippets/data/data-mapping/item-linking-function-node.md" +--8<-- "_snippets/data/data-mapping/item-linking-code-node.md" ## External libraries diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.functionItem.md b/archive/n8n-nodes-base.functionItem.md similarity index 91% rename from docs/integrations/builtin/core-nodes/n8n-nodes-base.functionItem.md rename to archive/n8n-nodes-base.functionItem.md index 8348b9fb4..56c77b03e 100644 --- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.functionItem.md +++ b/archive/n8n-nodes-base.functionItem.md @@ -1,5 +1,8 @@ # Function Item +!!! warning "Deprecated in 0.198.0" + n8n deprecated this node in version 0.198.0. Older workflows continue to work, and the node is still available in older versions n8n. From 0.198.0, n8n replaces the Function node with the [Code](/integrations/builtin/core-nodes/n8n-nodes-base.code/) node. + The Function Item node is used to add custom snippets to JavaScript code that should be executed once for every item that it receives as the input. !!! note "Keep in mind" diff --git a/docs/_downloads/venafi-tpp.pdf b/docs/_downloads/venafi-tpp.pdf new file mode 100644 index 0000000000000000000000000000000000000000..29d047674ade5f678888f917a25e7077e1e50fa0 GIT binary patch literal 176480 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 literal 0 HcmV?d00001 diff --git a/docs/_redirects b/docs/_redirects index 524f5bea3..dffafef0a 100644 --- a/docs/_redirects +++ b/docs/_redirects @@ -1,4 +1,10 @@ +# code node + +/data/data-mapping/data-item-linking/item-linking-function-node/ /data/data-mapping/data-item-linking/item-linking-code-node/ +/integrations/builtin/core-nodes/n8n-nodes-base.function/ /integrations/builtin/core-nodes/n8n-nodes-base.code/ +/integrations/builtin/core-nodes/n8n-nodes-base.functionItem/ /integrations/builtin/core-nodes/n8n-nodes-base.code/ + # methods / vars / paired items /code-examples/expressions/methods/ /code-examples/methods-variables-reference/ @@ -256,9 +262,9 @@ /nodes/n8n-nodes-base.freshworksCrm/ /integrations/builtin/app-nodes/n8n-nodes-base.freshworksCrm/ /nodes/n8n-nodes-base.freshworkscrm/ /integrations/builtin/app-nodes/n8n-nodes-base.freshworksCrm/ /nodes/n8n-nodes-base.ftp/ /integrations/builtin/core-nodes/n8n-nodes-base.ftp/ -/nodes/n8n-nodes-base.function/ /integrations/builtin/core-nodes/n8n-nodes-base.function/ -/nodes/n8n-nodes-base.functionItem/ /integrations/builtin/core-nodes/n8n-nodes-base.functionItem/ -/nodes/n8n-nodes-base.functionitem/ /integrations/builtin/core-nodes/n8n-nodes-base.functionItem/ +/nodes/n8n-nodes-base.function/ /integrations/builtin/core-nodes/n8n-nodes-base.code/ +/nodes/n8n-nodes-base.functionItem/ /integrations/builtin/core-nodes/n8n-nodes-base.code/ +/nodes/n8n-nodes-base.functionitem/ /integrations/builtin/core-nodes/n8n-nodes-base.code/ /nodes/n8n-nodes-base.getResponse/ /integrations/builtin/app-nodes/n8n-nodes-base.getResponse/ /nodes/n8n-nodes-base.getresponse/ /integrations/builtin/app-nodes/n8n-nodes-base.getResponse/ /nodes/n8n-nodes-base.getResponseTrigger/ /integrations/builtin/trigger-nodes/n8n-nodes-base.getResponseTrigger/ diff --git a/docs/code-examples/console-log.md b/docs/code-examples/console-log.md new file mode 100644 index 000000000..25e087b42 --- /dev/null +++ b/docs/code-examples/console-log.md @@ -0,0 +1,14 @@ +# Using console.log in the Code node + +You can use `console.log()` in the Code node to help when writing and debugging your code. + +For help opening your browser console, refer to [this guide by Balsamiq](https://balsamiq.com/support/faqs/browserconsole/){:target=_blank .external-link}. + +For technical information on `console.log()`, refer to the [MDN developer docs](https://developer.mozilla.org/en-US/docs/Web/API/Console/log){:target=_blank .external-link}. + +For example, copy the following code into a Code node, then open your console and run the node: + +```js +let a = "apple"; +console.log(a); +``` diff --git a/docs/code-examples/index.md b/docs/code-examples/index.md index 8cdfa71d7..f622f9adb 100644 --- a/docs/code-examples/index.md +++ b/docs/code-examples/index.md @@ -3,7 +3,7 @@ There are two places in n8n where you need to use code: * In [expressions](/code-examples/expressions/), for example programmatically setting the value of a field based on incoming data. -* In the [function node](/integrations/builtin/core-nodes/n8n-nodes-base.function/), when you need to add JavaScript to your workflow. +* In the [Code node](/integrations/builtin/core-nodes/n8n-nodes-base.code/), when you need to add JavaScript to your workflow. This section covers: diff --git a/docs/data/data-mapping/data-item-linking/index.md b/docs/data/data-mapping/data-item-linking/index.md index 762cab780..f6a97f600 100644 --- a/docs/data/data-mapping/data-item-linking/index.md +++ b/docs/data/data-mapping/data-item-linking/index.md @@ -5,14 +5,14 @@ An item is a single piece of data. Nodes receive one or more items, operate on t You need to be understand this behavior if you're: * Building a programmatic-style node that implements complex behaviors with its input and output data. Refer -* Using the Function node or expressions editor to access data from earlier items in the workflow. -* Using the Function node to implement complex behaviors with input and output data. +* Using the Code node or expressions editor to access data from earlier items in the workflow. +* Using the Code node to implement complex behaviors with input and output data. This section provides: * A conceptual overview of [Item linking concepts](/data/data-mapping/data-item-linking/item-linking-concepts/). * Information on [Item linking for node creators](/data/data-mapping/data-item-linking/item-linking-node-building/). -* Support for end users who need to [Work with the data path](/data/data-mapping/data-item-linking/item-linking-function-node/) to retrieve item data from previous nodes, and link items when using the Function node. +* Support for end users who need to [Work with the data path](/data/data-mapping/data-item-linking/item-linking-code-node/) to retrieve item data from previous nodes, and link items when using the Code node. * Guidance on troubleshooting [Errors](/data/data-mapping/data-item-linking/item-linking-errors/). diff --git a/docs/data/data-mapping/data-item-linking/item-linking-code-node.md b/docs/data/data-mapping/data-item-linking/item-linking-code-node.md new file mode 100644 index 000000000..4139ea443 --- /dev/null +++ b/docs/data/data-mapping/data-item-linking/item-linking-code-node.md @@ -0,0 +1,4 @@ +# Item linking in the Code node +--8<-- "_snippets/data/data-mapping/item-linking-code-node.md" + + diff --git a/docs/data/data-mapping/data-item-linking/item-linking-concepts.md b/docs/data/data-mapping/data-item-linking/item-linking-concepts.md index 76064453f..bf376de67 100644 --- a/docs/data/data-mapping/data-item-linking/item-linking-concepts.md +++ b/docs/data/data-mapping/data-item-linking/item-linking-concepts.md @@ -1,11 +1,11 @@ # Item linking concepts -Each output item created by a node includes metadata that links them to the input item (or items) that the node used to generate them. This creates a chain of items that you can work back along to access previous items. This can be complicated to understand, especially if the node splits or merges data. You need to understand item linking when building your own programmatic nodes, or in some scenarios using the Function node. +Each output item created by a node includes metadata that links them to the input item (or items) that the node used to generate them. This creates a chain of items that you can work back along to access previous items. This can be complicated to understand, especially if the node splits or merges data. You need to understand item linking when building your own programmatic nodes, or in some scenarios using the Code node. This document provides a conceptual overview of this feature. For usage details, refer to: * [Item linking for node creators](/data/data-mapping/data-item-linking/item-linking-node-building/), for details on how to handle item linking when building a node. -* [Item linking in the Function node](/data/data-mapping/data-item-linking/item-linking-function-node/), to learn how to handle item linking in the Function node. +* [Item linking in the Code node](/data/data-mapping/data-item-linking/item-linking-code-node/), to learn how to handle item linking in the Code node. * [Item linking errors](/data/data-mapping/data-item-linking/item-linking-errors/), to understand the errors you may encounter in the editor UI. ## n8n's automatic item linking diff --git a/docs/data/data-mapping/data-item-linking/item-linking-errors.md b/docs/data/data-mapping/data-item-linking/item-linking-errors.md index e8fb3cede..02ca526d4 100644 --- a/docs/data/data-mapping/data-item-linking/item-linking-errors.md +++ b/docs/data/data-mapping/data-item-linking/item-linking-errors.md @@ -22,5 +22,5 @@ If you see this error message: > ERROR: Can't get data for expression under '``' field -You need to supply item linking information yourself, because you have an item linking scenario that n8n can't automatically handle. Refer to [Item linking concepts](/data/data-mapping/data-item-linking/item-linking-concepts/) for a conceptual understanding of item linking, and [Manage item linking in the Function node](/data/data-mapping/data-item-linking/item-linking-function-node/) for detailed guidance on handling item linking. +You need to supply item linking information yourself, because you have an item linking scenario that n8n can't automatically handle. Refer to [Item linking concepts](/data/data-mapping/data-item-linking/item-linking-concepts/) for a conceptual understanding of item linking, and [Manage item linking in the Function node](/data/data-mapping/data-item-linking/item-linking-code-node/) for detailed guidance on handling item linking. diff --git a/docs/data/data-mapping/data-item-linking/item-linking-function-node.md b/docs/data/data-mapping/data-item-linking/item-linking-function-node.md deleted file mode 100644 index 155e4e225..000000000 --- a/docs/data/data-mapping/data-item-linking/item-linking-function-node.md +++ /dev/null @@ -1,4 +0,0 @@ -# Item linking in the Function node ---8<-- "_snippets/data/data-mapping/item-linking-function-node.md" - - diff --git a/docs/data/data-structure.md b/docs/data/data-structure.md index 0e3bd771e..7baa2991d 100644 --- a/docs/data/data-structure.md +++ b/docs/data/data-structure.md @@ -30,11 +30,12 @@ In n8n, all data passed between nodes is an array of objects. It has the followi ``` !!! note "Skipping the 'json' key and array syntax" - From 0.166.0 onwards, when using the function node, n8n automatically adds the `json` key if it's missing. It also automatically wraps your items in an array (`[]`) if needed. This is only when using the Function node. When building your own nodes, you must still make sure the node returns data with the `json` key. + From 0.166.0 onwards, when using the Function node or Code node, n8n automatically adds the `json` key if it's missing. It also automatically wraps your items in an array (`[]`) if needed. This is only when using the Function or Code nodes. When building your own nodes, you must still make sure the node returns data with the `json` key. ## Data flow -Nodes do not only process one "item", they process multiple ones. +Nodes process multiple items. + For example, if the Trello node is set to `Create-Card` and it has an expression set for `Name` to be set depending on `name` property, it will create a card for each item, always choosing the `name-property-value` of the current one. This data would, for example, create two cards. One named `test1` the other one named `test2`: diff --git a/docs/hosting/configuration.md b/docs/hosting/configuration.md index 3069c69b2..caed6c784 100644 --- a/docs/hosting/configuration.md +++ b/docs/hosting/configuration.md @@ -172,9 +172,9 @@ You can define additional folders with an environment variable. export N8N_CUSTOM_EXTENSIONS="/home/jim/n8n/custom-nodes;/data/n8n/nodes" ``` -### Use built-in and external modules in Function-Nodes +### Use built-in and external modules in the Code node -For security reasons, the Function node restricts importing modules. It's possible to lift that restriction for built-in and external modules by setting the following environment variables: +For security reasons, the Code node restricts importing modules. It's possible to lift that restriction for built-in and external modules by setting the following environment variables: - `NODE_FUNCTION_ALLOW_BUILTIN`: For built-in modules - `NODE_FUNCTION_ALLOW_EXTERNAL`: For external modules sourced from n8n/node_modules directory. External module support is disabled when an environment variable isn't set. diff --git a/docs/hosting/environment-variables.md b/docs/hosting/environment-variables.md index 6b1a21f33..c51d8da9d 100644 --- a/docs/hosting/environment-variables.md +++ b/docs/hosting/environment-variables.md @@ -160,8 +160,8 @@ Refer to [User management](/hosting/user-management/) for more information on se | :------- | :---- | :------- | :---------- | | `NODES_INCLUDE` | String | - | Specify which nodes to load. | | `NODES_EXCLUDE` | String | - | Specify which nodes not to load. | -| `NODE_FUNCTION_ALLOW_BUILTIN` | String | - | Permit users to import specific built-in modules in Function nodes. Use * to allow all. n8n disables importing modules by default. | -| `NODE_FUNCTION_ALLOW_EXTERNAL` | String | - | Permit users to import specific external modules (from `n8n/node_modules`) in Function nodes. n8n disables importing modules by default. | +| `NODE_FUNCTION_ALLOW_BUILTIN` | String | - | Permit users to import specific built-in modules in the Code node. Use * to allow all. n8n disables importing modules by default. | +| `NODE_FUNCTION_ALLOW_EXTERNAL` | String | - | Permit users to import specific external modules (from `n8n/node_modules`) in the Code node. n8n disables importing modules by default. | | `NODES_ERROR_TRIGGER_TYPE` | String | `n8n-nodes-base.errorTrigger` | Specify which Node Type to use as Error Trigger. | | `N8N_CUSTOM_EXTENSIONS` | String | - | Specify the path to additional directories containing your custom nodes. | diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.citrixAdc.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.citrixAdc.md index 9a5d90ca0..0b8254ea5 100644 --- a/docs/integrations/builtin/app-nodes/n8n-nodes-base.citrixAdc.md +++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.citrixAdc.md @@ -9,6 +9,7 @@ * Certificate * Create + * Install * File * Delete * Download diff --git a/drafts/n8n-nodes-base.venafiTlsProtectCloud.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafiTlsProtectCloud.md similarity index 53% rename from drafts/n8n-nodes-base.venafiTlsProtectCloud.md rename to docs/integrations/builtin/app-nodes/n8n-nodes-base.venafiTlsProtectCloud.md index 9c8711e8d..5da667502 100644 --- a/drafts/n8n-nodes-base.venafiTlsProtectCloud.md +++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafiTlsProtectCloud.md @@ -1,6 +1,6 @@ # Venafi TLS Protect Cloud -[Venafi TLS Protect](https://www.venafi.com/platform/tls-protect){:target=_blank .external-link} helps you discover all your SSL/TLS certificates and corresponding private keys so you can protect these machine identities from outages and quickly respond to certificate vulnerabilities, CA compromise, or other errors. +[Venafi](https://www.venafi.com/){:target=_blank .external-link} is a cybersecurity company providing services for machine identity management. They offer solutions to manage and protect identities for a wide range of machine types, delivering global visibility, lifecycle automation, and actionable intelligence. The n8n Venafi TLS Protect Cloud node allows you to integrate with the [cloud-based Venafi TLS Protect](https://vaas.venafi.com/){:target=_blank} service. @@ -26,4 +26,7 @@ Refer to [Venafi's REST API documentation](https://docs.venafi.cloud/api/vaas-re View [example workflows and related content](https://n8n.io/integrations/venafi-tls-protect-cloud/){:target=_blank .external-link} on n8n's website. -n8n also provides a node for [Venafi TLS Protect Datacenter](/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacenter/). +n8n also provides: + +* A [trigger node](/integrations/builtin/trigger-nodes/n8n-nodes-base.venafitlsprotectcloudtrigger/) for Venafi TLS Protect Cloud. +* A [node](/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacenter/) and [trigger node](/integrations/builtin/trigger-nodes/n8n-nodes-base.venafitlsprotectdatacentertrigger/) for Venafi TLS Protect Datacenter. diff --git a/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacenter.md b/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacenter.md new file mode 100644 index 000000000..c8671047d --- /dev/null +++ b/docs/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacenter.md @@ -0,0 +1,27 @@ +# Venafi TLS Protect Datacenter + +[Venafi](https://www.venafi.com/){:target=_blank .external-link} is a cybersecurity company providing services for machine identity management. They offer solutions to manage and protect identities for a wide range of machine types, delivering global visibility, lifecycle automation, and actionable intelligence. + +!!! note "Credentials" + You can find authentication information for this node [here](/integrations/builtin/credentials/venafiTlsProtectDatacenter/). + +## Operations + +* Certificate + * Create + * Delete + * Download + * Get + * Get Many + * Renew +* Policy + * Get + +## Related resources + +View [example workflows and related content](https://n8n.io/integrations/venafi-tls-protect-datacenter/){:target=_blank .external-link} on n8n's website. + +n8n also provides: + +* A [trigger node](/integrations/builtin/trigger-nodes/n8n-nodes-base.venafitlsprotectdatacentertrigger/) for Venafi TLS Protect Datacenter. +* A [node](/integrations/builtin/app-nodes/n8n-nodes-base.venafiTlsProtectCloud/) and [trigger](/integrations/builtin/trigger-nodes/n8n-nodes-base.venafitlsprotectcloudtrigger/) node for Venafi TLS Protect Cloud. diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.code.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.code.md new file mode 100644 index 000000000..213177221 --- /dev/null +++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.code.md @@ -0,0 +1,41 @@ +# Code + +The Code node allows you to write custom JavaScript and run it as a step in your workflow. + +!!! note "Function and Function Item nodes" + The Code node replaces the Function and Function Item nodes from version 0.198.0 onwards. If you're using an older version of n8n, you can still view the [Function node documentation](https://github.com/n8n-io/n8n-docs/blob/67935ad2528e2e30d7984ea917e4af2910a096ec/docs/integrations/builtin/core-nodes/n8n-nodes-base.function.md){:target=_blank .external-link} and [Function Item node documentation](https://github.com/n8n-io/n8n-docs/blob/67935ad2528e2e30d7984ea917e4af2910a096ec/docs/integrations/builtin/core-nodes/n8n-nodes-base.functionItem.md){:target=_blank .external-link}. + +## Choose a mode + +There are two modes: + +* **Run Once for All Items**: this is the default. When your workflow runs, the code in the code node executes once, regardless of how many input items there are. +* **Run Once for Each Item**: choose this if you want your code to run for every input item. + +## Supported JavaScript features + +The Code node supports: + +* Promises. Instead of returning the items directly, you can return a promise which resolves accordingly. +* Writing to your browser console using `console.log`. This is useful for debugging and troubleshooting your workflows. + +## Data structure and item linking + +When working with the Code node, you need to understand the following concepts: + +* [Data structure](/data/data-structure/): understand the data you receive in the Code node, and requirements for outputting data from the node. +* [Item linking](/data/data-mapping/data-item-linking/): learn how data items work. You need to handle item linking when the number of input and output items doesn't match. + +## Built-in methods and variables + +n8n includes built-in methods and variables. These provide support for: + +* Accessing specific item data +* Accessing data about workflows, executions, and your n8n environment +* Convenience variables to help with data and time + +Refer to [methods and variables](/code-examples/methods-variables-reference/) for more information. + +## External libraries + +If you self-host n8n, you can import and use built-in and external npm modules in the Code node. To learn how to enable external modules, refer the [Configuration](/hosting/configuration/#use-built-in-and-external-modules-in-the-code-node) guide. diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.merge.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.merge.md index 7291b049f..3c1e34db7 100644 --- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.merge.md +++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.merge.md @@ -11,11 +11,15 @@ You can specify how the Merge node should combine data from different branches. ### Append -Combines data from both inputs. The output contains items from Input 1, followed by all items from Input 2. +Keep data from both inputs. The output contains items from Input 1, followed by all items from Input 2. ![Diagram](/_images/integrations/builtin/core-nodes/merge/append-diagram.png) -### Merge by fields +### Combine + +Combine data from both inputs. Choose a **Combination Mode** to control how n8n merges the data. + +#### Merge by fields Compare items by field values. Enter the fields you want to compare in **Fields to Match**. @@ -29,11 +33,11 @@ n8n's default behavior is to keep matching items. You can change this using the ![Diagram](/_images/integrations/builtin/core-nodes/merge/merge-by-field-diagram.png) -#### Field value clashes +##### Field value clashes --8<-- "_snippets/integrations/builtin/core-nodes/merge/field-value-clash.md" -#### Multiple matches +##### Multiple matches Matching by field can generate multiple matches if the inputs contain duplicate data. To handle this, select **Add Option > Multiple Matches**. Then choose: @@ -41,27 +45,27 @@ Matching by field can generate multiple matches if the inputs contain duplicate * **Include First Match Only**: keep the first item, discard subsequent items. -### Merge by position +#### Merge by position Combine items based on their order. The item at index 0 in Input 1 merges with the item at index 0 in Input 2, and so on. ![Diagram](/_images/integrations/builtin/core-nodes/merge/merge-by-position-diagram.png) -#### Inputs with different numbers of items +##### Inputs with different numbers of items If there are more items in one input than the other, the default behavior is to leave out the items without a match. Choose **Add Option** > **Include Any Unpaired Items** to keep the unmatched items. -#### Field value clashes +##### Field value clashes --8<-- "_snippets/integrations/builtin/core-nodes/merge/field-value-clash.md" -### Multiplex +#### Multiplex Output all possible item combinations, while merging fields with the same name. ![Diagram](/_images/integrations/builtin/core-nodes/merge/multiplex-diagram.png) -#### Field value clashes +##### Field value clashes --8<-- "_snippets/integrations/builtin/core-nodes/merge/field-value-clash.md" diff --git a/drafts/venafiTlsProtectCloud.md b/docs/integrations/builtin/credentials/venafiTlsProtectCloud.md similarity index 62% rename from drafts/venafiTlsProtectCloud.md rename to docs/integrations/builtin/credentials/venafiTlsProtectCloud.md index 994a53787..b38ed59d1 100644 --- a/drafts/venafiTlsProtectCloud.md +++ b/docs/integrations/builtin/credentials/venafiTlsProtectCloud.md @@ -3,8 +3,9 @@ You can use these credentials to authenticate the following nodes with Venafi TLS Protect Cloud: * [Venafi TLS Protect Cloud node](/integrations/builtin/app-nodes/n8n-nodes-base.venafiTlsProtectCloud/) +* [Venafi TLS Protect Cloud trigger node](/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectcloudtrigger/) Follow the Venafi REST API documentation on [Obtaining an API Key](https://docs.venafi.cloud/api/obtaining-api-key/){:target=_blank .external-link}. -Enter the API key in the **Venafi TLS Protect Cloud account** credentials modal. +Enter the API key in the **Venafi TLS Protect Cloud account** credentials modal. Refer to [Add and edit credentials](/credentials/add-edit-credentials/) for more information on working with credentials in n8n. diff --git a/docs/integrations/builtin/credentials/venafiTlsProtectDatacenter.md b/docs/integrations/builtin/credentials/venafiTlsProtectDatacenter.md new file mode 100644 index 000000000..767a3aede --- /dev/null +++ b/docs/integrations/builtin/credentials/venafiTlsProtectDatacenter.md @@ -0,0 +1,10 @@ +# Venafi TLS Protect Datacenter + +You can use these credentials to authenticate the following nodes with Venafi TLS Protect Datacenter: + +* [Venafi TLS Protect Datacenter node](/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacenter/) +* [Venafi TLS Protect Datacenter trigger node](/integrations/builtin/app-nodes/n8n-nodes-base.venafitlsprotectdatacentertrigger/) + +Venafi provide a [PDF guide](/_downloads/venafi-tpp.pdf) to getting credentials. Follow the steps in the guide, making a note of the name and client ID you choose. When choosing scopes, make sure you choose the scopes needed for the operations you want to perform within n8n. For example, if you plan to work with certificates, including deleting them, include the **Certificate** scope in your Venafi credentials setup, with the **delete** option enabled. + +Enter the client ID, your username and password, and your Venafi domain, in the n8n **Venafi TLS Protect Datacenter account** modal. Refer to [Add and edit credentials](/credentials/add-edit-credentials/) for more information on working with credentials in n8n. diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.venafitlsprotectcloudtrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.venafitlsprotectcloudtrigger.md new file mode 100644 index 000000000..3e2ad7fed --- /dev/null +++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.venafitlsprotectcloudtrigger.md @@ -0,0 +1,8 @@ +# Venafi TLS Protect Cloud Trigger + +[Venafi](https://www.venafi.com/){:target=_blank .external-link} is a cybersecurity company providing services for machine identity management. They offer solutions to manage and protect identities for a wide range of machine types, delivering global visibility, lifecycle automation, and actionable intelligence. + +The n8n Venafi TLS Protect Cloud trigger node allows you to start a workflow in n8n in response to events in the [cloud-based Venafi TLS Protect](https://vaas.venafi.com/){:target=_blank} service. + +!!! note "Credentials" + You can find authentication information for this node [here](/integrations/builtin/credentials/venafiTlsProtectCloud/). diff --git a/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.venafitlsprotectdatacentertrigger.md b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.venafitlsprotectdatacentertrigger.md new file mode 100644 index 000000000..3b0b9eb9d --- /dev/null +++ b/docs/integrations/builtin/trigger-nodes/n8n-nodes-base.venafitlsprotectdatacentertrigger.md @@ -0,0 +1,6 @@ +# Venafi TLS Protect Datacenter Trigger + +[Venafi](https://www.venafi.com/){:target=_blank .external-link} is a cybersecurity company providing services for machine identity management. They offer solutions to manage and protect identities for a wide range of machine types, delivering global visibility, lifecycle automation, and actionable intelligence. + +!!! note "Credentials" + You can find authentication information for this node [here](/integrations/builtin/credentials/venafiTlsProtectDatacenter/). diff --git a/docs/reference/release-notes.md b/docs/reference/release-notes.md index 186a4034b..3ce215eea 100644 --- a/docs/reference/release-notes.md +++ b/docs/reference/release-notes.md @@ -1,5 +1,88 @@ # Release notes +## n8n@0.198.2 + +View the [commits](https://github.com/n8n-io/n8n/compare/n8n@0.198.1...n8n@0.198.2){:target=_blank .external-link} for this version.
+**Release date:** 2022-10-14 + +This release fixes a bug affecting scrolling through parameter lists. + +## n8n@0.198.1 + +View the [commits](https://github.com/n8n-io/n8n/compare/n8n@0.198.0...n8n@0.198.1){:target=_blank .external-link} for this version.
+**Release date:** 2022-10-14 + +This is a bug fix release. + +### Bug fixes + +* Editor: change the initial position of the Start node. +* Editor: align JSON view properties with their values. +* Editor: fix `BASE_PATH` for Vite dev mode. +* Editor: fix data pinning success source. + +### Contributor + +[Bram Kn](https://github.com/bramkn){:target=_blank .external-link} + + +## n8n@0.198.0 + +View the [commits](https://github.com/n8n-io/n8n/compare/n8n@0.197.1...n8n@0.198.0){:target=_blank .external-link} for this version.
+**Release date:** 2022-10-14 + +!!! warning "Breaking changes" + Please note that this version contains breaking changes to the Merge node. You can read more about them [here](https://github.com/n8n-io/n8n/blob/master/packages/cli/BREAKING-CHANGES.md#01980){:target=_blank .external-link}. + +### New features + +* Editor: update the expressions display. +* Editor: update the n8n-menu component. + +### New nodes + +
+ +#### Code node + +This release introduces the Code node. This node replaces both the Function and Function Item nodes. Refer to the [Code node](/integrations/builtin/core-nodes/n8n-nodes-base.code/) documentation for more information. + +
+ +
+ +#### Venafi TLS Protect Cloud trigger node + +Start a workflow in response to events in your Venafi Cloud service. + +
+ +### Node enhancements + +* Citrix ADC node: add Certificate Install operation. +* Kafka node: add a **Use key** option for messages. +* MySQL node: use the resource locator component for table parameters, making it easier for users to browse and select their database fields from within n8n. + +### Bug fixes + +* Core, Editor: prevent overlap between running and pinning data. +* Core: expression evaluation of processes now respects `N8N_BLOCK_ENV_ACCESS_IN_NODE`. +* Editor: ensure the Axios base URL still works when hosted in a subfolder. +* Editor: fixes for horizontal scrollbar rendering. +* Editor: ensure the menu closes promptly when loading a credentials page. +* Editor: menu UI fixes. +* Box node: fix an issue that was causing the Create Folder operation to show extra items. +* GSuite Admin node: resolve issue that was causing the User Update operation to fail. +* GitLab trigger node: ensure this node activates reliably. +* HTTP Request node: ensure OAuth credentials work properly with predefined credentials. +* KoboToolbox node: fix the hook logs. +* SeaTable node: ensure link items show in response. +* Zoom node: resolve an issue that was causing missing output items. + +### Contributors + +[Yan Jouanique](https://github.com/Yann-J){:target=_blank .external-link} + ## n8n@0.197.1 View the [commits](https://github.com/n8n-io/n8n/compare/n8n@0.197.0...n8n@0.197.1){:target=_blank .external-link} for this version.
diff --git a/drafts/n8n-nodes-base.venafitlsprotectdatacenter.md b/drafts/n8n-nodes-base.venafitlsprotectdatacenter.md deleted file mode 100644 index 656d29e89..000000000 --- a/drafts/n8n-nodes-base.venafitlsprotectdatacenter.md +++ /dev/null @@ -1,26 +0,0 @@ -# Venafi TLS Protect Datacenter - -[Venafi TLS Protect](https://www.venafi.com/platform/tls-protect){:target=_blank .external-link} helps you discover all your SSL/TLS certificates and corresponding private keys so you can protect these machine identities from outages and quickly respond to certificate vulnerabilities, CA compromise, or other errors. - -The n8n Venafi TLS Protect Datacenter node allows you to integrate with the - -!!! note "Credentials" - You can find authentication information for this node [here](/integrations/builtin/credentials/venafiTlsProtectDatacenter/). - -## Operations - -* Certificate - * Create - * Delete - * Download - * Get - * Get Many - * Renew -* Policy - * Get - -## Related resources - -View [example workflows and related content](https://n8n.io/integrations/venafi-tls-protect-datacenter/){:target=_blank .external-link} on n8n's website. - -n8n also provides a node for [Venafi TLS Protect Cloud](/integrations/builtin/app-nodes/n8n-nodes-base.venafiTlsProtectCloud/). diff --git a/drafts/venafiTlsProtectDatacenter.md b/drafts/venafiTlsProtectDatacenter.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/mkdocs.yml b/mkdocs.yml index 72729532d..9793b3f99 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -120,7 +120,7 @@ nav: - Data item linking: - data/data-mapping/data-item-linking/index.md - Item linking concepts: data/data-mapping/data-item-linking/item-linking-concepts.md - - Item linking in the Function node: data/data-mapping/data-item-linking/item-linking-function-node.md + - Item linking in the Code node: data/data-mapping/data-item-linking/item-linking-code-node.md - Item linking errors: data/data-mapping/data-item-linking/item-linking-errors.md - Item linking for node creators: data/data-mapping/data-item-linking/item-linking-node-building.md - Data pinning: data/data-pinning.md @@ -149,6 +149,7 @@ nav: - Split binary file data into individual items: code-examples/javascript-functions/split-binary-file-data.md - Get the binary data buffer: code-examples/javascript-functions/get-binary-data-buffer.md - Check incoming data: code-examples/javascript-functions/check-incoming-data.md + - Using console.log: code-examples/console-log.md - Reference: - reference/index.md - Release notes: reference/release-notes.md diff --git a/overrides/404.html b/overrides/404.html index a970109a8..13b7a583a 100644 --- a/overrides/404.html +++ b/overrides/404.html @@ -36,8 +36,9 @@ "/editor-ui/workflows": "/workflows/", "/editor-ui/credentials": "/credentials/", "/editor-ui/executions": "/workflows/executions/", - "/editor-ui/admin-panel": "/hosting/updating/cloud/" - // 404s reports + "/editor-ui/admin-panel": "/hosting/updating/cloud/", + // New code node + "/hosting/configuration/#use-built-in-and-external-modules-in-function-nodes": "/hosting/configuration/#use-built-in-and-external-modules-in-the-code-node" }; From 79d67744a62d9621facfcb133a84c219c8630401 Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Tue, 18 Oct 2022 12:49:53 +0100 Subject: [PATCH 20/22] add DOC-426 --- docs/code-examples/methods-variables-reference.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/code-examples/methods-variables-reference.md b/docs/code-examples/methods-variables-reference.md index bfcdb43a4..4ec23d7cc 100644 --- a/docs/code-examples/methods-variables-reference.md +++ b/docs/code-examples/methods-variables-reference.md @@ -62,7 +62,7 @@ This includes: | `$execution.id` | The unique ID of the current workflow execution. | :white_check_mark: | | `$execution.mode` | Whether the execution was triggered automatically, or by manually running the workflow. Possible values are `test` and `production`. | :white_check_mark: | | `$execution.resumeUrl` | The webhook URL to call to resume a workflow waiting at a [Wait node](/integrations/builtin/core-nodes/n8n-nodes-base.wait/). | :white_check_mark: | -| `$getWorkflowStaticData(type)` | Static data isn't available when testing workflows. The workflow must be active and called by a trigger or webhook to save static data. This gives access to the static workflow data. | :white_check_mark: | +| `$getWorkflowStaticData(type)` | View an [example](/code-examples/methods-variables-examples/get-workflow-static-data/). Static data isn't available when testing workflows. The workflow must be active and called by a trigger or webhook to save static data. This gives access to the static workflow data. | :white_check_mark: | | `$itemIndex` | The index of an item in a list of items. | :x: | | `$prevNode.name` | The name of the node that the current input came from. When using the Merge node, note that `$prevNode` always uses the first input connector. | :white_check_mark: | | `$prevNode.outputIndex` | The index of the output connector that the current input came from. Use this when the previous node had multiple outputs (such as an If or Switch node). When using the Merge node, note that `$prevNode` always uses the first input connector. | :white_check_mark: | From 232d84d313de7d1685cfe6653c337509e05c5555 Mon Sep 17 00:00:00 2001 From: Deborah Barnard Date: Tue, 18 Oct 2022 15:10:09 +0100 Subject: [PATCH 21/22] add missing contributor --- docs/reference/release-notes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/reference/release-notes.md b/docs/reference/release-notes.md index 3ce215eea..1faaad912 100644 --- a/docs/reference/release-notes.md +++ b/docs/reference/release-notes.md @@ -81,6 +81,7 @@ Start a workflow in response to events in your Venafi Cloud service. ### Contributors +[Jakob Backlund](https://github.com/jbacklund){:target=_blank .external-link} [Yan Jouanique](https://github.com/Yann-J){:target=_blank .external-link} ## n8n@0.197.1 From 952cc9f795eac890bcff2309c8f00ddd435c87b4 Mon Sep 17 00:00:00 2001 From: Tom <19203795+that-one-tom@users.noreply.github.com> Date: Tue, 18 Oct 2022 16:58:04 +0200 Subject: [PATCH 22/22] Update n8n-nodes-base.sendEmail.md --- .../integrations/builtin/core-nodes/n8n-nodes-base.sendEmail.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.sendEmail.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.sendEmail.md index 6200a4434..728bfd984 100644 --- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.sendEmail.md +++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.sendEmail.md @@ -19,7 +19,7 @@ The Send Email node is used to send an email via an SMTP email server. ## Node Reference - **From Email:** The email address you are sending from. -- **To Email:** The recipient email address. +- **To Email:** The recipient email address. Multiple recipients can be separated using a comma. - **CC Email:** A field that can be used to specify an email address for a carbon copy of the email. - **BCC Email:** A field that can be used to specify an email address for a blind carbon copy of the email. - **Subject:** The subject of your message.