mirror of
https://github.com/n8n-io/n8n.git
synced 2025-03-05 20:50:17 -08:00
35 lines
802 B
TypeScript
35 lines
802 B
TypeScript
|
import * as a from 'node:assert/strict';
|
||
|
|
||
|
import { JsTaskRunner } from './code';
|
||
|
import { authenticate } from './authenticator';
|
||
|
|
||
|
let _runner: JsTaskRunner;
|
||
|
|
||
|
type Config = {
|
||
|
n8nUri: string;
|
||
|
authToken: string;
|
||
|
};
|
||
|
|
||
|
function readAndParseConfig(): Config {
|
||
|
const authToken = process.env.N8N_RUNNERS_AUTH_TOKEN;
|
||
|
a.ok(authToken, 'Missing task runner auth token. Use N8N_RUNNERS_AUTH_TOKEN to configure it');
|
||
|
|
||
|
return {
|
||
|
n8nUri: process.env.N8N_RUNNERS_N8N_URI ?? 'localhost:5678',
|
||
|
authToken,
|
||
|
};
|
||
|
}
|
||
|
|
||
|
void (async function start() {
|
||
|
const config = readAndParseConfig();
|
||
|
|
||
|
const grantToken = await authenticate({
|
||
|
authToken: config.authToken,
|
||
|
n8nUri: config.n8nUri,
|
||
|
});
|
||
|
|
||
|
const wsUrl = `ws://${config.n8nUri}/rest/runners/_ws`;
|
||
|
|
||
|
_runner = new JsTaskRunner('javascript', wsUrl, grantToken, 5);
|
||
|
})();
|