Aller au contenu principal

n8n sur GKE Autopilot

n8n sur GKE Autopilot

n8n est une plateforme d'automatisation de workflows « fair-code » qui connecte des API, des bases de données et des services grâce à un éditeur visuel de nœuds. Ce module déploie n8n sur GKE Autopilot en s'appuyant sur le socle App_GKE, qui provisionne et gère l'infrastructure Google Cloud et Kubernetes partagée.

Ce guide se concentre sur les services cloud utilisés par n8n et sur la manière de les explorer et de les exploiter depuis la console Google Cloud et la ligne de commande. Pour les mécanismes communs à toutes les applications GKE — Workload Identity, entrée, mise à l'échelle automatique, CI/CD, Cloud Armor, IAP, Binary Authorization, VPC Service Controls, sauvegardes et cycle de vie du déploiement — reportez-vous au guide du socle App_GKE plutôt que de les répéter ici.


1. Vue d'ensemble​

n8n s'exécute comme une charge de travail Node.js. Le déploiement assemble un ensemble ciblé de services Google Cloud :

FonctionnalitéService Google CloudRemarques
CalculGKE AutopilotPods Node.js, 2 vCPU / 4 GiB par défaut, mise à l'échelle automatique horizontale
Base de donnéesCloud SQL for PostgreSQL 15Obligatoire — n8n utilise PostgreSQL pour toutes les données de workflows et d'identifiants
Fichiers partagésFilestore (NFS)Données de fichiers binaires partagées entre tous les réplicas ; sert aussi de point de terminaison Redis par défaut
Stockage d'objetsCloud StorageUn bucket de données dédié
File d'attente et coordinationRedisActivé par défaut ; active le mode file d'attente de n8n pour la mise à l'échelle horizontale
SecretsSecret ManagerClé de chiffrement générée automatiquement et valeur provisoire du mot de passe SMTP
EntréeCloud Load BalancingLoadBalancer externe, domaine personnalisé + certificat géré en option

Valeurs par défaut judicieuses à connaître d'emblée :

  • PostgreSQL 15 est obligatoire. Le moteur de base de données est imposé ; choisir un autre moteur ou NONE empêche le démarrage.
  • Redis est activé par défaut. Le mode file d'attente permet à plusieurs réplicas n8n de se répartir l'exécution des workflows. Sans Redis, un seul réplica peut traiter les workflows de manière fiable.
  • La clé de chiffrement est irremplaçable. N8N_ENCRYPTION_KEY est générée une seule fois et stockée dans Secret Manager. Tous les identifiants des workflows sont chiffrés avec elle. Si la clé fait l'objet d'une rotation ou est supprimée, chaque identifiant enregistré devient définitivement illisible.
  • L'affinité de session est ClientIP. L'éditeur utilise des WebSockets ; les requêtes d'un navigateur sont donc attachées à un même pod.
  • WEBHOOK_URL et N8N_EDITOR_BASE_URL sont prédéfinis sur l'URL attendue du service avant le déploiement afin que les webhooks se résolvent correctement dès le premier démarrage.
  • Le secret du mot de passe SMTP est initialisé avec une valeur factice ; mettez-le à jour dans Secret Manager avant de configurer l'envoi d'e-mails.

2. Services Google Cloud et comment les explorer​

Toutes les commandes supposent que vous avez exécuté gcloud container clusters get-credentials <cluster> --region <region> --project <project> et que PROJECT, REGION et NAMESPACE sont définis. L'espace de noms et les autres identifiants figurent dans les Sorties du déploiement.

A. GKE Autopilot — la charge de travail n8n​

Les pods n8n sont ordonnancés sur Autopilot, qui facture le CPU et la mémoire réellement demandés par les pods. L'autoscaling horizontal des pods dimensionne le déploiement entre les nombres minimal et maximal de réplicas. L'affinité de session attache les sessions de l'éditeur à un seul pod.

  • Console : Kubernetes Engine → Workloads → sélectionnez la charge de travail n8n pour voir les pods, les révisions et les événements. Kubernetes Engine → Services & Ingress affiche l'IP externe.
  • CLI :
    kubectl get pods,svc,hpa -n "$NAMESPACE"
    kubectl logs -n "$NAMESPACE" deploy/<service-name> --tail=100
    kubectl describe hpa -n "$NAMESPACE" # current vs target utilisation

