@dbos-inc/dbos-sdk 2.8.13-preview → 2.8.18-preview
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/dbos-config.schema.json +0 -4
- package/dist/dbos-config.schema.json +0 -4
- package/dist/schemas/system_db_schema.d.ts +1 -0
- package/dist/schemas/system_db_schema.d.ts.map +1 -1
- package/dist/schemas/user_db_schema.d.ts +1 -0
- package/dist/schemas/user_db_schema.d.ts.map +1 -1
- package/dist/schemas/user_db_schema.js.map +1 -1
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +14 -17
- package/dist/src/client.js.map +1 -1
- package/dist/src/dbos-executor.d.ts +7 -4
- package/dist/src/dbos-executor.d.ts.map +1 -1
- package/dist/src/dbos-executor.js +132 -91
- package/dist/src/dbos-executor.js.map +1 -1
- package/dist/src/dbos-runtime/cli.d.ts.map +1 -1
- package/dist/src/dbos-runtime/cli.js +10 -0
- package/dist/src/dbos-runtime/cli.js.map +1 -1
- package/dist/src/dbos-runtime/config.d.ts +24 -2
- package/dist/src/dbos-runtime/config.d.ts.map +1 -1
- package/dist/src/dbos-runtime/config.js +151 -71
- package/dist/src/dbos-runtime/config.js.map +1 -1
- package/dist/src/dbos-runtime/docker_pg_helper.d.ts +21 -0
- package/dist/src/dbos-runtime/docker_pg_helper.d.ts.map +1 -0
- package/dist/src/dbos-runtime/docker_pg_helper.js +137 -0
- package/dist/src/dbos-runtime/docker_pg_helper.js.map +1 -0
- package/dist/src/dbos-runtime/migrate.d.ts.map +1 -1
- package/dist/src/dbos-runtime/migrate.js +8 -6
- package/dist/src/dbos-runtime/migrate.js.map +1 -1
- package/dist/src/dbos-runtime/runtime.d.ts.map +1 -1
- package/dist/src/dbos-runtime/runtime.js +0 -2
- package/dist/src/dbos-runtime/runtime.js.map +1 -1
- package/dist/src/dbos-runtime/workflow_management.d.ts +5 -4
- package/dist/src/dbos-runtime/workflow_management.d.ts.map +1 -1
- package/dist/src/dbos-runtime/workflow_management.js +14 -16
- package/dist/src/dbos-runtime/workflow_management.js.map +1 -1
- package/dist/src/dbos.d.ts +1 -0
- package/dist/src/dbos.d.ts.map +1 -1
- package/dist/src/dbos.js +41 -22
- package/dist/src/dbos.js.map +1 -1
- package/dist/src/error.d.ts +7 -0
- package/dist/src/error.d.ts.map +1 -1
- package/dist/src/error.js +15 -1
- package/dist/src/error.js.map +1 -1
- package/dist/src/eventreceiver.d.ts +1 -1
- package/dist/src/eventreceiver.d.ts.map +1 -1
- package/dist/src/httpServer/server.d.ts.map +1 -1
- package/dist/src/httpServer/server.js +8 -19
- package/dist/src/httpServer/server.js.map +1 -1
- package/dist/src/system_database.d.ts +84 -53
- package/dist/src/system_database.d.ts.map +1 -1
- package/dist/src/system_database.js +195 -296
- package/dist/src/system_database.js.map +1 -1
- package/dist/src/user_database.d.ts.map +1 -1
- package/dist/src/user_database.js +8 -2
- package/dist/src/user_database.js.map +1 -1
- package/dist/src/workflow.d.ts +3 -2
- package/dist/src/workflow.d.ts.map +1 -1
- package/dist/src/workflow.js +36 -26
- package/dist/src/workflow.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/src/dbos-runtime/db_connection.d.ts +0 -10
- package/dist/src/dbos-runtime/db_connection.d.ts.map +0 -1
- package/dist/src/dbos-runtime/db_connection.js +0 -59
- package/dist/src/dbos-runtime/db_connection.js.map +0 -1
- package/dist/src/dbos-runtime/db_wizard.d.ts +0 -3
- package/dist/src/dbos-runtime/db_wizard.d.ts.map +0 -1
- package/dist/src/dbos-runtime/db_wizard.js +0 -170
- package/dist/src/dbos-runtime/db_wizard.js.map +0 -1
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.overwrite_config = exports.
|
6
|
+
exports.overwrite_config = exports.translatePublicDBOSconfig = exports.parseConfigFile = exports.parseSSLConfig = exports.constructPoolConfig = exports.writeConfigFile = exports.loadConfigFile = exports.substituteEnvVars = exports.dbosConfigFilePath = void 0;
|
7
7
|
const error_1 = require("../error");
|
8
8
|
const utils_1 = require("../utils");
|
9
9
|
const yaml_1 = __importDefault(require("yaml"));
|
@@ -11,11 +11,8 @@ const runtime_1 = require("./runtime");
|
|
11
11
|
const user_database_1 = require("../user_database");
|
12
12
|
const fs_1 = require("fs");
|
13
13
|
const ajv_1 = __importDefault(require("ajv"));
|
14
|
-
const pg_connection_string_1 = require("pg-connection-string");
|
15
14
|
const path_1 = __importDefault(require("path"));
|
16
15
|
const validator_1 = __importDefault(require("validator"));
|
17
|
-
const fs_2 = __importDefault(require("fs"));
|
18
|
-
const db_connection_1 = require("./db_connection");
|
19
16
|
const logs_1 = require("../telemetry/logs");
|
20
17
|
const dbos_config_schema_json_1 = __importDefault(require("../../dbos-config.schema.json"));
|
21
18
|
exports.dbosConfigFilePath = 'dbos-config.yaml';
|
@@ -99,70 +96,177 @@ function retrieveApplicationName(configFile) {
|
|
99
96
|
if (appName !== undefined) {
|
100
97
|
return appName;
|
101
98
|
}
|
102
|
-
const packageJson = JSON.parse(
|
99
|
+
const packageJson = JSON.parse((0, utils_1.readFileSync)(path_1.default.join(process.cwd(), 'package.json')).toString());
|
103
100
|
appName = packageJson.name;
|
104
101
|
if (appName === undefined) {
|
105
102
|
throw new error_1.DBOSInitializationError('Error: cannot find a valid package.json file. Please run this command in an application root directory.');
|
106
103
|
}
|
107
104
|
return appName;
|
108
105
|
}
|
106
|
+
/**
|
107
|
+
* Build a PoolConfig object.
|
108
|
+
*
|
109
|
+
* If configFile.database_url is provided, set it directly in poolConfig.connectionString and backfill the other poolConfig options.
|
110
|
+
* Backfilling allows the rest of the code to access database parameters easily.
|
111
|
+
* We configure the ORMs with the connection string
|
112
|
+
* We still need to extract pool size and connectionTimeoutMillis from the config file and give them manually to the ORMs.
|
113
|
+
*
|
114
|
+
* If configFile.database_url is not provided, we build the connection string from the configFile.database object.
|
115
|
+
*
|
116
|
+
* In debug mode, apply overrides from DBOS_DBHOST, DBOS_DBPORT, DBOS_DBUSER, and DBOS_DBPASSWORD.
|
117
|
+
*
|
118
|
+
* Default configuration:
|
119
|
+
* - Hostname: localhost
|
120
|
+
* - Port: 5432
|
121
|
+
* - Username: postgres
|
122
|
+
* - Password: $PGPASSWORD
|
123
|
+
* - Database name: transformed application name. The name is either the one provided in the config file or the one found in package.json.
|
124
|
+
*
|
125
|
+
* @param configFile - The configuration to be used.
|
126
|
+
* @param cliOptions - Optional CLI options.
|
127
|
+
* @returns PoolConfig - The constructed PoolConfig object.
|
128
|
+
*/
|
109
129
|
function constructPoolConfig(configFile, cliOptions) {
|
110
|
-
//
|
111
|
-
const
|
130
|
+
// FIXME: this is not a good place to set the app name
|
131
|
+
const appName = retrieveApplicationName(configFile);
|
132
|
+
if (utils_1.globalParams.appName === '') {
|
133
|
+
utils_1.globalParams.appName = appName;
|
134
|
+
}
|
135
|
+
const isDebugMode = process.env.DBOS_DEBUG_WORKFLOW_ID !== undefined;
|
112
136
|
if (!cliOptions?.silent) {
|
113
137
|
const logger = new logs_1.GlobalLogger();
|
114
|
-
if (
|
138
|
+
if (isDebugMode) {
|
115
139
|
logger.info('Loading database connection parameters from debug environment variables');
|
116
140
|
}
|
141
|
+
else if (configFile.database_url) {
|
142
|
+
logger.info('Loading database connection parameters from database_url');
|
143
|
+
}
|
117
144
|
else if (configFile.database.hostname) {
|
118
145
|
logger.info('Loading database connection parameters from dbos-config.yaml');
|
119
146
|
}
|
120
|
-
else if (databaseConnection.hostname) {
|
121
|
-
logger.info('Loading database connection parameters from .dbos/db_connection');
|
122
|
-
}
|
123
147
|
else {
|
124
148
|
logger.info('Using default database connection parameters');
|
125
149
|
}
|
126
150
|
}
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
configFile.
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
151
|
+
let connectionString = undefined;
|
152
|
+
let databaseName = undefined;
|
153
|
+
let connectionTimeoutMillis = 3000;
|
154
|
+
// If a database_url is found, parse it to backfill the poolConfig
|
155
|
+
if (configFile.database_url) {
|
156
|
+
const url = new URL(configFile.database_url);
|
157
|
+
// If in debug mode, apply the debug overrides
|
158
|
+
if (isDebugMode) {
|
159
|
+
if (process.env.DBOS_DBHOST) {
|
160
|
+
url.hostname = process.env.DBOS_DBHOST;
|
161
|
+
}
|
162
|
+
if (process.env.DBOS_DBPORT) {
|
163
|
+
url.port = process.env.DBOS_DBPORT;
|
164
|
+
}
|
165
|
+
if (process.env.DBOS_DBUSER) {
|
166
|
+
url.username = process.env.DBOS_DBUSER;
|
167
|
+
}
|
168
|
+
if (process.env.DBOS_DBPASSWORD) {
|
169
|
+
url.password = process.env.DBOS_DBPASSWORD;
|
170
|
+
}
|
171
|
+
configFile.database_url = url.toString();
|
172
|
+
}
|
173
|
+
connectionString = configFile.database_url;
|
174
|
+
databaseName = url.pathname.substring(1);
|
175
|
+
const queryParams = url.searchParams;
|
176
|
+
if (queryParams.has('connect_timeout')) {
|
177
|
+
connectionTimeoutMillis = parseInt(queryParams.get('connect_timeout'), 10) * 1000;
|
178
|
+
}
|
179
|
+
// Validate required fields
|
180
|
+
const missingFields = [];
|
181
|
+
if (!url.username)
|
182
|
+
missingFields.push('username');
|
183
|
+
if (!url.password)
|
184
|
+
missingFields.push('password');
|
185
|
+
if (!url.hostname)
|
186
|
+
missingFields.push('hostname');
|
187
|
+
if (!databaseName)
|
188
|
+
missingFields.push('database name');
|
189
|
+
if (missingFields.length > 0) {
|
190
|
+
throw new Error(`Invalid database URL: missing required field(s): ${missingFields.join(', ')}`);
|
191
|
+
}
|
192
|
+
// Backfill the poolConfig
|
193
|
+
configFile.database = {
|
194
|
+
...configFile.database,
|
195
|
+
hostname: url.hostname,
|
196
|
+
port: url.port ? parseInt(url.port, 10) : 5432,
|
197
|
+
username: url.username,
|
198
|
+
password: url.password,
|
199
|
+
app_db_name: databaseName,
|
200
|
+
};
|
201
|
+
if (!cliOptions?.silent) {
|
202
|
+
const logger = new logs_1.GlobalLogger();
|
203
|
+
let logConnectionString = `postgresql://${configFile.database.username}:***@${configFile.database.hostname}:${configFile.database.port}/${databaseName}`;
|
204
|
+
const logQueryParamsArray = Object.entries(url.searchParams.entries()).map(([key, value]) => `${key}=${value}`);
|
205
|
+
if (logQueryParamsArray.length > 0) {
|
206
|
+
logConnectionString += `?${logQueryParamsArray.join('&')}`;
|
207
|
+
}
|
208
|
+
logger.info(`Using database connection string: ${logConnectionString}`);
|
209
|
+
}
|
146
210
|
}
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
211
|
+
else {
|
212
|
+
// Else, build the config from configFile.database and apply overrides
|
213
|
+
configFile.database.hostname = process.env.DBOS_DBHOST || configFile.database.hostname || 'localhost';
|
214
|
+
const dbos_dbport = process.env.DBOS_DBPORT ? parseInt(process.env.DBOS_DBPORT) : undefined;
|
215
|
+
configFile.database.port = dbos_dbport || configFile.database.port || 5432;
|
216
|
+
configFile.database.username = process.env.DBOS_DBUSER || configFile.database.username || 'postgres';
|
217
|
+
configFile.database.password =
|
218
|
+
process.env.DBOS_DBPASSWORD || configFile.database.password || process.env.PGPASSWORD || 'dbos';
|
219
|
+
connectionTimeoutMillis = configFile.database.connectionTimeoutMillis || 3000;
|
220
|
+
databaseName = configFile.database.app_db_name;
|
221
|
+
// Construct the database name from the application name, if needed
|
222
|
+
if (databaseName === undefined) {
|
223
|
+
databaseName = appName.toLowerCase().replaceAll('-', '_').replaceAll(' ', '_');
|
224
|
+
if (databaseName.match(/^\d/)) {
|
225
|
+
databaseName = '_' + databaseName; // Append an underscore if the name starts with a digit
|
226
|
+
}
|
227
|
+
}
|
228
|
+
connectionString = `postgresql://${configFile.database.username}:${configFile.database.password}@${configFile.database.hostname}:${configFile.database.port}/${databaseName}`;
|
229
|
+
// Build connection string query parameters
|
230
|
+
const queryParams = [];
|
231
|
+
queryParams.push(`connect_timeout=${connectionTimeoutMillis / 1000}`);
|
232
|
+
// SSL configuration
|
233
|
+
const ssl = parseSSLConfig(configFile.database);
|
234
|
+
if (ssl === false) {
|
235
|
+
queryParams.push(`sslmode=disable`);
|
236
|
+
}
|
237
|
+
else if (ssl && 'ca' in ssl) {
|
238
|
+
queryParams.push(`sslmode=verify-full`);
|
239
|
+
queryParams.push(`sslrootcert=${configFile.database.ssl_ca}`);
|
240
|
+
}
|
241
|
+
else {
|
242
|
+
queryParams.push(`sslmode=no-verify`);
|
243
|
+
}
|
244
|
+
if (queryParams.length > 0) {
|
245
|
+
connectionString += `?${queryParams.join('&')}`;
|
246
|
+
}
|
247
|
+
if (!cliOptions?.silent) {
|
248
|
+
const logger = new logs_1.GlobalLogger();
|
249
|
+
let logConnectionString = `postgresql://${configFile.database.username}:***@${configFile.database.hostname}:${configFile.database.port}/${databaseName}`;
|
250
|
+
if (queryParams.length > 0) {
|
251
|
+
logConnectionString += `?${queryParams.join('&')}`;
|
252
|
+
}
|
253
|
+
logger.info(`Using database connection string: ${logConnectionString}`);
|
151
254
|
}
|
152
255
|
}
|
153
|
-
|
256
|
+
// Build the final poolConfig
|
154
257
|
const poolConfig = {
|
258
|
+
connectionString,
|
259
|
+
connectionTimeoutMillis,
|
155
260
|
host: configFile.database.hostname,
|
156
261
|
port: configFile.database.port,
|
157
262
|
user: configFile.database.username,
|
158
263
|
password: configFile.database.password,
|
159
|
-
connectionTimeoutMillis: configFile.database.connectionTimeoutMillis || 3000,
|
160
264
|
database: databaseName,
|
265
|
+
max: cliOptions?.userDbPoolSize || 20,
|
161
266
|
};
|
162
267
|
if (!poolConfig.database) {
|
163
268
|
throw new error_1.DBOSInitializationError(`DBOS configuration (${exports.dbosConfigFilePath}) does not contain application database name`);
|
164
269
|
}
|
165
|
-
poolConfig.ssl = parseSSLConfig(configFile.database);
|
166
270
|
return poolConfig;
|
167
271
|
}
|
168
272
|
exports.constructPoolConfig = constructPoolConfig;
|
@@ -213,18 +317,12 @@ function parseConfigFile(cliOptions) {
|
|
213
317
|
if (!configFile) {
|
214
318
|
throw new error_1.DBOSInitializationError(`DBOS configuration file ${configFilePath} is empty`);
|
215
319
|
}
|
216
|
-
if (configFile.database.local_suffix === true && configFile.database.hostname === 'localhost') {
|
217
|
-
throw new error_1.DBOSInitializationError(`Invalid configuration (${configFilePath}): local_suffix may only be true when connecting to remote databases, not to localhost`);
|
218
|
-
}
|
219
320
|
if (configFile.language && configFile.language !== 'node') {
|
220
321
|
throw new error_1.DBOSInitializationError(`${configFilePath} specifies invalid language ${configFile.language}`);
|
221
322
|
}
|
222
323
|
/*******************************/
|
223
324
|
/* Handle user database config */
|
224
325
|
/*******************************/
|
225
|
-
if (configFile.database_url) {
|
226
|
-
configFile.database = parseDbString(configFile.database_url);
|
227
|
-
}
|
228
326
|
const poolConfig = constructPoolConfig(configFile, cliOptions);
|
229
327
|
if (!isValidDBname(poolConfig.database)) {
|
230
328
|
throw new error_1.DBOSInitializationError(`${configFilePath} specifies invalid app_db_name ${poolConfig.database}. Must be between 3 and 31 characters long and contain only lowercase letters, underscores, and digits (cannot begin with a digit).`);
|
@@ -332,17 +430,13 @@ function translatePublicDBOSconfig(config, isDebugging) {
|
|
332
430
|
}
|
333
431
|
}
|
334
432
|
// Resolve database configuration
|
335
|
-
let dburlConfig = {};
|
336
|
-
if (config.databaseUrl) {
|
337
|
-
dburlConfig = parseDbString(config.databaseUrl);
|
338
|
-
}
|
339
433
|
const poolConfig = constructPoolConfig({
|
340
434
|
name: appName,
|
341
|
-
database:
|
435
|
+
database: {},
|
436
|
+
database_url: config.databaseUrl,
|
342
437
|
application: {},
|
343
438
|
env: {},
|
344
|
-
}, { silent: true });
|
345
|
-
poolConfig.max = config.userDbPoolSize || 20;
|
439
|
+
}, { silent: true, userDbPoolSize: config.userDbPoolSize });
|
346
440
|
const translatedConfig = {
|
347
441
|
name: appName,
|
348
442
|
poolConfig: poolConfig,
|
@@ -371,26 +465,6 @@ function translatePublicDBOSconfig(config, isDebugging) {
|
|
371
465
|
return [translatedConfig, runtimeConfig];
|
372
466
|
}
|
373
467
|
exports.translatePublicDBOSconfig = translatePublicDBOSconfig;
|
374
|
-
function parseDbString(dbString) {
|
375
|
-
const parsed = (0, pg_connection_string_1.parse)(dbString);
|
376
|
-
// pg-connection-string parse query parameters in a way that doesn't match ConnectionOptions (parse return type)
|
377
|
-
// so we resort to the more generic URL() to parse query parameters
|
378
|
-
const url = new URL(dbString);
|
379
|
-
const queryParams = Object.fromEntries(url.searchParams.entries());
|
380
|
-
return {
|
381
|
-
hostname: parsed.host || undefined,
|
382
|
-
port: parsed.port ? parseInt(parsed.port, 10) : undefined,
|
383
|
-
username: parsed.user || undefined,
|
384
|
-
password: parsed.password || undefined,
|
385
|
-
app_db_name: parsed.database || undefined,
|
386
|
-
ssl: 'sslmode' in parsed && (parsed.sslmode === 'require' || parsed.sslmode === 'verify-full'),
|
387
|
-
ssl_ca: queryParams['sslrootcert'] || undefined,
|
388
|
-
connectionTimeoutMillis: queryParams['connect_timeout']
|
389
|
-
? parseInt(queryParams['connect_timeout'], 10) * 1000
|
390
|
-
: undefined,
|
391
|
-
};
|
392
|
-
}
|
393
|
-
exports.parseDbString = parseDbString;
|
394
468
|
function overwrite_config(providedDBOSConfig, providedRuntimeConfig) {
|
395
469
|
// Load the DBOS configuration file and force the use of:
|
396
470
|
// 1. Use the application name from the file. This is a defensive measure to ensure the application name is whatever it was registered with in the cloud
|
@@ -410,6 +484,12 @@ function overwrite_config(providedDBOSConfig, providedRuntimeConfig) {
|
|
410
484
|
}
|
411
485
|
}
|
412
486
|
const appName = configFile.name || providedDBOSConfig.name;
|
487
|
+
if (configFile.database.ssl_ca) {
|
488
|
+
configFile.database_url = `postgresql://${configFile.database.username}:${configFile.database.password}@${configFile.database.hostname}:${configFile.database.port}/${configFile.database.app_db_name}?connect_timeout=3&sslmode=verify-full&sslrootcert=${configFile.database.ssl_ca}`;
|
489
|
+
}
|
490
|
+
else {
|
491
|
+
configFile.database_url = `postgresql://${configFile.database.username}:${configFile.database.password}@${configFile.database.hostname}:${configFile.database.port}/${configFile.database.app_db_name}?connect_timeout=3&sslmode=no-verify`;
|
492
|
+
}
|
413
493
|
const poolConfig = constructPoolConfig(configFile);
|
414
494
|
if (!providedDBOSConfig.telemetry.OTLPExporter) {
|
415
495
|
providedDBOSConfig.telemetry.OTLPExporter = {
|
@@ -430,7 +510,7 @@ function overwrite_config(providedDBOSConfig, providedRuntimeConfig) {
|
|
430
510
|
name: appName,
|
431
511
|
poolConfig: poolConfig,
|
432
512
|
telemetry: providedDBOSConfig.telemetry,
|
433
|
-
system_database: configFile.database.sys_db_name || poolConfig.database + '_dbos_sys', //
|
513
|
+
system_database: configFile.database.sys_db_name || poolConfig.database + '_dbos_sys', // Unexpected, but possible
|
434
514
|
};
|
435
515
|
const overwriteDBOSRuntimeConfig = {
|
436
516
|
admin_port: 3001,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dbos-runtime/config.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dbos-runtime/config.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/**
|
2
|
+
* Starts a PostgreSQL database in a Docker container.
|
3
|
+
*
|
4
|
+
* This function checks if Docker is installed, and if so, starts a local PostgreSQL database in a Docker container.
|
5
|
+
* It configures the database with default settings and provides connection information upon successful startup.
|
6
|
+
*
|
7
|
+
* The function uses environment variable PGPASSWORD if available, otherwise defaults to 'dbos' as the database password.
|
8
|
+
*
|
9
|
+
* @returns null
|
10
|
+
*
|
11
|
+
* @throws {Error} If there is an error starting the Docker container or if the PostgreSQL service does not become available within the timeout period
|
12
|
+
*/
|
13
|
+
export declare function startDockerPg(): Promise<void>;
|
14
|
+
/**
|
15
|
+
* Stops the Docker Postgres container.
|
16
|
+
*
|
17
|
+
* @returns {Promise<boolean>} True if the container was successfully stopped, false if it wasn't running
|
18
|
+
* @throws {Error} If there was an error stopping the container
|
19
|
+
*/
|
20
|
+
export declare function stopDockerPg(): Promise<boolean>;
|
21
|
+
//# sourceMappingURL=docker_pg_helper.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"docker_pg_helper.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/docker_pg_helper.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;GAWG;AAEH,wBAAsB,aAAa,kBAuBlC;AAqED;;;;;GAKG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CA+BrD"}
|
@@ -0,0 +1,137 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.stopDockerPg = exports.startDockerPg = void 0;
|
4
|
+
const pg_1 = require("pg");
|
5
|
+
const utils_1 = require("../utils");
|
6
|
+
const cloudutils_1 = require("./cloudutils/cloudutils");
|
7
|
+
const util_1 = require("util");
|
8
|
+
const child_process_1 = require("child_process");
|
9
|
+
/**
|
10
|
+
* Starts a PostgreSQL database in a Docker container.
|
11
|
+
*
|
12
|
+
* This function checks if Docker is installed, and if so, starts a local PostgreSQL database in a Docker container.
|
13
|
+
* It configures the database with default settings and provides connection information upon successful startup.
|
14
|
+
*
|
15
|
+
* The function uses environment variable PGPASSWORD if available, otherwise defaults to 'dbos' as the database password.
|
16
|
+
*
|
17
|
+
* @returns null
|
18
|
+
*
|
19
|
+
* @throws {Error} If there is an error starting the Docker container or if the PostgreSQL service does not become available within the timeout period
|
20
|
+
*/
|
21
|
+
async function startDockerPg() {
|
22
|
+
const logger = (0, cloudutils_1.getLogger)();
|
23
|
+
logger.info('Attempting to create a Docker Postgres container...');
|
24
|
+
const hasDocker = await checkDockerInstalled();
|
25
|
+
const poolConfig = {
|
26
|
+
host: 'localhost',
|
27
|
+
port: 5432,
|
28
|
+
password: process.env.PGPASSWORD || 'dbos',
|
29
|
+
user: 'postgres',
|
30
|
+
database: 'postgres',
|
31
|
+
connectionTimeoutMillis: 2000,
|
32
|
+
};
|
33
|
+
if (hasDocker) {
|
34
|
+
await startDockerPostgres(logger, poolConfig);
|
35
|
+
logger.info(`Postgres available at postgres://postgres:${poolConfig.password}@${poolConfig.host}:${poolConfig.port}`);
|
36
|
+
}
|
37
|
+
else {
|
38
|
+
logger.warn('Docker not detected locally');
|
39
|
+
}
|
40
|
+
}
|
41
|
+
exports.startDockerPg = startDockerPg;
|
42
|
+
async function checkDbConnectivity(config) {
|
43
|
+
const pool = new pg_1.Pool(config);
|
44
|
+
try {
|
45
|
+
const client = await pool.connect();
|
46
|
+
try {
|
47
|
+
await client.query('SELECT 1;');
|
48
|
+
return null;
|
49
|
+
}
|
50
|
+
catch (error) {
|
51
|
+
return error instanceof Error ? error : new Error('Unknown database error');
|
52
|
+
}
|
53
|
+
finally {
|
54
|
+
client.release();
|
55
|
+
}
|
56
|
+
}
|
57
|
+
catch (error) {
|
58
|
+
return error instanceof Error ? error : new Error('Failed to connect to database');
|
59
|
+
}
|
60
|
+
finally {
|
61
|
+
// End the pool
|
62
|
+
await pool.end();
|
63
|
+
}
|
64
|
+
}
|
65
|
+
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
66
|
+
async function startDockerPostgres(logger, poolConfig) {
|
67
|
+
logger.info('Starting a Postgres Docker container...');
|
68
|
+
const containerName = 'dbos-db';
|
69
|
+
const pgData = '/var/lib/postgresql/data';
|
70
|
+
// Create and start the container
|
71
|
+
const dockerCmd = `docker run -d \
|
72
|
+
--name ${containerName} \
|
73
|
+
-e POSTGRES_PASSWORD=${poolConfig.password} \
|
74
|
+
-e PGDATA=${pgData} \
|
75
|
+
-p ${poolConfig.port}:5432 \
|
76
|
+
-v ${pgData}:${pgData}:rw \
|
77
|
+
--rm \
|
78
|
+
pgvector/pgvector:pg16`;
|
79
|
+
await execAsync(dockerCmd);
|
80
|
+
// Wait for PostgreSQL to be ready
|
81
|
+
let attempts = 30;
|
82
|
+
while (attempts > 0) {
|
83
|
+
if (attempts % 5 === 0) {
|
84
|
+
logger.info('Waiting for Postgres Docker container to start...');
|
85
|
+
}
|
86
|
+
if ((await checkDbConnectivity(poolConfig)) === null) {
|
87
|
+
return true;
|
88
|
+
}
|
89
|
+
attempts--;
|
90
|
+
await (0, utils_1.sleepms)(1000);
|
91
|
+
}
|
92
|
+
throw new Error(`Failed to start Docker container: Container ${containerName} did not start in time.`);
|
93
|
+
}
|
94
|
+
async function checkDockerInstalled() {
|
95
|
+
try {
|
96
|
+
await execAsync('docker --version');
|
97
|
+
return true;
|
98
|
+
}
|
99
|
+
catch (error) {
|
100
|
+
return false;
|
101
|
+
}
|
102
|
+
}
|
103
|
+
/**
|
104
|
+
* Stops the Docker Postgres container.
|
105
|
+
*
|
106
|
+
* @returns {Promise<boolean>} True if the container was successfully stopped, false if it wasn't running
|
107
|
+
* @throws {Error} If there was an error stopping the container
|
108
|
+
*/
|
109
|
+
async function stopDockerPg() {
|
110
|
+
const logger = (0, cloudutils_1.getLogger)();
|
111
|
+
const containerName = 'dbos-db';
|
112
|
+
try {
|
113
|
+
logger.info(`Stopping Docker Postgres container ${containerName}...`);
|
114
|
+
// Check if container exists and is running
|
115
|
+
const { stdout: containerStatus } = await execAsync(`docker ps -a -f name=${containerName} --format "{{.Status}}"`);
|
116
|
+
if (!containerStatus) {
|
117
|
+
logger.info(`Container ${containerName} does not exist.`);
|
118
|
+
return false;
|
119
|
+
}
|
120
|
+
const isRunning = containerStatus.toLowerCase().includes('up');
|
121
|
+
if (!isRunning) {
|
122
|
+
logger.info(`Container ${containerName} exists but is not running.`);
|
123
|
+
return false;
|
124
|
+
}
|
125
|
+
// Stop the container
|
126
|
+
await execAsync(`docker stop ${containerName}`);
|
127
|
+
logger.info(`Successfully stopped Docker Postgres container ${containerName}.`);
|
128
|
+
return true;
|
129
|
+
}
|
130
|
+
catch (error) {
|
131
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
132
|
+
logger.error(`Failed to stop Docker Postgres container: ${errorMessage}`);
|
133
|
+
throw error;
|
134
|
+
}
|
135
|
+
}
|
136
|
+
exports.stopDockerPg = stopDockerPg;
|
137
|
+
//# sourceMappingURL=docker_pg_helper.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"docker_pg_helper.js","sourceRoot":"","sources":["../../../src/dbos-runtime/docker_pg_helper.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/migrate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/migrate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAiBtD,wBAAsB,OAAO,CAAC,MAAM,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,kBAgCrG;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,SAqB1G"}
|
@@ -7,9 +7,8 @@ const pg_1 = require("pg");
|
|
7
7
|
const user_db_schema_1 = require("../../schemas/user_db_schema");
|
8
8
|
const system_database_1 = require("../system_database");
|
9
9
|
const user_database_1 = require("../user_database");
|
10
|
-
const db_wizard_1 = require("./db_wizard");
|
11
10
|
async function migrate(config, configFile, logger) {
|
12
|
-
const poolConfig =
|
11
|
+
const poolConfig = config.poolConfig;
|
13
12
|
logger.info(`Starting migration: creating database ${poolConfig.database} if it does not exist`);
|
14
13
|
await (0, user_database_1.createDBIfDoesNotExist)(poolConfig, logger);
|
15
14
|
const migrationCommands = configFile.database.migrate;
|
@@ -65,8 +64,11 @@ exports.rollbackMigration = rollbackMigration;
|
|
65
64
|
// Create DBOS system DB and tables.
|
66
65
|
async function createDBOSTables(systemDbName, userPoolConfig) {
|
67
66
|
const logger = new logs_1.GlobalLogger();
|
68
|
-
const
|
69
|
-
|
67
|
+
const sysDbConnectionString = new URL(userPoolConfig.connectionString);
|
68
|
+
sysDbConnectionString.pathname = `/${systemDbName}`;
|
69
|
+
const systemPoolConfig = {
|
70
|
+
connectionString: sysDbConnectionString.toString(),
|
71
|
+
};
|
70
72
|
const pgUserClient = new pg_1.Client(userPoolConfig);
|
71
73
|
await pgUserClient.connect();
|
72
74
|
// Create DBOS table/schema in user DB.
|
@@ -90,9 +92,9 @@ async function createDBOSTables(systemDbName, userPoolConfig) {
|
|
90
92
|
await pgUserClient.query(user_db_schema_1.userDBIndex);
|
91
93
|
}
|
92
94
|
// Create the DBOS system database.
|
93
|
-
const dbExists = await pgUserClient.query(`SELECT EXISTS (SELECT FROM pg_database WHERE datname = '${
|
95
|
+
const dbExists = await pgUserClient.query(`SELECT EXISTS (SELECT FROM pg_database WHERE datname = '${systemDbName}')`);
|
94
96
|
if (!dbExists.rows[0].exists) {
|
95
|
-
await pgUserClient.query(`CREATE DATABASE ${
|
97
|
+
await pgUserClient.query(`CREATE DATABASE ${systemDbName}`);
|
96
98
|
}
|
97
99
|
// Load the DBOS system schema.
|
98
100
|
const pgSystemClient = new pg_1.Client(systemPoolConfig);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/dbos-runtime/migrate.ts"],"names":[],"mappings":";;;AAAA,iDAA2D;AAC3D,4CAAiD;AAGjD,2BAAwC;AACxC,iEAMsC;AACtC,wDAA2E;AAC3E,oDAK0B;
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/dbos-runtime/migrate.ts"],"names":[],"mappings":"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"}
|