@platforma-sdk/bootstrap 1.21.1 → 1.22.1

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/dist/core.js CHANGED
@@ -56,7 +56,7 @@ class Core {
56
56
  ...options.configOptions,
57
57
  storages: {
58
58
  ...options.configOptions?.storages,
59
- primary: plCfg.storageSettingsFromURL(options.primaryURL, workdir, options.minioPort)
59
+ primary: plCfg.storageSettingsFromURL(options.primaryURL, workdir, options.configOptions?.storages?.primary)
60
60
  }
61
61
  };
62
62
  }
@@ -65,7 +65,7 @@ class Core {
65
65
  ...options.configOptions,
66
66
  storages: {
67
67
  ...options.configOptions?.storages,
68
- library: plCfg.storageSettingsFromURL(options.libraryURL, workdir, options.minioPort)
68
+ library: plCfg.storageSettingsFromURL(options.libraryURL, workdir, options.configOptions?.storages?.library)
69
69
  }
70
70
  };
71
71
  }
@@ -103,11 +103,39 @@ class Core {
103
103
  }
104
104
  }
105
105
  if (!configPath) {
106
- configPath = state_1.default.path('config-lastrun.yaml');
106
+ configPath = state_1.default.path('config-local.yaml');
107
107
  this.logger.debug(` rendering configuration '${configPath}'...`);
108
108
  fs_1.default.writeFileSync(configPath, plCfg.render(configOptions));
109
109
  }
110
- this.logger.debug(` starting platforma service...`);
110
+ var configReport = [];
111
+ const column = (t) => t.padStart(10, ' ');
112
+ configReport.push(`${column('config')}: ${configPath}`);
113
+ configReport.push(`${column('API')}: ${configOptions.grpc.listen}`);
114
+ configReport.push(`${column('log')}: ${configOptions.log.path}`);
115
+ const primaryType = configOptions.storages.primary.type;
116
+ switch (primaryType) {
117
+ case 'FS':
118
+ configReport.push(`${column('primary')}: ${configOptions.storages.primary.rootPath}`);
119
+ break;
120
+ case 'S3':
121
+ configReport.push(`${column('primary')}: S3 at '${configOptions.storages.primary.endpoint ?? 'AWS'}', bucket '${configOptions.storages.primary.bucketName}', prefix: '${configOptions.storages.primary.keyPrefix}'`);
122
+ break;
123
+ default:
124
+ util.assertNever(primaryType);
125
+ }
126
+ const libraryType = configOptions.storages.library.type;
127
+ switch (libraryType) {
128
+ case 'FS':
129
+ configReport.push(`${column('library')}: ${configOptions.storages.library.rootPath}`);
130
+ break;
131
+ case 'S3':
132
+ configReport.push(`${column('library')}: S3 at '${configOptions.storages.library.endpoint ?? 'AWS'}', bucket '${configOptions.storages.library.bucketName}', prefix: '${configOptions.storages.library.keyPrefix}'`);
133
+ break;
134
+ default:
135
+ util.assertNever(libraryType);
136
+ }
137
+ configReport.push(`${column('workdirs')}: ${configOptions.storages.work.rootPath}`);
138
+ this.logger.info(`Starting platforma:\n${configReport.join('\n')}`);
111
139
  return run.runProcess(this.logger, cmd, ['-config', configPath], {
112
140
  cwd: workdir,
113
141
  stdio: 'inherit'
@@ -115,62 +143,47 @@ class Core {
115
143
  storagePath: configOptions.localRoot
116
144
  });
117
145
  }