Consultez App_GKE pour la gestion d'Autopilot, de la mise à l'échelle et du type de charge de travail (Deployment ou StatefulSet).

B. Cloud SQL for PostgreSQL 15​

n8n stocke toutes les définitions de workflows, l'historique des exécutions et les identifiants chiffrés dans une instance gérée Cloud SQL for PostgreSQL 15. Les pods y accèdent en privé via le sidecar Cloud SQL Auth Proxy, par un socket Unix ; aucune IP publique n'est donc exposée. Le script entrypoint.sh convertit à l'exécution les variables DB_* injectées par la plateforme en variables natives n8n DB_POSTGRESDB_*. Lors du premier déploiement, un Job d'initialisation crée la base de données et l'utilisateur de l'application.

  • Console : SQL → sélectionnez l'instance pour les connexions, les sauvegardes, les flags et les métriques.
  • CLI :
    gcloud sql instances list --project "$PROJECT"
    gcloud sql instances describe <instance-name> --project "$PROJECT"
    # Open an interactive shell to inspect schema/data:
    gcloud sql connect <instance-name> --user=<db-user> --project "$PROJECT"

Le nom de l'instance, le nom de la base de données, l'utilisateur et le secret Secret Manager contenant le mot de passe figurent tous dans les Sorties. Pour le modèle de connexion, les sauvegardes automatiques et la rotation des mots de passe, consultez App_GKE.

C. Filestore (NFS) et Cloud Storage​

Les fichiers binaires téléversés vers les workflows ou produits par eux sont écrits sur un partage Filestore (NFS) monté dans chaque pod, afin que tous les réplicas voient les mêmes données (N8N_DEFAULT_BINARY_DATA_MODE=filesystem). L'IP de l'hôte NFS sert aussi de point de terminaison Redis par défaut lorsqu'aucun redis_host explicite n'est configuré. Un bucket Cloud Storage dédié est provisionné pour une persistance plus large des données.

  • Console : Filestore → Instances pour le partage NFS ; Cloud Storage → Buckets pour le bucket de données.
  • CLI :
    gcloud filestore instances list --project "$PROJECT"
    gcloud storage buckets list --project "$PROJECT"
    gcloud storage ls gs://<data-bucket>/ # bucket name is in the Outputs
    # Confirm the share is mounted inside a pod:
    kubectl exec -n "$NAMESPACE" deploy/<service-name> -- df -h | grep -i nfs

Consultez App_GKE pour le provisionnement NFS, GCS Fuse et les options CMEK.

D. File d'attente Redis​

Redis active le mode file d'attente de n8n, qui répartit les exécutions de workflows entre plusieurs réplicas à l'aide de Bull. En mode file d'attente, une ou plusieurs instances « worker » récupèrent les exécutions dans la file tandis que l'instance principale gère l'éditeur et l'enregistrement des webhooks. Lorsqu'aucun hôte Redis externe n'est configuré et que NFS est activé, l'IP de l'hôte NFS est utilisée comme point de terminaison Redis.

  • Console : Memorystore → Redis (si vous utilisez une instance gérée).
  • CLI :
    redis-cli -h <redis-host> ping        # from a host with network access
    redis-cli -h <redis-host> info keyspace

E. Secret Manager​

La clé de chiffrement de n8n et la valeur provisoire du mot de passe SMTP sont stockées comme secrets Secret Manager et injectées dans les pods à l'exécution ; aucune valeur en clair n'apparaît dans la configuration. Le mot de passe de la base de données est géré séparément par le socle.

  • Console : Security → Secret Manager.
  • CLI :
    gcloud secrets list --project "$PROJECT"
    gcloud secrets versions access latest --secret=<secret-name> --project "$PROJECT"
    # Update the SMTP password with the real credential:
    echo -n "my-real-smtp-password" | \
    gcloud secrets versions add <smtp-secret-name> --data-file=- --project "$PROJECT"

Le nom du secret du mot de passe de la base de données figure dans les Sorties. Consultez App_GKE pour l'intégration Secret Store CSI et la rotation.

F. Réseau et entrée​

Par défaut, la charge de travail est exposée via une IP externe Cloud Load Balancing. Un domaine personnalisé avec un certificat géré par Google peut être activé, et une IP statique peut être réservée afin que l'adresse survive aux redéploiements.

  • Console : Network services → Load balancing ; VPC network → IP addresses.
  • CLI :
    kubectl get ingress,svc -n "$NAMESPACE"
    gcloud compute addresses list --project "$PROJECT"

