@forestadmin/workflow-executor 1.5.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -22,6 +22,7 @@ npm install -g @forestadmin/workflow-executor
22
22
  | `FOREST_AUTH_SECRET` | ✓ | — | JWT signing secret (shared with your agent) |
23
23
  | `AGENT_URL` | ✓ | — | URL of your running Forest Admin agent |
24
24
  | `DATABASE_URL` | ✓* | — | Postgres connection string (*not needed with `--in-memory`) |
25
+ | `DATABASE_SSL` | — | `false` | Set to `true` to connect over TLS (managed databases like RDS often require it). Encrypts without verifying the server certificate. |
25
26
  | `HTTP_PORT` | — | `3400` | Port for the executor HTTP server |
26
27
  | `FOREST_SERVER_URL` | — | `https://api.forestadmin.com` | Orchestrator URL |
27
28
  | `POLLING_INTERVAL_S` | — | `30` | Poll cadence for pending steps |
@@ -10,6 +10,7 @@ export interface CliArgs {
10
10
  export interface CliConfig {
11
11
  executorOptions: ExecutorOptions;
12
12
  databaseUrl?: string;
13
+ databaseSsl: boolean;
13
14
  mode: 'in-memory' | 'database';
14
15
  }
15
16
  export interface CliFactories {
package/dist/cli-core.js CHANGED
@@ -37,6 +37,18 @@ function parseLoggerLevelEnv(raw) {
37
37
  }
38
38
  return parsed.data;
39
39
  }
40
+ const TRUTHY = ['true', '1', 'yes', 'on'];
41
+ const FALSY = ['false', '0', 'no', 'off'];
42
+ function parseBooleanEnv(name, raw) {
43
+ if (!raw)
44
+ return false;
45
+ const value = raw.trim().toLowerCase();
46
+ if (TRUTHY.includes(value))
47
+ return true;
48
+ if (FALSY.includes(value))
49
+ return false;
50
+ throw new errors_1.ConfigurationError(`${name} must be a boolean (true/false); got "${raw}"`);
51
+ }
40
52
  // eslint-disable-next-line @typescript-eslint/no-var-requires, import/no-dynamic-require, global-require
41
53
  const { version } = require('../package.json');
42
54
  const BINARY_NAME = 'forest-workflow-executor';
@@ -133,6 +145,7 @@ function readEnvConfig(env, args) {
133
145
  return {
134
146
  executorOptions,
135
147
  databaseUrl: env.DATABASE_URL,
148
+ databaseSsl: parseBooleanEnv('DATABASE_SSL', env.DATABASE_SSL),
136
149
  mode: args.inMemory ? 'in-memory' : 'database',
137
150
  };
138
151
  }
@@ -155,6 +168,7 @@ Required environment variables:
155
168
  DATABASE_URL Postgres connection string (not needed with --in-memory)
156
169
 
157
170
  Optional environment variables:
171
+ DATABASE_SSL Set to "true" to connect to the database over TLS (managed DBs like RDS)
158
172
  HTTP_PORT Default: ${defaults_1.DEFAULT_HTTP_PORT}
159
173
  FOREST_SERVER_URL Default: ${defaults_1.DEFAULT_FOREST_SERVER_URL}
160
174
  POLLING_INTERVAL_S Default: ${defaults_1.DEFAULT_POLLING_INTERVAL_S}
@@ -179,7 +193,7 @@ function printVersion() {
179
193
  console.log(version);
180
194
  }
181
195
  function logStartup(logger, config) {
182
- const { executorOptions: opts, mode } = config;
196
+ const { executorOptions: opts, mode, databaseSsl } = config;
183
197
  let aiLabel;
184
198
  if (opts.forceAiError) {
185
199
  aiLabel = 'forced-error (dev only)';
@@ -192,6 +206,7 @@ function logStartup(logger, config) {
192
206
  }
193
207
  logger('Info', 'Workflow executor starting', {
194
208
  mode,
209
+ databaseSsl: mode === 'database' ? databaseSsl : undefined,
195
210
  forestServerUrl: opts.forestServerUrl ?? defaults_1.DEFAULT_FOREST_SERVER_URL,
196
211
  agentUrl: opts.agentUrl,
197
212
  httpPort: opts.httpPort,
@@ -222,7 +237,12 @@ async function runCli(argv, env, factories) {
222
237
  else {
223
238
  const databaseOptions = {
224
239
  ...config.executorOptions,
225
- database: { uri: config.databaseUrl },
240
+ database: {
241
+ uri: config.databaseUrl,
242
+ ...(config.databaseSsl && {
243
+ dialectOptions: { ssl: { require: true, rejectUnauthorized: false } },
244
+ }),
245
+ },
226
246
  };
227
247
  executor = factories.buildDatabase(databaseOptions);
228
248
  }
@@ -239,4 +259,4 @@ async function runCli(argv, env, factories) {
239
259
  throw error;
240
260
  }
241
261
  }
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2xpLWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtCQUErQjs7Ozs7QUFpRi9CLDhCQWtDQztBQUlELGdDQVNDO0FBNkJELHNDQXVDQztBQUVELDhCQXNDQztBQUVELG9DQUVDO0FBRUQsZ0NBcUJDO0FBRUQsd0JBa0RDO0FBdFRELDZCQUF3QjtBQUV4QiwrRUFBNEQ7QUFDNUQsNkVBQTBEO0FBTTFELHlDQVVvQjtBQUNwQixxQ0FBbUU7QUFFbkUsTUFBTSxZQUFZLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUN4RCxNQUFNLG1CQUFtQixHQUFHLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBRXZFLFNBQVMsbUJBQW1CLENBQUMsSUFBWSxFQUFFLEdBQXVCO0lBQ2hFLElBQUksQ0FBQyxHQUFHO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFFM0IsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUUzQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSwyQkFBa0IsQ0FBQyxHQUFHLElBQUkscUNBQXFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztBQUNyQixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxHQUF1QjtJQUNsRCxJQUFJLENBQUMsR0FBRztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBRTNCLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFD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
262
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2xpLWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtCQUErQjs7Ozs7QUErRi9CLDhCQWtDQztBQUlELGdDQVNDO0FBNkJELHNDQXdDQztBQUVELDhCQXVDQztBQUVELG9DQUVDO0FBRUQsZ0NBc0JDO0FBRUQsd0JBdURDO0FBNVVELDZCQUF3QjtBQUV4QiwrRUFBNEQ7QUFDNUQsNkVBQTBEO0FBTTFELHlDQVVvQjtBQUNwQixxQ0FBbUU7QUFFbkUsTUFBTSxZQUFZLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUN4RCxNQUFNLG1CQUFtQixHQUFHLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBRXZFLFNBQVMsbUJBQW1CLENBQUMsSUFBWSxFQUFFLEdBQXVCO0lBQ2hFLElBQUksQ0FBQyxHQUFHO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFFM0IsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUUzQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSwyQkFBa0IsQ0FBQyxHQUFHLElBQUkscUNBQXFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztBQUNyQixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxHQUF1QjtJQUNsRCxJQUFJLENBQUMsR0FBRztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBRTNCLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFD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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forestadmin/workflow-executor",
3
- "version": "1.5.1",
3
+ "version": "1.6.0",
4
4
  "main": "dist/index.js",
5
5
  "bin": {
6
6
  "forest-workflow-executor": "dist/cli.js"