118
- startLocalFS(options) {
119
- this.logger.debug("starting platforma in 'local fs' mode...");
120
- return this.startLocal(options);
121
- }
122
146
  startLocalS3(options) {
123
147
  this.logger.debug("starting platforma in 'local s3' mode...");
124
- if (!options?.libraryURL || !options?.primaryURL) {
125
- this.startMinio(options);
126
- }
127
148
  const minioPort = options?.minioPort ?? 9000;
128
- if (!options?.primaryURL) {
129
- options = {
130
- ...options,
131
- primaryURL: `s3e://testuser:testpassword@localhost:${minioPort}/main-bucket/?region=fake-region`
132
- };
133
- }
134
- if (!options?.libraryURL) {
135
- options = {
136
- ...options,
137
- libraryURL: `s3e://testuser:testpassword@localhost:${minioPort}/library-bucket/?region=fake-region`
138
- };
139
- }
140
- return this.startLocal(options);
149
+ const localRoot = options?.configOptions?.localRoot;
150
+ this.startMinio({
151
+ minioPort: minioPort,
152
+ minioConsolePort: options?.minioConsolePort,
153
+ storage: localRoot ? path_1.default.join(localRoot, 'minio') : undefined
154
+ });
155
+ return this.startLocal({
156
+ ...options,
157
+ primaryURL: options?.primaryURL ?? `s3e://testuser:testpassword@localhost:${minioPort}/main-bucket/?region=no-region`,
158
+ libraryURL: options?.libraryURL ?? `s3e://testuser:testpassword@localhost:${minioPort}/library-bucket/?region=no-region`
159
+ });
141
160
  }
