Commit Graph

70 Commits

Author SHA1 Message Date
कारतोफ्फेलस्क्रिप्ट™
39d5e0ff87 refactor(core): Replace typedi with our custom DI system (no-changelog) (#12389)
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2025-01-06 10:21:24 +01:00
Iván Ovejero
096329db51 refactor(core): Rename some runners files and classes for clarity (#12410) 2024-12-31 12:21:04 +01:00
Iván Ovejero
f754b22a3f refactor(core): Mark all backend Enterprise Edition files and dirs (#12350) 2024-12-24 13:02:05 +01:00
Tomi Turtiainen
d25ae8e0d9 refactor: Rename disabled to enabled in runner config (#11621) 2024-11-07 14:22:43 +02:00
Iván Ovejero
76ab780cdd refactor(core): Remove dead orchestration code (#11266) 2024-10-15 16:47:31 +02:00
Iván Ovejero
05467fd101 refactor(core): Move queueModeId as hostId to InstanceSettings (#11262) 2024-10-15 14:55:13 +02:00
Val
ecbe568d69 feat: Enable Task Runners on Scaling mode Workers (no-changelog) (#11253) 2024-10-15 11:03:28 +01:00
Iván Ovejero
c0aa28c6cf fix(core): Override executions mode if regular during worker startup (#11250) 2024-10-14 16:12:41 +02:00
Iván Ovejero
0820cb5ab9 refactor(core): Simplify main pubsub message handler (#11156) 2024-10-11 10:31:33 +02:00
Iván Ovejero
383b4765d2 refactor(core): Simplify worker pubsub message handler (#11086) 2024-10-07 16:19:58 +02:00
Iván Ovejero
d537cea363 test(core): Allow Jest to exit cleanly in worker command test (#11095) 2024-10-04 14:44:53 +02:00
Iván Ovejero
63e6f1fa38 refactor(core): Organize all event maps (#10997) 2024-09-30 10:44:03 +02:00
Iván Ovejero
a6e1064985 test(core): Fix license mock in worker test (#10824) 2024-09-17 08:47:03 +02:00
कारतोफ्फेलस्क्रिप्ट™
25c8a328a8 refactor(core): Move instanceType to InstanceSettings (no-changelog) (#10640) 2024-09-16 13:37:14 +02:00
Tomi Turtiainen
5156313074 refactor(core): Enable import/order eslint rule (#10794) 2024-09-12 19:07:18 +03:00
Cornelius Suermann
a422c5ac7b fix(core): Allow license:clear command to be used for licenses that failed renewal (#10665)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
2024-09-05 16:42:22 +02:00
Iván Ovejero
d7241cfc3a refactor(core): Standardize filename casing for services and Public API (no-changelog) (#10579) 2024-08-28 13:59:27 +02:00
कारतोफ्फेलस्क्रिप्ट™
ab9835126e refactor(core): Use @/databases/ instead of @db/ (no-changelog) (#10573) 2024-08-27 17:24:20 +02:00
Iván Ovejero
fd58a272e1 refactor(core): Standardize filename casing for controllers and databases (no-changelog) (#10564) 2024-08-27 16:44:32 +02:00
Iván Ovejero
96e69ad5f2 refactor(core): Standardize filename casing for environments and eventbus (no-changelog) (#10527) 2024-08-26 11:10:06 +02:00
Iván Ovejero
f667b384c9 refactor(core): Standardize filenames in cli (no-changelog) (#10484)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2024-08-22 11:10:37 +02:00
Iván Ovejero
6b52bebf52 refactor(core): Tear down internal hooks (no-changelog) (#10340) 2024-08-12 10:13:15 +02:00
Iván Ovejero
e31d017bdd refactor(core): Centralize scaling mode (no-changelog) (#9835) 2024-08-07 13:50:46 +02:00
Iván Ovejero
aa0a470dce refactor(core): Clean up event relays (no-changelog) (#10284) 2024-08-02 16:52:49 +02:00
Val
1d5b9836ca fix: Rename LDAP files to include .ee (no-changelog) (#9943) 2024-07-05 09:51:16 +02:00
Iván Ovejero
7c53433191 fix(core): Fix worker logs relay (#9919) 2024-07-03 10:29:25 +02:00
Iván Ovejero
44ea4c73eb refactor: Remove unused lint directives (no-changelog) (#9842) 2024-06-24 12:13:18 +02:00
कारतोफ्फेलस्क्रिप्ट™
2d02c73fbd refactor(core): Refactor cli command tests (no-changelog) (#9731) 2024-06-18 10:50:39 +02:00
Iván Ovejero
797342343f perf(core): Introduce concurrency control for main mode (#9453) 2024-06-12 15:05:43 +02:00
कारतोफ्फेलस्क्रिप्ट™
6ba789aa6d ci: Remove unused WaitTracker mocking (no-changelog) (#9694) 2024-06-11 10:28:52 +02:00
Iván Ovejero
aaa78435b0 refactor(core): Remove event bus channel (no-changelog) (#9663) 2024-06-11 10:02:23 +02:00
Cornelius Suermann
44ecab73d7 feat: Release floating entitlements on license:clear command (no-changelog) (#9603)
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2024-06-07 13:13:31 +02:00
कारतोफ्फेलस्क्रिप्ट™
596990bed7 ci: Fix vulnerable dev dependencies (no-changelog) (#9545) 2024-05-30 13:54:29 +02:00
Csaba Tuncsik
596c472ecc feat: RBAC (#8922)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
Co-authored-by: Val <68596159+valya@users.noreply.github.com>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Valya Bullions <valya@n8n.io>
Co-authored-by: Danny Martini <danny@n8n.io>
Co-authored-by: Danny Martini <despair.blue@gmail.com>
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: oleg <me@olegivaniv.com>
Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: Elias Meire <elias@meire.dev>
Co-authored-by: Giulio Andreini <andreini@netseven.it>
Co-authored-by: Giulio Andreini <g.andreini@gmail.com>
Co-authored-by: Ayato Hayashi <go12limchangyong@gmail.com>
2024-05-17 10:53:15 +02:00
Danny Martini
3eb5be5f5a fix(core): Don't create multiple owners when importing credentials or workflows (#9112) 2024-04-12 17:25:59 +02:00
Iván Ovejero
b8ab049932 refactor(core, editor): Remove legacy nodesAccess (no-changelog) (#9016) 2024-04-05 13:17:34 +02:00
कारतोफ्फेलस्क्रिप्ट™
d6deceacde refactor(core): Remove roleId indirection (no-changelog) (#8413) 2024-01-24 13:38:57 +01:00
Danny Martini
ae06fdeb62 fix(core): Fix update workflow cli command being unable to activate all workflows (#8412)
Co-authored-by: Daniel Schröder <daniel.schroeder@skriptfabrik.com>
2024-01-23 10:59:06 +01:00
कारतोफ्फेलस्क्रिप्ट™
913c8c6b0c feat(core): Upgrade oclif (no-changelog) (#8381) 2024-01-22 18:25:36 +01:00
Iván Ovejero
f35d4fcbd8 refactor(core): Simplify OrchestrationService (no-changelog) (#8364) 2024-01-22 11:16:29 +01:00
Iván Ovejero
f53c482939 perf(core): Improve caching service (#8213)
Story: https://linear.app/n8n/issue/PAY-1188

- Implement Redis hashes on the caching service, based on Micha's work
in #7747, adapted from `node-cache-manager-ioredis-yet`. Optimize
workflow ownership lookups and manual webhook lookups with Redis hashes.
- Simplify the caching service by removing all currently unused methods
and options: `enable`, `disable`, `getCache`, `keys`, `keyValues`,
`refreshFunctionEach`, `refreshFunctionMany`, `refreshTtl`, etc.
- Remove the flag `N8N_CACHE_ENABLED`. Currently some features on
`master` are broken with caching disabled, and test webhooks now rely
entirely on caching, for multi-main setup support. We originally
introduced this flag to protect against excessive memory usage, but
total cache usage is low enough that we decided to drop this setting.
Apparently this flag was also never documented.
- Overall caching service refactor: use generics, reduce branching, add
discriminants for cache kinds for better type safety, type caching
events, improve readability, remove outdated docs, etc. Also refactor
and expand caching service tests.

Follow-up to: https://github.com/n8n-io/n8n/pull/8176

---------

Co-authored-by: Michael Auerswald <michael.auerswald@gmail.com>
2024-01-05 11:52:44 +01:00
Iván Ovejero
53c0b49d15 fix(core): Initialize queue once in queue mode (#8025)
We're initializing the queue twice because of a [bad
merge](2c63474538).
No associated known bugs but no need to init the queue twice. We should
follow up by investigating if any pending bugs can be associated to
this.
2023-12-14 16:16:12 +01:00
Iván Ovejero
4c4082503c feat(core): Coordinate manual workflow activation and deactivation in multi-main scenario (#7643)
Followup to #7566 | Story: https://linear.app/n8n/issue/PAY-926

### Manual workflow activation and deactivation

In a multi-main scenario, if the user manually activates or deactivates
a workflow, the process (whether leader or follower) that handles the
PATCH request and updates its internal state should send a message into
the command channel, so that all other main processes update their
internal state accordingly:

- Add to `ActiveWorkflows` if activating
- Remove from `ActiveWorkflows` if deactivating
- Remove and re-add to `ActiveWorkflows` if the update did not change
activation status.

After updating their internal state, if activating or deactivating, the
recipient main processes should push a message to all connected
frontends so that these can update their stores and so reflect the value
in the UI.

### Workflow activation errors

On failure to activate a workflow, the main instance should record the
error in Redis - main instances should always pull activation errors
from Redis in a multi-main scenario.

### Leadership change

On leadership change...

- The old leader should stop pruning and the new leader should start
pruning.
- The old leader should remove trigger- and poller-based workflows and
the new leader should add them.
2023-11-17 15:58:50 +01:00
कारतोफ्फेलस्क्रिप्ट™
000e76e3b4 ci(core): Reduce memory usage in tests (part-2) (no-changelog) (#7671)
This also gets rid of `Db.collection`, which was another source of
circular dependencies.
2023-11-10 15:04:26 +01:00
कारतोफ्फेलस्क्रिप्ट™
0346b211a7 ci(core): Reduce memory usage in tests (part-1) (no-changelog) (#7654) 2023-11-08 16:29:39 +01:00
कारतोफ्फेलस्क्रिप्ट™
f0fc5b16d3 ci(core): Load config schema after process.env has been overwritten (no-changelog) (#7550) 2023-11-07 15:58:28 +01:00
Iván Ovejero
1c77d6597f refactor(core): Ensure only leader handles licensing in multi-main scenario (#7558)
https://linear.app/n8n/issue/PAY-953/ensure-only-main-instance-leader-handles-licensing
2023-11-02 14:16:22 +01:00
Michael Auerswald
b350568505 fix(core): Fix data decryption on credentials import (#7560)
Due to a change, during the credentials import command, the core's
Credential object is being called through its prototype. This caused the
Credential's cipher variable to not be set, thus no cipher service being
available during import. This fix catches this edge case and provides a
fix.
2023-10-31 13:15:09 +01:00
कारतोफ्फेलस्क्रिप्ट™
05586a900d refactor(core): Make Logger a service (no-changelog) (#7494) 2023-10-25 16:35:22 +02:00
कारतोफ्फेलस्क्रिप्ट™
c5ee06cc61 refactor(core): Refactor nodes loading (no-changelog) (#7283)
fixes PAY-605
2023-10-09 16:09:23 +02:00