License with no entitlements on kubernetes deployment

Describe the problem/error/question

Hey, we’re running enterprise n8n on Kubernetes on EKS using a multi-main config. This consists of separate deployments for the main processes and the workers, and has the number of replicas set to 3. The license key is set via the N8N_LICENSE_ACTIVATION_KEY environment variable. We also use an EFS volume mounted to all pods at once.

When a new deployment is released, the pods perform a rolling update one by one. Almost always, one of the pods will get stuck with the error: Error: Your license does not allow for feat:multipleMainInstances. To enable feat:multipleMainInstances, please upgrade to a license that supports this feature.

What is the error message (if any)?

Error: Your license does not allow for feat:multipleMainInstances. To enable feat:multipleMainInstances, please upgrade to a license that supports this feature.

Please share your workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

Share the output returned by the last node

Output from n8n license:info:

Invalid timestamp value for N8N_RELEASE_DATE: $(date -u +"%Y-%m-%dT%H:%M:%SZ")
2025-03-24T01:43:20.052Z | warn  | Permissions 0644 for n8n settings file /home/node/.n8n/config are too wide. This is ignored for now, but in the future n8n will attempt to change the permissions automatically. To automatically enforce correct permissions now set N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true (recommended), or turn this check off set N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=false. {"file":"instance-settings.js","function":"ensureSettingsFilePermissions"}
User settings loaded from: /home/node/.n8n/config
2025-03-24T01:43:21.216Z | debug | Lazy-loading nodes and credentials from n8n-nodes-base {"nodes":465,"credentials":376,"file":"lazy-package-directory-loader.js","function":"loadAll"}
2025-03-24T01:43:21.223Z | debug | Lazy-loading nodes and credentials from @n8n/n8n-nodes-langchain {"nodes":81,"credentials":17,"file":"lazy-package-directory-loader.js","function":"loadAll"}
2025-03-24T01:43:21.654Z | warn  | 
There is a deprecation related to your environment variables. Please take the recommended actions to update your configuration:
 - N8N_RUNNERS_ENABLED -> Running n8n without task runners is deprecated. Task runners will be turned on by default in a future version. Please set `N8N_RUNNERS_ENABLED=true` to enable task runners now and avoid potential issues in the future. Learn more: https://docs.n8n.io/hosting/configuration/task-runners/
 {"file":"deprecation.service.js","function":"warn"}