Consultez App_GKE pour les détails sur les domaines personnalisés, Cloud CDN et l'IP statique.

G. Cloud Logging et Monitoring​

La sortie stdout/stderr des pods est envoyée à Cloud Logging ; les métriques GKE et Cloud SQL sont envoyées à Cloud Monitoring. Des tests de disponibilité et des règles d'alerte facultatifs sont disponibles.

  • Console : Logging → Logs Explorer ; Monitoring → Dashboards / Alerting.
  • CLI :
    gcloud logging read 'resource.type="k8s_container" AND resource.labels.namespace_name="'"$NAMESPACE"'"' \
    --project "$PROJECT" --limit 50

3. Comportement de l'application n8n​

  • Configuration de la base de données au premier déploiement. Un Job d'initialisation (db-init) utilise postgres:15-alpine pour créer la base de données et l'utilisateur n8n et accorder les privilèges avant le démarrage de l'application. Il est idempotent et peut être relancé sans risque.
  • Conversion des variables d'environnement. entrypoint.sh fait correspondre DB_HOST, DB_NAME, DB_USER et DB_PASSWORD (injectés par la plateforme) à leurs équivalents natifs n8n DB_POSTGRESDB_* au démarrage du conteneur. Le chemin du socket du Cloud SQL Auth Proxy est réécrit en un lien symbolique que les pilotes PostgreSQL peuvent localiser.
  • Fonctionnement en mode file d'attente. Avec enable_redis = true (valeur par défaut), n8n démarre en mode file d'attente. Le pod principal gère l'enregistrement des webhooks, l'interface de l'éditeur et la coordination des exécutions ; les réplicas supplémentaires servent de workers qui prennent les jobs dans la file Bull.
  • Stabilité de l'URL des webhooks. WEBHOOK_URL et N8N_EDITOR_BASE_URL sont définis sur l'URL prévue du service avant le déploiement. Si l'IP externe ou le domaine personnalisé change, ces valeurs doivent être mises à jour et la charge de travail redéployée.
  • Stockage des données binaires. N8N_DEFAULT_BINARY_DATA_MODE=filesystem indique à n8n d'écrire les fichiers binaires (pièces jointes, téléchargements) sur le système de fichiers monté en NFS plutôt que dans la base de données, ce qui est requis pour les déploiements multi-réplicas.
  • Chemin de santé. Les sondes de disponibilité (readiness) et de vivacité ciblent la racine de n8n (/), qui ne renvoie HTTP 200 qu'une fois l'application et la connexion à la base de données entièrement initialisées. La sonde de démarrage accorde 120 secondes à la configuration du premier démarrage.
  • Caractère critique de la clé de chiffrement. N8N_ENCRYPTION_KEY chiffre tous les identifiants des workflows stockés dans la base de données. La clé est générée une seule fois ; si elle change, tous les identifiants enregistrés (clés d'API, mots de passe, jetons) deviennent définitivement illisibles.

4. Variables de configuration​

Les variables sont regroupées exactement comme elles apparaissent sur la plateforme de déploiement. Seuls les paramètres propres à n8n ou notables pour lui sont listés ; toutes les autres entrées sont héritées d'App_GKE avec leur comportement et leurs valeurs par défaut standard.

Groupe 1 — Projet et identité​

VariableValeur par défautDescription
project_id(obligatoire)Projet Google Cloud cible.
regionus-central1Région de la charge de travail et des ressources régionales.

Groupe 2 — Environnement de déploiement​

VariableValeur par défautDescription
tenant_iddemoSuffixe court qui rend les noms de ressources uniques par environnement.
support_users[]Adresses e-mail recevant l'accès au projet et les alertes de surveillance.
resource_labels{}Libellés appliqués à toutes les ressources pour le suivi des coûts et de la propriété.

Groupe 3 — Identité de l'application​

VariableValeur par défautDescription
application_namen8nNom de base des ressources. Ne pas modifier après le premier déploiement.
display_nameN8N Workflow AutomationNom convivial affiché dans la console.
description(défini)Annotation de description de la charge de travail.
application_version2.4.7Tag de version de l'image n8n ; incrémentez-le pour déployer une nouvelle version.
deploy_applicationtrueDéfinissez false pour provisionner uniquement l'infrastructure.

Groupe 4 — Exécution et mise à l'échelle​

VariableValeur par défautDescription
cpu_limit2000mCPU par pod ; 2 vCPU recommandés pour l'exécution des workflows n8n.
memory_limit4GiMémoire par pod.
min_instance_count1Nombre minimal de réplicas. Gardez ≥ 1 pour que les workflows en file d'attente aient toujours un worker.
max_instance_count3Nombre maximal de réplicas (plafond de l'autoscaler).
container_port5678n8n écoute sur le port 5678.
enable_cloudsql_volumetrueSidecar Cloud SQL Auth Proxy pour les connexions par socket.
enable_image_mirroringtrueDupliquer l'image n8n dans Artifact Registry avant le déploiement.
timeout_seconds300Durée maximale d'une requête, en secondes.

Groupe 5 — Variables d'environnement et secrets​

VariableValeur par défautDescription
environment_variablesValeurs SMTP provisoires par défautParamètres supplémentaires non secrets. Les valeurs principales N8N_* et DB_TYPE sont définies automatiquement. La correspondance par défaut inclut SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD, SMTP_SSL et EMAIL_FROM sous forme de valeurs vides ou provisoires, prêtes à être remplacées par de vrais identifiants.
secret_environment_variables{}Correspondance variable d'environnement → nom de secret Secret Manager.
secret_propagation_delay30Nombre de secondes d'attente après la création d'un secret avant de poursuivre.
secret_rotation_period2592000sFréquence des notifications de rotation Secret Manager (~30 jours).

Groupe 6 — Backend GKE et cluster​

VariableValeur par défautDescription
service_typeLoadBalancerMode d'exposition du Service.
session_affinityClientIPRoutage persistant requis pour les sessions WebSocket de l'éditeur n8n.
workload_typenullSe résout automatiquement en StatefulSet lorsque le stockage par pod est activé.
network_tags['nfsserver']Tags des nœuds/pods ; nfsserver est requis pour la connectivité NFS.
gke_cluster_name""Laissez vide pour la découverte automatique.
namespace_name""Laissez vide pour une génération automatique.
configure_service_meshfalseActiver l'injection Istio pour l'espace de noms.
termination_grace_period_seconds30Nombre de secondes d'attente après SIGTERM avant SIGKILL.

Groupe 7 — StatefulSet​

VariableValeur par défautDescription
stateful_pvc_enablednullActiver les modèles de PVC dans le StatefulSet. La valeur true sélectionne automatiquement le type de charge de travail StatefulSet.
stateful_pvc_size10GiTaille de stockage par PVC.
stateful_pvc_mount_path/dataChemin de montage dans le conteneur.
stateful_pvc_storage_classstandard-rwoStorageClass Kubernetes des PVC.

Groupe 9 — Règles de fiabilité​

VariableValeur par défautDescription
enable_pod_disruption_budgettrueProtéger la disponibilité pendant les mises à niveau des nœuds.
pdb_min_available1Augmentez min_instance_count au-delà de 1 si vous avez besoin de marge pour les évictions.
enable_topology_spreadfalseRépartir les pods entre les zones.

Groupe 10 — Observabilité et santé​

VariableValeur par défautDescription
startup_probe / liveness_probeHTTP GET /Les sondes ciblent la racine de n8n. La sonde de démarrage accorde un délai initial de 120 s.
startup_probe_config / health_check_config(défini)Objets de sonde structurés transmis au socle.
uptime_check_configdésactivéTest de disponibilité Cloud Monitoring facultatif.
alert_policies[]Règles d'alerte sur métriques facultatives.

Groupe 11 — Jobs et tâches planifiées​

VariableValeur par défautDescription
initialization_jobs[]Laissez vide pour utiliser le job de configuration de base de données db-init intégré.
cron_jobs[]CronJobs planifiés. Le planificateur intégré de n8n gère les déclencheurs de workflows ; utilisez-les pour des opérations externes (scripts de maintenance, jobs de données personnalisés).
additional_services[]Services GKE sidecar ou auxiliaires déployés aux côtés de n8n.

Groupe 12 — CI/CD et intégration GitHub​

Intégration Cloud Build / Cloud Deploy standard d'App_GKE — consultez App_GKE. Entrées clés : enable_cicd_trigger, github_repository_url, github_token, enable_cloud_deploy, enable_binary_authorization.

Groupe 13 — Système de fichiers (NFS)​

VariableValeur par défautDescription
enable_nfstrueVolume Filestore partagé pour les données de fichiers binaires (à garder activé en multi-réplicas).
nfs_mount_path/mnt/nfsChemin de montage dans le conteneur.
nfs_volume_namenfs-data-volumeNom du volume Kubernetes pour le montage NFS.
nfs_instance_name""Nom d'une VM GCE NFS existante. Laissez vide pour la découverte automatique.
nfs_instance_base_nameapp-nfsNom de base d'une VM GCE NFS intégrée lorsqu'aucune n'existe.

Groupe 14 — Cloud Storage et Artifact Registry​

VariableValeur par défautDescription
create_cloud_storagetrueProvisionner le bucket de données.
storage_buckets / gcs_volumes(défini)Buckets supplémentaires / montages GCS Fuse.
manage_storage_kms_iam / enable_artifact_registry_cmekfalseOptions CMEK.
max_images_to_retain / delete_untagged_images / image_retention_days(défini)Règle de nettoyage d'Artifact Registry.

Groupe 15 — File d'attente Redis​

VariableValeur par défautDescription
enable_redistrueUtiliser Redis pour l'exécution des workflows en mode file d'attente.
redis_host""Laissez vide pour utiliser l'IP de l'hôte NFS ; définissez-le explicitement lorsque NFS est désactivé.
redis_port6379Port Redis.
redis_auth""Mot de passe d'authentification Redis facultatif (sensible).

Groupe 16 — Backend de base de données​

VariableValeur par défautDescription
db_namen8n_dbNom de la base de données PostgreSQL. Immuable après le premier déploiement.
db_usern8n_userUtilisateur de l'application. Immuable après le premier déploiement.
database_password_length32Longueur du mot de passe généré (16–64).
enable_auto_password_rotationfalseRotation du mot de passe de la base de données sans interruption.

Groupe 17 — Sauvegarde et maintenance​

VariableValeur par défautDescription
backup_schedule0 2 * * *Cron de sauvegarde automatique (UTC).
backup_retention_days7Rétention ; portez-la à 30–90 pour la production ou la conformité.
enable_backup_import / backup_source / backup_urioptions de restaurationRestaurer depuis une sauvegarde lors du déploiement.

Groupe 18 — Scripts SQL personnalisés​

enable_custom_sql_scripts, custom_sql_scripts_bucket, custom_sql_scripts_path, custom_sql_scripts_use_root — exécutent du SQL depuis un bucket GCS après le provisionnement. Consultez App_GKE.

Groupe 19 — Domaine personnalisé, IP statique et réseau​

VariableValeur par défautDescription
enable_custom_domaintrueProvisionner une Gateway pour les noms d'hôte personnalisés + certificat géré.
application_domains[]Noms d'hôte à servir.
reserve_static_iptrueIP externe stable entre les redéploiements.

Groupe 20 — Identity-Aware Proxy (IAP)​

VariableValeur par défautDescription
enable_iapfalseExiger une connexion Google devant n8n.
iap_authorized_users / iap_authorized_groups[]Qui peut accéder.
iap_oauth_client_id / iap_oauth_client_secret""Requis lorsque IAP est activé (sensible).
iap_support_email""Affiché sur l'écran de consentement OAuth.

Groupe 21 — Cloud Armor​

VariableValeur par défautDescription
enable_cloud_armorfalseAssocier une règle Cloud Armor (WAF) au backend de l'Ingress.
admin_ip_ranges[]CIDR autorisés pour l'accès privilégié.
cloud_armor_policy_namedefault-waf-policyNom de la règle.

Groupe 22 — VPC Service Controls et journalisation d'audit​

VariableValeur par défautDescription
enable_vpc_scfalseAppliquer un périmètre VPC-SC (requiert organization_id).
vpc_cidr_ranges / vpc_sc_dry_run(défini)CIDR du niveau d'accès / mode simulation (dry-run).
enable_audit_loggingfalseJournaux Cloud Audit Logs détaillés.

5. Sorties​

Ces valeurs sont renvoyées après un déploiement réussi et constituent le moyen le plus rapide de localiser et d'explorer les ressources en cours d'exécution.

SortieDescription
service_nameNom du Service Kubernetes.
namespaceEspace de noms dans lequel s'exécute la charge de travail.
service_cluster_ipClusterIP interne au cluster.
stage_service_cluster_ipsCorrespondance des ClusterIP des services propres à chaque étape.
service_external_ipIP externe du LoadBalancer (lorsqu'une IP statique est réservée).
service_urlURL permettant d'atteindre n8n.
database_instance_nameNom de l'instance Cloud SQL.
database_nameNom de la base de données de l'application.
database_userUtilisateur de la base de données de l'application.
database_password_secretSecret Secret Manager contenant le mot de passe de la base de données.
database_host / database_portPoint de terminaison de la base de données (via l'Auth Proxy) / port.
storage_bucketsBuckets Cloud Storage créés.
network_name / network_exists / regionsRéseau VPC, présence, régions disponibles.
container_image / container_registryImage déployée et dépôt Artifact Registry.
monitoring_enabled / monitoring_notification_channelsÉtat de la surveillance et canaux.
initialization_jobs / db_import_jobNoms des jobs de configuration et (facultatif) d'import.
deployment_id / tenant_id / resource_prefixIdentifiants de nommage.
project_id / project_numberIdentifiants du projet.
cicd_enabled / cicd_configurationÉtat et détails du CI/CD (dépôt, déclencheur, registre).
kubernetes_readyIndique si le cluster/la charge de travail est prêt.
vpc_sc_enabled / vpc_sc_perimeter_name / vpc_sc_dry_run_modeÉtat de VPC-SC.
audit_logging_enabled / artifact_registry_cmek_enabledÉtat des journaux d'audit et de CMEK.

6. Pièges de configuration et valeurs par défaut judicieuses​

Risque : Critique (perte de données / panne / sécurité) — Élevé (service dégradé) — Moyen (coût ou dégradation partielle) — Faible (mineur).

ParamètreValeur judicieuseRisqueConséquence en cas d'erreur
N8N_ENCRYPTION_KEY(générée automatiquement, ne jamais effectuer de rotation)CritiqueLa rotation ou la suppression de cette clé détruit définitivement tous les identifiants de workflows enregistrés.
db_name / db_userdéfinis une seule foisCritiqueImmuables après le premier déploiement ; les renommer recrée la base de données/l'utilisateur et détruit toutes les données des workflows.
enable_nfstrueCritiqueSans stockage partagé, les fichiers binaires ne sont pas partagés entre les réplicas et le mode binaire filesystem échoue.
enable_backup_importfalse sauf en cas de restaurationCritiqueL'activer sans backup_uri valide fait échouer le job d'import.
enable_redistrueÉlevéSans le mode file d'attente Redis, exécuter plus d'un réplica provoque des conflits d'exécution des workflows.
redis_host"" (NFS) ou expliciteÉlevéAucun point de terminaison valide si Redis est activé mais que NFS est désactivé et qu'aucun hôte n'est défini.
session_affinityClientIPÉlevéSans persistance, les sessions WebSocket de l'éditeur sont interrompues lorsqu'elles sont routées vers un autre pod.
min_instance_count1Élevé0 laisse les workflows en file d'attente sans worker pour les prendre en charge.
memory_limit4GiÉlevéUne mémoire insuffisante provoque des arrêts OOM lors de l'exécution de gros lots de workflows.
enable_iap / enable_cloud_armorà activer en productionMoyenSinon, l'éditeur n8n est accessible publiquement et expose tous les identifiants enregistrés.
backup_retention_days7 (à augmenter en production)MoyenTrop court pour une rétention réglementaire.
pdb_min_available vs min_instance_countprévoir une margeMoyen1/1 peut bloquer les mises à niveau des nœuds (un pod unique ne peut pas être évincé).

Remarque : enable_resource_quota et les variables quota_* (Groupe 8) sont déclarées dans N8N_GKE/variables.tf pour respecter la convention de duplication du dépôt, mais ne sont jamais transmises à App_GKE dans main.tf/n8n.tf — la description de chaque variable indique qu'elle n'a aucun effet sur le déploiement dans ce module. Elles ne présentent ici aucun risque opérationnel.


Pour le comportement du socle évoqué tout au long de cette page — IAM et Workload Identity, mise à l'échelle automatique, entrée et certificats, CI/CD, Cloud Armor, IAP, Binary Authorization, VPC-SC, sauvegardes et mise en miroir des images — consultez App_GKE. La configuration applicative propre à n8n partagée avec la variante Cloud Run est décrite dans N8N_Common.

Need RAD to do something it does not do yet? Request it on the roadmap, or vote on what is already there.