142
161
  startMinio(options) {
143
162
  this.logger.debug(' starting minio...');
144
- var composeMinioSrc = pkg.assets('compose-minio.yaml');
145
- var composeMinioDst = state_1.default.path('compose-minio.yaml');
163
+ var composeMinio = pkg.assets('compose-backend.yaml');
146
164
  const version = options?.version ? `:${options.version}` : '';
147
165
  this.logger.debug(` minio version: ${version}`);
148
166
  const image = options?.image ?? `quay.io/minio/minio${version}`;
149
167
  this.logger.debug(` minio image: ${image}`);
150
- const storage = options?.storage;
168
+ const storage = options?.storage ?? state_1.default.path('data', 'minio');
169
+ const stubStorage = state_1.default.path('data', 'stub');
151
170
  const minioPort = options?.minioPort ?? 9000;
152
171
  const minioConsolePort = options?.minioConsolePort ?? 9001;
153
172
  const envs = {
154
173
  MINIO_IMAGE: image,
155
- MINIO_STORAGE: '',
174
+ MINIO_STORAGE: path_1.default.resolve(storage),
156
175
  MINIO_PORT: minioPort.toString(),
157
- MINIO_CONSOLE_PORT: minioConsolePort.toString()
176
+ MINIO_CONSOLE_PORT: minioConsolePort.toString(),
177
+ PL_DATA_DB_ROOT: stubStorage,
178
+ PL_DATA_PRIMARY_ROOT: stubStorage,
179
+ PL_DATA_LIBRARY_ROOT: stubStorage,
180
+ PL_DATA_WORKDIR_ROOT: stubStorage,
181
+ PL_DATA_PACKAGE_ROOT: stubStorage,
182
+ PL_IMAGE: 'scratch'
158
183
  };
159
- const compose = this.readComposeFile(composeMinioSrc);
160
- if (storage) {
161
- const storagePath = path_1.default.resolve(storage);
162
- this.logger.debug(` creating minio storage persistent directory '${storagePath}'...`);
163
- fs_1.default.mkdirSync(storagePath, { recursive: true });
164
- envs['MINIO_STORAGE'] = storagePath;
165
- }
166
- else {
167
- this.logger.debug(` configuring minio to have temporary storage...`);
168
- compose.volumes.storage = null;
169
- }
170
- this.logger.debug(` rendering minio docker compose '${composeMinioDst}'...`);
171
- this.writeComposeFile(composeMinioDst, compose);
184
+ const compose = this.readComposeFile(composeMinio);
172
185
  this.logger.debug(` spawning child 'docker' process...`);
173
- const result = (0, child_process_1.spawnSync)('docker', ['compose', `--file=${composeMinioDst}`, 'up', '--detach', '--remove-orphans', '--pull=missing'], {
186
+ const result = (0, child_process_1.spawnSync)('docker', ['compose', `--file=${composeMinio}`, 'up', '--detach', '--remove-orphans', '--pull=missing', 'minio'], {
174
187
  env: {
175
188
  ...process.env,
176
189
  ...envs
@@ -192,15 +205,46 @@ class Core {
192
205
  checkRunError(result, "failed to build platforma binary from sources using 'go build' command");
193
206
  return binPath;
194
207
  }
195
- startDockerS3(options) {
196
- const composeS3Path = pkg.assets('compose-s3.yaml');
208
+ startDockerS3(localRoot, options) {
209
+ const composeS3Path = pkg.assets('compose-backend.yaml');
197
210
  const image = options?.image ?? pkg.plImageTag(options?.version);
198
211
  this.checkLicense(options?.license, options?.licenseFile);
212
+ const storagePath = (s) => path_1.default.join(localRoot, s);
213
+ const logFilePath = storagePath('platforma.log');
214
+ if (!fs_1.default.existsSync(logFilePath)) {
215
+ fs_1.default.mkdirSync(path_1.default.dirname(logFilePath), { recursive: true });
216
+ fs_1.default.writeFileSync(logFilePath, '');
217
+ }
218
+ const primary = plCfg.storageSettingsFromURL('s3e://testuser:testpassword@minio:9000/main-bucket');
219
+ if (primary.type !== 'S3') {
220
+ throw new Error("primary storage must have 'S3' type in 'docker s3' configuration");
221
+ }
222
+ else {
223
+ primary.presignEndpoint = 'http://localhost:9000';
224
+ }
225
+ const library = plCfg.storageSettingsFromURL('s3e://testuser:testpassword@minio:9000/library-bucket');
226
+ if (library.type !== 'S3') {
227
+ throw new Error(`${library.type} storage type is not supported for library storage`);
228
+ }
229
+ else {
230
+ library.presignEndpoint = 'http://localhost:9000';
231
+ }
199
232
  const envs = {
233
+ MINIO_IMAGE: 'quay.io/minio/minio',
234
+ MINIO_STORAGE: storagePath('minio'),
200
235
  PL_IMAGE: image,
201
236
  PL_AUTH_HTPASSWD_PATH: pkg.assets('users.htpasswd'),
202
237
  PL_LICENSE: options?.license,
203
- PL_LICENSE_FILE: options?.licenseFile
238
+ PL_LICENSE_FILE: options?.licenseFile,
239
+ PL_LOG_LEVEL: 'info',
240
+ PL_LOG_FILE: logFilePath,
241
+ PL_DATA_DB_ROOT: storagePath('db'),
242
+ PL_DATA_PRIMARY_ROOT: storagePath('primary'),
243
+ PL_DATA_LIBRARY_ROOT: storagePath('library'),
244
+ PL_DATA_WORKDIR_ROOT: storagePath('work'),
245
+ PL_DATA_PACKAGE_ROOT: storagePath('packages'),
246
+ ...this.configureDockerStorage('primary', primary),
247
+ ...this.configureDockerStorage('library', library)
204
248
  };
205
249
  if (options?.['grpc-port'] != undefined)
206
250
  envs.PL_GRPC_PORT = options['grpc-port'].toString();
@@ -222,47 +266,16 @@ class Core {
222
266
  envs['PL_AUTH_DRIVERS'] = JSON.stringify(options.auth.drivers);
223
267
  }
224
268
  }
225
- if (options?.primaryURL) {
226
- const primary = plCfg.storageSettingsFromURL(options.primaryURL, '.');
227
- if (primary.type === 'S3') {
228
- envs['PL_DATA_PRIMARY_S3_BUCKET'] = primary.bucketName;
229
- if (primary.endpoint)
230
- envs['PL_DATA_PRIMARY_S3_ENDPOINT'] = primary.endpoint;
231
- if (primary.presignEndpoint)
232
- envs['PL_DATA_PRIMARY_S3_PRESIGN_ENDPOINT'] = primary.presignEndpoint;
233
- if (primary.key)
234
- envs['PL_DATA_PRIMARY_S3_KEY'] = primary.key;
235
- if (primary.secret)
236
- envs['PL_DATA_PRIMARY_S3_SECRET'] = primary.secret;
237
- if (primary.region)
238
- envs['PL_DATA_PRIMARY_S3_REGION'] = primary.region;
239
- }
240
- else {
241
- throw new Error("primary storage must have 'S3' type in 'docker s3' configuration");
242
- }
243
- }
244
- if (options?.libraryURL) {
245
- const library = plCfg.storageSettingsFromURL(options.libraryURL, '.');
246
- switch (library.type) {
247
- case 'S3':
248
- envs['PL_DATA_PRIMARY_TYPE'] = 'S3';
249
- envs['PL_DATA_LIBRARY_S3_BUCKET'] = library.bucketName;
250
- if (library.endpoint)
251
- envs['PL_DATA_LIBRARY_S3_ENDPOINT'] = library.endpoint;
252
- if (library.presignEndpoint)
253
- envs['PL_DATA_LIBRARY_S3_PRESIGN_ENDPOINT'] = library.presignEndpoint;
254
- if (library.key)
255
- envs['PL_DATA_LIBRARY_S3_KEY'] = library.key;
256
- if (library.secret)
257
- envs['PL_DATA_LIBRARY_S3_SECRET'] = library.secret;
258
- if (library.region)
259
- envs['PL_DATA_LIBRARY_S3_REGION'] = library.region;
260
- break;
261
- default:
262
- throw new Error(`${library.type} storage type is not supported for library storage`);
263
- }
264
- }
265
- const result = run.runDocker(this.logger, ['compose', `--file=${composeS3Path}`, 'up', '--detach', '--remove-orphans', '--pull=missing', 'backend'], {
269
+ const result = run.runDocker(this.logger, [
270
+ 'compose',
271
+ `--file=${composeS3Path}`,
272
+ 'up',
273
+ '--detach',
274
+ '--remove-orphans',
275
+ '--pull=missing',
276
+ 'minio',
277
+ 'backend'
278
+ ], {
266
279
  env: envs,
267
280
  stdio: 'inherit'
268
281
  }, {
@@ -272,21 +285,30 @@ class Core {
272
285
  checkRunError(result, 'failed to start Platforma Backend in Docker');
273
286
  state_1.default.isActive = true;
274
287
  }
275
- startDockerFS(options) {
276
- var composeFSPath = pkg.assets('compose-fs.yaml');
277
- var composeRunPath = state_1.default.path('compose-fs.yaml');
288
+ startDocker(localRoot, options) {
289
+ var composeFSPath = pkg.assets('compose-backend.yaml');
278
290
  const image = options?.image ?? pkg.plImageTag(options?.version);
279
- const primaryStorage = options?.primaryStorage ?? state_1.default.lastRun?.docker?.primaryPath;
280
- const workStorage = options?.workStorage ?? state_1.default.lastRun?.docker?.workPath;
281
- const libraryStorage = options?.libraryStorage ?? state_1.default.lastRun?.docker?.libraryPath;
282
291
  this.checkLicense(options?.license, options?.licenseFile);
283
- this.checkVolumeConfig('primary', primaryStorage, state_1.default.lastRun?.docker?.primaryPath);
284
- this.checkVolumeConfig('library', libraryStorage, state_1.default.lastRun?.docker?.libraryPath);
292
+ const storagePath = (s) => path_1.default.join(localRoot, s);
293
+ const primaryFSPath = storagePath('primary');
294
+ const workFSPath = storagePath('work');
295
+ const libraryFSPath = storagePath('library');
296
+ const primary = plCfg.storageSettingsFromURL(options?.primaryStorageURL ?? `file:.`, '.');
297
+ const library = plCfg.storageSettingsFromURL(options?.libraryStorageURL ?? `file:.`, '.');
285
298
  const envs = {
299
+ MINIO_IMAGE: 'quay.io/minio/minio',
300
+ MINIO_STORAGE: storagePath('minio'),
286
301
  PL_IMAGE: image,
287
302
  PL_AUTH_HTPASSWD_PATH: pkg.assets('users.htpasswd'),
288
303
  PL_LICENSE: options?.license,
289
- PL_LICENSE_FILE: options?.licenseFile
304
+ PL_LICENSE_FILE: options?.licenseFile,
305
+ PL_DATA_DB_ROOT: storagePath('db'),
306
+ PL_DATA_PRIMARY_ROOT: primaryFSPath,
307
+ PL_DATA_LIBRARY_ROOT: libraryFSPath,
308
+ PL_DATA_WORKDIR_ROOT: storagePath('work'),
309
+ PL_DATA_PACKAGE_ROOT: storagePath('packages'),
310
+ ...this.configureDockerStorage('primary', primary),
311
+ ...this.configureDockerStorage('library', library)
290
312
  };
291
313
  if (options?.['grpc-port'] != undefined)
292
314
  envs.PL_GRPC_PORT = options['grpc-port'].toString();
@@ -309,36 +331,15 @@ class Core {
309
331
  envs['PL_AUTH_DRIVERS'] = JSON.stringify(options.auth.drivers);
310
332
  }
311
333
  }
312
- if (primaryStorage) {
313
- fs_1.default.mkdirSync(path_1.default.resolve(primaryStorage), { recursive: true });
314
- envs['PL_STORAGE_PRIMARY'] = path_1.default.resolve(primaryStorage);
315
- }
316
- else {
317
- compose.volumes.primary = null;
318
- }
319
- if (workStorage) {
320
- fs_1.default.mkdirSync(path_1.default.resolve(workStorage), { recursive: true });
321
- envs['PL_STORAGE_PRIMARY'] = path_1.default.resolve(workStorage);
322
- }
323
- else {
324
- compose.volumes.work = null;
325
- }
326
- if (libraryStorage) {
327
- envs['PL_STORAGE_LIBRARY'] = path_1.default.resolve(libraryStorage);
328
- }
329
- else {
330
- compose.volumes.library = null;
331
- }
332
- this.writeComposeFile(composeRunPath, compose);
333
334
  const result = run.runDocker(this.logger, ['compose', `--file=${composeFSPath}`, 'up', '--detach', '--remove-orphans', '--pull=missing', 'backend'], {
334
335
  env: envs,
335
336
  stdio: 'inherit'
336
337
  }, {
337
338
  plImage: image,
338
339
  composePath: composeFSPath,
339
- primaryPath: primaryStorage ? path_1.default.resolve(primaryStorage) : '',
340
- workPath: workStorage ? path_1.default.resolve(workStorage) : '',
341
- libraryPath: libraryStorage ? path_1.default.resolve(libraryStorage) : ''
340
+ primaryPath: primaryFSPath,
341
+ workPath: workFSPath,
342
+ libraryPath: libraryFSPath
342
343
  });
343
344
  checkRunError(result, 'failed to start Platforma Backend in Docker');
344
345
  state_1.default.isActive = true;
@@ -375,7 +376,7 @@ class Core {
375
376
  "last command run cache ('pl-service start' shorthand will stop working until next full start command call)",
376
377
  `'platforma' docker compose service containers and volumes`
377
378
  ];
378
- const dirsToRemove = [];
379
+ const dirsToRemove = [state_1.default.path('data')];
379
380
  if (state_1.default.lastRun?.docker?.primaryPath) {
380
381
  dirsToRemove.push(state_1.default.lastRun.docker.primaryPath);
381
382
  }
@@ -468,16 +469,18 @@ ${storageWarns}
468
469
  return lastJwt;
469
470
  }
470
471
  destroyDocker(composePath, image) {
472
+ const stubStoragePath = state_1.default.path('data', 'stub');
471
473
  const result = (0, child_process_1.spawnSync)('docker', ['compose', '--file', composePath, 'down', '--volumes', '--remove-orphans'], {
472
474
  env: {
473
475
  ...process.env,
474
476
  PL_IMAGE: 'scratch',
475
- PL_STORAGE_PRIMARY: '',
476
- PL_STORAGE_WORK: '',
477
- PL_STORAGE_LIBRARY: '',
478
- PL_AUTH_HTPASSWD_PATH: '.',
477
+ PL_DATA_DB_ROOT: stubStoragePath,
478
+ PL_DATA_PRIMARY_ROOT: stubStoragePath,
479
+ PL_DATA_LIBRARY_ROOT: stubStoragePath,
480
+ PL_DATA_WORKDIR_ROOT: stubStoragePath,
481
+ PL_DATA_PACKAGE_ROOT: stubStoragePath,
479
482
  MINIO_IMAGE: 'scratch',
480
- MINIO_STORAGE: ''
483
+ MINIO_STORAGE: stubStoragePath
481
484
  },
482
485
  stdio: 'inherit'
483
486
  });
@@ -502,22 +505,32 @@ or stored in '$HOME/.pl.license'.
502
505
  You can obtain the license from "https://licensing.milaboratories.com".`);
503
506
  throw new Error(`The license was not provided.`);
504
507
  }
505
- checkVolumeConfig(volumeID, newPath, lastRunPath) {
506
- if (newPath === undefined) {
507
- return;
508
- }
509
- if (lastRunPath === undefined) {
510
- return;
511
- }
512
- if (path_1.default.resolve(newPath) == path_1.default.resolve(lastRunPath)) {
513
- return;
508
+ configureDockerStorage(storageID, storage) {
509
+ const envs = {};
510
+ const sType = storage.type;
511
+ storageID = storageID.toUpperCase();
512
+ switch (sType) {
513
+ case 'S3':
514
+ envs[`PL_DATA_${storageID}_TYPE`] = 'S3';
515
+ envs[`PL_DATA_${storageID}_S3_BUCKET`] = storage.bucketName;
516
+ if (storage.endpoint)
517
+ envs[`PL_DATA_${storageID}_S3_ENDPOINT`] = storage.endpoint;
518
+ if (storage.presignEndpoint)
519
+ envs[`PL_DATA_${storageID}_S3_PRESIGN_ENDPOINT`] = storage.presignEndpoint;
520
+ if (storage.region)
521
+ envs[`PL_DATA_${storageID}_S3_REGION`] = storage.region;
522
+ if (storage.key)
523
+ envs[`PL_DATA_${storageID}_S3_KEY`] = storage.key;
524
+ if (storage.secret)
525
+ envs[`PL_DATA_${storageID}_S3_SECRET`] = storage.secret;
526
+ return envs;
527
+ case 'FS':
528
+ envs[`PL_DATA_${storageID}_TYPE`] = 'FS';
529
+ return envs;
530
+ default:
531
+ util.assertNever(sType);
514
532
  }
515
- this.logger.error(`'${volumeID}' storage is given to Platforma Backend as docker volume.\n` +
516
- `Docker Compose does not migrate volumes on itself. It seems you used different path for '${volumeID}' storage earlier.\n` +
517
- ` current bind path: '${lastRunPath}'\n` +
518
- ` new bind path: '${path_1.default.resolve(newPath)}'\n` +
519
- `Your '${volumeID}' storage path change would not have effect until reset (pl-service reset)`);
520
- throw new Error(`cannot change '${volumeID}' storage path`);
533
+ return {};
521
534
  }
522
535
  readComposeFile(fPath) {
523
536
  const yamlData = fs_1.default.readFileSync(fPath);
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/dist/run.js CHANGED
@@ -58,7 +58,7 @@ function rerunLast(logger, options) {
58
58
  return runSync(logger, state_1.default.lastRun.cmd, state_1.default.lastRun.args, options);
59
59
  }
60
60
  function run(logger, cmd, args, options) {
61
- logger.info(`Running:\n env: ${JSON.stringify(options.env)}\n cmd: ${JSON.stringify([cmd, ...args])}\n wd: ${options.cwd}`);
61
+ logger.debug(`Running:\n env: ${JSON.stringify(options.env)}\n cmd: ${JSON.stringify([cmd, ...args])}\n wd: ${options.cwd}`);
62
62
  options.env = { ...process.env, ...options.env };
63
63
  logger.debug(' spawning child process');
64
64
  const child = (0, child_process_1.spawn)(cmd, args, options);
@@ -81,7 +81,7 @@ function run(logger, cmd, args, options) {
81
81
  return child;
82
82
  }
83
83
  function runSync(logger, cmd, args, options) {
84
- logger.info(`Running:\n env: ${JSON.stringify(options.env)}\n cmd: ${JSON.stringify([cmd, ...args])}\n wd: ${options.cwd}`);
84
+ logger.debug(`Running:\n env: ${JSON.stringify(options.env)}\n cmd: ${JSON.stringify([cmd, ...args])}\n wd: ${options.cwd}`);
85
85
  options.env = { ...process.env, ...options.env };
86
86
  return (0, child_process_1.spawnSync)(cmd, args, options);
87
87
  }
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as types from './types';
2
2
  export { plOptions } from './types';
3
- export declare function storageSettingsFromURL(storageURL: string, baseDir?: string, minioPort?: number): types.storageOptions;
3
+ export declare function storageSettingsFromURL(storageURL: string, baseDir?: string, defaults?: types.storageOptions): types.storageOptions;
4
4
  export declare function loadDefaults(jwtKey: string, options?: types.plOptions): types.plSettings;
5
5
  export declare function render(options: types.plSettings): string;
@@ -33,39 +33,46 @@ const fs_1 = __importDefault(require("fs"));
33
33
  const types = __importStar(require("./types"));
34
34
  const util_1 = require("../util");
35
35
  const state_1 = __importDefault(require("../state"));
36
- function storageSettingsFromURL(storageURL, baseDir, minioPort) {
36
+ function storageSettingsFromURL(storageURL, baseDir, defaults) {
37
37
  storageURL = (0, util_1.resolveTilde)(storageURL);
38
38
  const url = new URL(storageURL, `file:${baseDir}`);
39
- minioPort = minioPort ?? 9000;
40
39
  switch (url.protocol) {
41
40
  case 's3:':
42
41
  var bucketName = url.hostname;
43
42
  var region = url.searchParams.get('region');
44
43
  return {
44
+ ...defaults,
45
45
  type: 'S3',
46
46
  bucketName,
47
- region,
48
- presignEndpoint: `http://localhost:${minioPort}`
47
+ region
49
48
  };
50
49
  case 's3e:':
50
+ var p = url.pathname.split('/').slice(1); // '/bucket/keyPrefix' -> ['', 'bucket', 'keyPrefix'] -> ['bucket', 'keyPrefix']
51
+ var bucketName = p[0];
52
+ var keyPrefix = p.length > 1 ? p[1] : '';
51
53
  return {
54
+ ...defaults,
52
55
  type: 'S3',
53
56
  endpoint: `http://${url.host}/`,
54
- bucketName: url.pathname.split('/')[1], // '/bucket/key' -> ['', 'bucket', 'key']. Leading slash causes '' to be first element
57
+ bucketName,
58
+ keyPrefix,
55
59
  region: url.searchParams.get('region'),
56
60
  key: url.username ? `static:${url.username}` : '',
57
- secret: url.password ? `static:${url.password}` : '',
58
- presignEndpoint: `http://localhost:${minioPort}`
61
+ secret: url.password ? `static:${url.password}` : ''
59
62
  };
60
63
  case 's3es:':
64
+ var p = url.pathname.split('/').slice(1); // '/bucket/keyPrefix' -> ['', 'bucket', 'keyPrefix'] -> ['bucket', 'keyPrefix']
65
+ var bucketName = p[0];
66
+ var keyPrefix = p.length > 1 ? p[1] : '';
61
67
  return {
68
+ ...defaults,
62
69
  type: 'S3',
63
70
  endpoint: `https://${url.host}/`,
64
- bucketName: url.pathname.split('/')[1], // '/bucket/key' -> ['', 'bucket', 'key']. Leading slash causes '' to be first element
71
+ bucketName,
72
+ keyPrefix,
65
73
  region: url.searchParams.get('region'),
66
74
  key: url.username ? `static:${url.username}` : '',
67
- secret: url.password ? `static:${url.password}` : '',
68
- presignEndpoint: `http://localhost:${minioPort}`
75
+ secret: url.password ? `static:${url.password}` : ''
69
76
  };
70
77
  case 'file:':
71
78
  return {
@@ -77,7 +84,7 @@ function storageSettingsFromURL(storageURL, baseDir, minioPort) {
77
84
  }
78
85
  }
79
86
  function loadDefaults(jwtKey, options) {
80
- const localRoot = options?.localRoot ?? state_1.default.path('local-pl');
87
+ const localRoot = options?.localRoot ?? state_1.default.path('data', 'local-custom');
81
88
  const log = {
82
89
  level: options?.log?.level ?? 'info',
83
90
  path: options?.log?.path ?? `${localRoot}/platforma.log`
@@ -157,6 +164,7 @@ function defaultStorageSettings(storageID, defaultLocation, defaultBucket, optio
157
164
  storage.forcePathStyle = defaultBool(options?.forcePathStyle, true);
158
165
  storage.key = options?.key ?? '';
159
166
  storage.secret = options?.secret ?? '';
167
+ storage.keyPrefix = options?.keyPrefix ?? '';
160
168
  storage.accessPrefixes = options?.accessPrefixes ?? [''];
161
169
  storage.uploadKeyPrefix = options?.uploadKeyPrefix ?? '';
162
170
  break;