2025-03-24T01:43:21.657Z | debug | Started Redis client publisher(n8n) {"scopes":["redis","scaling"],"type":"publisher(n8n)","host":"REDACTED","port":6379,"file":"redis-client.service.js","function":"createRegularClient"}
2025-03-24T01:43:21.678Z | debug | [license SDK[] initializing for deviceFingerprint REDACTED {"scopes":["license"],"file":"LicenseManager.js","function":"log"}
2025-03-24T01:43:21.695Z | debug | [license SDK[] attempting license renewal {"scopes":["license"],"file":"LicenseManager.js","function":"log"}
2025-03-24T01:43:21.970Z | debug | [license SDK[] license successfully renewed {"scopes":["license"],"file":"LicenseManager.js","function":"log"}
2025-03-24T01:43:21.971Z | info  | [license SDK[] skipped importing 1 floating entitlements which are currently in use elsewhere {"scopes":["license"],"file":"LicenseManager.js","function":"log"}
2025-03-24T01:43:21.978Z | debug | License changed with no support for multi-main setup - no new followers will be allowed to init. To restore multi-main setup, please upgrade to a license that supports this feature. {"scopes":["scaling","multi-main-setup","license"],"file":"license.js","function":"checkIsLicensedForMultiMain"}
2025-03-24T01:43:21.978Z | debug | License initialized {"scopes":["license"],"file":"license.js","function":"init"}
2025-03-24T01:43:21.978Z | info  | Printing license information:
## CONSUMER CONFIG ##
tenantId: 1
productIdentifier: n8n-1.81.4
deviceFingerprint: 6506b34cfccf223ff06443b860907d9beac84a3c572c2510873389cbce13466a
autoRenewalEnabled: true
autoRenewalOffset: 259200 (= 72h 0m 0s)
--
## LICENSE CERT ##
version: 2
tenantId: 1 
consumerId: 57f15381-0138-497b-b718-cc931e364417
deviceFingerprint: 6506b34cfccf223ff06443b860907d9beac84a3c572c2510873389cbce13466a 
createdAt: Sun Mar 16 2025 23:20:53 GMT+0000 (Coordinated Universal Time)
issuedAt: Mon Mar 24 2025 01:35:51 GMT+0000 (Coordinated Universal Time)
expiresAt: Thu Apr 03 2025 01:35:51 GMT+0000 (Coordinated Universal Time)
terminatesAt: Thu Mar 10 2050 23:20:53 GMT+0000 (Coordinated Universal Time)
isEphemeral: false
isValid: true
isRenewalDue: false
detachedEntitlementsCount: 1
entitlements: 0
 {"file":"info.js","function":"run"}

Output from n8n start:

Invalid timestamp value for N8N_RELEASE_DATE: $(date -u +"%Y-%m-%dT%H:%M:%SZ")
2025-03-24T01:43:23.288Z | warn  | Permissions 0644 for n8n settings file /home/node/.n8n/config are too wide. This is ignored for now, but in the future n8n will attempt to change the permissions automatically. To automatically enforce correct permissions now set N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true (recommended), or turn this check off set N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=false. {"file":"instance-settings.js","function":"ensureSettingsFilePermissions"}
User settings loaded from: /home/node/.n8n/config
2025-03-24T01:43:24.146Z | error | Last session crashed {"file":"crash-journal.js","function":"init"}
2025-03-24T01:43:34.155Z | info  | Initializing n8n process {"file":"start.js","function":"init"}
2025-03-24T01:43:34.156Z | debug | Starting main instance in scaling mode {"scopes":["scaling"],"file":"start.js","function":"init"}
2025-03-24T01:43:34.156Z | debug | Host ID: main-9xy6joA4qA2EDhMm {"scopes":["scaling"],"file":"start.js","function":"init"}
2025-03-24T01:43:34.303Z | debug | Lazy-loading nodes and credentials from n8n-nodes-base {"nodes":465,"credentials":376,"file":"lazy-package-directory-loader.js","function":"loadAll"}
2025-03-24T01:43:34.313Z | debug | Lazy-loading nodes and credentials from @n8n/n8n-nodes-langchain {"nodes":81,"credentials":17,"file":"lazy-package-directory-loader.js","function":"loadAll"}
2025-03-24T01:43:34.677Z | info  | n8n ready on 0.0.0.0, port 5678 {"file":"abstract-server.js","function":"init"}
2025-03-24T01:43:34.692Z | warn  | 
There is a deprecation related to your environment variables. Please take the recommended actions to update your configuration:
 - N8N_RUNNERS_ENABLED -> Running n8n without task runners is deprecated. Task runners will be turned on by default in a future version. Please set `N8N_RUNNERS_ENABLED=true` to enable task runners now and avoid potential issues in the future. Learn more: https://docs.n8n.io/hosting/configuration/task-runners/
 {"file":"deprecation.service.js","function":"warn"}
2025-03-24T01:43:34.697Z | debug | Started Redis client publisher(n8n) {"scopes":["redis","scaling"],"type":"publisher(n8n)","host":"REDACTED","port":6379,"file":"redis-client.service.js","function":"createRegularClient"}
2025-03-24T01:43:34.744Z | debug | Started Redis client subscriber(n8n) {"scopes":["redis","scaling"],"type":"subscriber(n8n)","host":"REDACTED","port":6379,"file":"redis-client.service.js","function":"createRegularClient"}
2025-03-24T01:43:34.761Z | debug | Subscribed to channel n8n.commands {"scopes":["scaling","pubsub"],"file":"subscriber.service.js"}
2025-03-24T01:43:34.762Z | debug | Subscribed to channel n8n.worker-response {"scopes":["scaling","pubsub"],"file":"subscriber.service.js"}
2025-03-24T01:43:34.763Z | debug | Pubsub setup completed {"scopes":["scaling","pubsub"],"file":"start.js","function":"initOrchestration"}
2025-03-24T01:43:34.764Z | debug | [license SDK[] initializing for deviceFingerprint 6506b34cfccf223ff06443b860907d9beac84a3c572c2510873389cbce13466a {"scopes":["license"],"file":"LicenseManager.js","function":"log"}
2025-03-24T01:43:34.783Z | debug | [license SDK[] Skipping renewal on init because cert was issued less than 24 hours ago or not initialized {"scopes":["license"],"file":"LicenseManager.js","function":"log"}
2025-03-24T01:43:34.784Z | debug | License changed with no support for multi-main setup - no new followers will be allowed to init. To restore multi-main setup, please upgrade to a license that supports this feature. {"scopes":["scaling","multi-main-setup","license"],"file":"license.js","function":"checkIsLicensedForMultiMain"}
2025-03-24T01:43:34.784Z | debug | License initialized {"scopes":["license"],"file":"license.js","function":"init"}
2025-03-24T01:43:34.786Z | debug | Skipping license activation {"file":"base-command.js","function":"initLicense"}
2025-03-24T01:43:34.789Z | error | Error: Your license does not allow for feat:multipleMainInstances. To enable feat:multipleMainInstances, please upgrade to a license that supports this feature.
    at Start.init (/usr/local/lib/node_modules/n8n/dist/commands/start.js:168:19)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at Start._run (/usr/local/lib/node_modules/n8n/node_modules/@oclif/core/lib/command.js:301:13)
    at Config.runCommand (/usr/local/lib/node_modules/n8n/node_modules/@oclif/core/lib/config/config.js:424:25)
    at run (/usr/local/lib/node_modules/n8n/node_modules/@oclif/core/lib/main.js:94:16)
    at /usr/local/lib/node_modules/n8n/bin/n8n:71:2 {"file":"start.js","function":"catch"}
2025-03-24T01:43:34.790Z | error | Exiting due to an error. {"file":"error-reporter.js","function":"defaultReport"}
2025-03-24T01:43:34.790Z | error | Your license does not allow for feat:multipleMainInstances. To enable feat:multipleMainInstances, please upgrade to a license that supports this feature. {"file":"error-reporter.js","function":"defaultReport"}

This seems odd because the entitlements are mounted correctly for 2 out of the 3 pods

Information on your n8n setup

  • n8n version: 1.81.4
  • Database (default: SQLite): PostgreSQL
  • n8n EXECUTIONS_PROCESS setting (default: own, main): main
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Kubernetes on AWS EKS
  • Operating system: Linux

Hi @Matt_Notarangelo ,

I see you emailed us about this issue. I’ve sent you a reply there asking for more information :slight_smile:

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.