@platforma-sdk/bootstrap 3.5.19 → 3.5.20
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/block.cjs +172 -0
- package/dist/block.cjs.map +1 -0
- package/dist/block.d.ts +0 -1
- package/dist/block.js +151 -0
- package/dist/block.js.map +1 -0
- package/dist/cmd-opts.cjs +205 -0
- package/dist/cmd-opts.cjs.map +1 -0
- package/dist/cmd-opts.d.ts +36 -38
- package/dist/cmd-opts.js +181 -0
- package/dist/cmd-opts.js.map +1 -0
- package/dist/commands/create-block.cjs +22 -0
- package/dist/commands/create-block.cjs.map +1 -0
- package/dist/commands/create-block.d.ts +1 -3
- package/dist/commands/create-block.js +20 -0
- package/dist/commands/create-block.js.map +1 -0
- package/dist/commands/reset.cjs +23 -0
- package/dist/commands/reset.cjs.map +1 -0
- package/dist/commands/reset.d.ts +1 -3
- package/dist/commands/reset.js +21 -0
- package/dist/commands/reset.js.map +1 -0
- package/dist/commands/start/docker/s3.cjs +69 -0
- package/dist/commands/start/docker/s3.cjs.map +1 -0
- package/dist/commands/start/docker/s3.d.ts +21 -23
- package/dist/commands/start/docker/s3.js +67 -0
- package/dist/commands/start/docker/s3.js.map +1 -0
- package/dist/commands/start/docker.cjs +69 -0
- package/dist/commands/start/docker.cjs.map +1 -0
- package/dist/commands/start/docker.d.ts +21 -23
- package/dist/commands/start/docker.js +67 -0
- package/dist/commands/start/docker.js.map +1 -0
- package/dist/commands/start/local/s3.cjs +135 -0
- package/dist/commands/start/local/s3.cjs.map +1 -0
- package/dist/commands/start/local/s3.d.ts +25 -27
- package/dist/commands/start/local/s3.js +114 -0
- package/dist/commands/start/local/s3.js.map +1 -0
- package/dist/commands/start/local.cjs +122 -0
- package/dist/commands/start/local.cjs.map +1 -0
- package/dist/commands/start/local.d.ts +23 -25
- package/dist/commands/start/local.js +101 -0
- package/dist/commands/start/local.js.map +1 -0
- package/dist/commands/start.cjs +23 -0
- package/dist/commands/start.cjs.map +1 -0
- package/dist/commands/start.d.ts +1 -3
- package/dist/commands/start.js +21 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/commands/stop.cjs +29 -0
- package/dist/commands/stop.cjs.map +1 -0
- package/dist/commands/stop.d.ts +1 -3
- package/dist/commands/stop.js +27 -0
- package/dist/commands/stop.js.map +1 -0
- package/dist/commands/svc/create/docker/s3.cjs +75 -0
- package/dist/commands/svc/create/docker/s3.cjs.map +1 -0
- package/dist/commands/svc/create/docker/s3.d.ts +22 -24
- package/dist/commands/svc/create/docker/s3.js +73 -0
- package/dist/commands/svc/create/docker/s3.js.map +1 -0
- package/dist/commands/svc/create/docker.cjs +72 -0
- package/dist/commands/svc/create/docker.cjs.map +1 -0
- package/dist/commands/svc/create/docker.d.ts +22 -24
- package/dist/commands/svc/create/docker.js +70 -0
- package/dist/commands/svc/create/docker.js.map +1 -0
- package/dist/commands/svc/create/local/s3.cjs +121 -0
- package/dist/commands/svc/create/local/s3.cjs.map +1 -0
- package/dist/commands/svc/create/local/s3.d.ts +26 -28
- package/dist/commands/svc/create/local/s3.js +100 -0
- package/dist/commands/svc/create/local/s3.js.map +1 -0
- package/dist/commands/svc/create/local.cjs +117 -0
- package/dist/commands/svc/create/local.cjs.map +1 -0
- package/dist/commands/svc/create/local.d.ts +24 -26
- package/dist/commands/svc/create/local.js +96 -0
- package/dist/commands/svc/create/local.js.map +1 -0
- package/dist/commands/svc/delete.cjs +40 -0
- package/dist/commands/svc/delete.cjs.map +1 -0
- package/dist/commands/svc/delete.d.ts +3 -5
- package/dist/commands/svc/delete.js +38 -0
- package/dist/commands/svc/delete.js.map +1 -0
- package/dist/commands/svc/down.cjs +32 -0
- package/dist/commands/svc/down.cjs.map +1 -0
- package/dist/commands/svc/down.d.ts +2 -4
- package/dist/commands/svc/down.js +30 -0
- package/dist/commands/svc/down.js.map +1 -0
- package/dist/commands/svc/list.cjs +31 -0
- package/dist/commands/svc/list.cjs.map +1 -0
- package/dist/commands/svc/list.d.ts +0 -1
- package/dist/commands/svc/list.js +29 -0
- package/dist/commands/svc/list.js.map +1 -0
- package/dist/commands/svc/up.cjs +51 -0
- package/dist/commands/svc/up.cjs.map +1 -0
- package/dist/commands/svc/up.d.ts +2 -4
- package/dist/commands/svc/up.js +49 -0
- package/dist/commands/svc/up.js.map +1 -0
- package/dist/core.cjs +742 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.d.ts +0 -1
- package/dist/core.js +737 -0
- package/dist/core.js.map +1 -0
- package/dist/index.cjs +42 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +39 -126
- package/dist/index.js.map +1 -1
- package/dist/package.cjs +27 -0
- package/dist/package.cjs.map +1 -0
- package/dist/package.d.ts +0 -1
- package/dist/package.js +22 -0
- package/dist/package.js.map +1 -0
- package/dist/platforma.cjs +169 -0
- package/dist/platforma.cjs.map +1 -0
- package/dist/platforma.d.ts +0 -1
- package/dist/platforma.js +141 -0
- package/dist/platforma.js.map +1 -0
- package/dist/run.cjs +68 -0
- package/dist/run.cjs.map +1 -0
- package/dist/run.d.ts +0 -1
- package/dist/run.js +64 -0
- package/dist/run.js.map +1 -0
- package/dist/state.cjs +143 -0
- package/dist/state.cjs.map +1 -0
- package/dist/state.d.ts +0 -1
- package/dist/state.js +141 -0
- package/dist/state.js.map +1 -0
- package/dist/templates/compose.cjs +67 -0
- package/dist/templates/compose.cjs.map +1 -0
- package/dist/templates/compose.d.ts +0 -1
- package/dist/templates/compose.js +65 -0
- package/dist/templates/compose.js.map +1 -0
- package/dist/templates/pl-config.cjs +264 -0
- package/dist/templates/pl-config.cjs.map +1 -0
- package/dist/templates/pl-config.d.ts +0 -1
- package/dist/templates/pl-config.js +260 -0
- package/dist/templates/pl-config.js.map +1 -0
- package/dist/templates/types.cjs +31 -0
- package/dist/templates/types.cjs.map +1 -0
- package/dist/templates/types.d.ts +0 -1
- package/dist/templates/types.js +28 -0
- package/dist/templates/types.js.map +1 -0
- package/dist/util.cjs +98 -0
- package/dist/util.cjs.map +1 -0
- package/dist/util.d.ts +0 -1
- package/dist/util.js +89 -0
- package/dist/util.js.map +1 -0
- package/package.json +10 -13
- package/dist/block.d.ts.map +0 -1
- package/dist/cmd-opts.d.ts.map +0 -1
- package/dist/commands/create-block.d.ts.map +0 -1
- package/dist/commands/reset.d.ts.map +0 -1
- package/dist/commands/start/docker/s3.d.ts.map +0 -1
- package/dist/commands/start/docker.d.ts.map +0 -1
- package/dist/commands/start/local/s3.d.ts.map +0 -1
- package/dist/commands/start/local.d.ts.map +0 -1
- package/dist/commands/start.d.ts.map +0 -1
- package/dist/commands/stop.d.ts.map +0 -1
- package/dist/commands/svc/create/docker/s3.d.ts.map +0 -1
- package/dist/commands/svc/create/docker.d.ts.map +0 -1
- package/dist/commands/svc/create/local/s3.d.ts.map +0 -1
- package/dist/commands/svc/create/local.d.ts.map +0 -1
- package/dist/commands/svc/delete.d.ts.map +0 -1
- package/dist/commands/svc/down.d.ts.map +0 -1
- package/dist/commands/svc/list.d.ts.map +0 -1
- package/dist/commands/svc/up.d.ts.map +0 -1
- package/dist/core.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.mjs +0 -1945
- package/dist/index.mjs.map +0 -1
- package/dist/package.d.ts.map +0 -1
- package/dist/platforma.d.ts.map +0 -1
- package/dist/run.d.ts.map +0 -1
- package/dist/state.d.ts.map +0 -1
- package/dist/templates/compose.d.ts.map +0 -1
- package/dist/templates/pl-config.d.ts.map +0 -1
- package/dist/templates/types.d.ts.map +0 -1
- package/dist/util.d.ts.map +0 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { Command } from '@oclif/core';
|
|
3
|
+
import Core from '../../../core.js';
|
|
4
|
+
import { MinioPresignHostFlag, StorageFlag, MountFlag, LicenseFlags, AuthFlags, ArchFlag, VersionFlag, ImageFlag, S3AddressesFlags, AddressesFlags, GlobalFlags } from '../../../cmd-opts.js';
|
|
5
|
+
import { createLogger } from '../../../util.js';
|
|
6
|
+
import state from '../../../state.js';
|
|
7
|
+
|
|
8
|
+
class S3 extends Command {
|
|
9
|
+
static description = 'Run platforma backend service with \'S3\' primary storage type';
|
|
10
|
+
static examples = ['<%= config.bin %> <%= command.id %>'];
|
|
11
|
+
static flags = {
|
|
12
|
+
...GlobalFlags,
|
|
13
|
+
...AddressesFlags,
|
|
14
|
+
...S3AddressesFlags,
|
|
15
|
+
...ImageFlag,
|
|
16
|
+
...VersionFlag,
|
|
17
|
+
...ArchFlag,
|
|
18
|
+
...AuthFlags,
|
|
19
|
+
...LicenseFlags,
|
|
20
|
+
...MountFlag,
|
|
21
|
+
...StorageFlag,
|
|
22
|
+
...MinioPresignHostFlag,
|
|
23
|
+
};
|
|
24
|
+
async run() {
|
|
25
|
+
const { flags } = await this.parse(S3);
|
|
26
|
+
const logger = createLogger(flags['log-level']);
|
|
27
|
+
const core = new Core(logger);
|
|
28
|
+
core.mergeLicenseEnvs(flags);
|
|
29
|
+
const instanceName = 'docker-s3';
|
|
30
|
+
const authEnabled = flags['auth-enabled'];
|
|
31
|
+
const authOptions = authEnabled
|
|
32
|
+
? {
|
|
33
|
+
enabled: authEnabled,
|
|
34
|
+
drivers: core.initAuthDriversList(flags, '.'),
|
|
35
|
+
}
|
|
36
|
+
: undefined;
|
|
37
|
+
const storage = flags.storage ? path.join('.', flags.storage) : state.instanceDir(instanceName);
|
|
38
|
+
const mounts = [];
|
|
39
|
+
for (const p of flags.mount ?? []) {
|
|
40
|
+
mounts.push({ hostPath: p });
|
|
41
|
+
}
|
|
42
|
+
const platformOverride = flags.arch ? `linux/${flags.arch}` : undefined;
|
|
43
|
+
const presignHost = flags['minio-presign-host'] ? 'minio' : 'localhost';
|
|
44
|
+
const instance = core.createDockerS3(instanceName, storage, {
|
|
45
|
+
image: flags.image,
|
|
46
|
+
version: flags.version,
|
|
47
|
+
license: flags['license'],
|
|
48
|
+
licenseFile: flags['license-file'],
|
|
49
|
+
platformOverride: platformOverride,
|
|
50
|
+
customMounts: mounts,
|
|
51
|
+
auth: authOptions,
|
|
52
|
+
grpcAddr: flags['grpc-listen'],
|
|
53
|
+
grpcPort: flags['grpc-port'],
|
|
54
|
+
monitoringAddr: flags['monitoring-listen'],
|
|
55
|
+
monitoringPort: flags['monitoring-port'],
|
|
56
|
+
debugAddr: flags['debug-listen'],
|
|
57
|
+
debugPort: flags['debug-port'],
|
|
58
|
+
s3Port: flags['s3-port'],
|
|
59
|
+
s3ConsolePort: flags['s3-console-port'],
|
|
60
|
+
presignHost: presignHost,
|
|
61
|
+
});
|
|
62
|
+
core.switchInstance(instance);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { S3 as default };
|
|
67
|
+
//# sourceMappingURL=s3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3.js","sources":["../../../../src/commands/start/docker/s3.ts"],"sourcesContent":["import path from 'node:path';\n\nimport { Command } from '@oclif/core';\nimport Core from '../../../core';\nimport * as cmdOpts from '../../../cmd-opts';\nimport * as util from '../../../util';\nimport type * as types from '../../../templates/types';\nimport state from '../../../state';\n\nexport default class S3 extends Command {\n static override description = 'Run platforma backend service with \\'S3\\' primary storage type';\n\n static override examples = ['<%= config.bin %> <%= command.id %>'];\n\n static override flags = {\n ...cmdOpts.GlobalFlags,\n\n ...cmdOpts.AddressesFlags,\n ...cmdOpts.S3AddressesFlags,\n ...cmdOpts.ImageFlag,\n ...cmdOpts.VersionFlag,\n ...cmdOpts.ArchFlag,\n\n ...cmdOpts.AuthFlags,\n ...cmdOpts.LicenseFlags,\n\n ...cmdOpts.MountFlag,\n ...cmdOpts.StorageFlag,\n ...cmdOpts.MinioPresignHostFlag,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(S3);\n\n const logger = util.createLogger(flags['log-level']);\n const core = new Core(logger);\n core.mergeLicenseEnvs(flags);\n\n const instanceName = 'docker-s3';\n\n const authEnabled = flags['auth-enabled'];\n const authOptions: types.authOptions | undefined = authEnabled\n ? {\n enabled: authEnabled,\n drivers: core.initAuthDriversList(flags, '.'),\n }\n : undefined;\n\n const storage = flags.storage ? path.join('.', flags.storage) : state.instanceDir(instanceName);\n\n const mounts: { hostPath: string; containerPath?: string }[] = [];\n for (const p of flags.mount ?? []) {\n mounts.push({ hostPath: p });\n }\n\n const platformOverride = flags.arch ? `linux/${flags.arch}` : undefined;\n const presignHost = flags['minio-presign-host'] ? 'minio' : 'localhost';\n\n const instance = core.createDockerS3(instanceName, storage, {\n image: flags.image,\n version: flags.version,\n\n license: flags['license'],\n licenseFile: flags['license-file'],\n\n platformOverride: platformOverride,\n customMounts: mounts,\n\n auth: authOptions,\n\n grpcAddr: flags['grpc-listen'],\n grpcPort: flags['grpc-port'],\n\n monitoringAddr: flags['monitoring-listen'],\n monitoringPort: flags['monitoring-port'],\n\n debugAddr: flags['debug-listen'],\n debugPort: flags['debug-port'],\n\n s3Port: flags['s3-port'],\n s3ConsolePort: flags['s3-console-port'],\n\n presignHost: presignHost,\n });\n\n core.switchInstance(instance);\n }\n}\n"],"names":["cmdOpts.GlobalFlags","cmdOpts.AddressesFlags","cmdOpts.S3AddressesFlags","cmdOpts.ImageFlag","cmdOpts.VersionFlag","cmdOpts.ArchFlag","cmdOpts.AuthFlags","cmdOpts.LicenseFlags","cmdOpts.MountFlag","cmdOpts.StorageFlag","cmdOpts.MinioPresignHostFlag","util.createLogger"],"mappings":";;;;;;;AASc,MAAO,EAAG,SAAQ,OAAO,CAAA;AACrC,IAAA,OAAgB,WAAW,GAAG,gEAAgE;AAE9F,IAAA,OAAgB,QAAQ,GAAG,CAAC,qCAAqC,CAAC;IAElE,OAAgB,KAAK,GAAG;QACtB,GAAGA,WAAmB;QAEtB,GAAGC,cAAsB;QACzB,GAAGC,gBAAwB;QAC3B,GAAGC,SAAiB;QACpB,GAAGC,WAAmB;QACtB,GAAGC,QAAgB;QAEnB,GAAGC,SAAiB;QACpB,GAAGC,YAAoB;QAEvB,GAAGC,SAAiB;QACpB,GAAGC,WAAmB;QACtB,GAAGC,oBAA4B;KAChC;AAEM,IAAA,MAAM,GAAG,GAAA;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAEtC,MAAM,MAAM,GAAGC,YAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACpD,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC;AAC7B,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAE5B,MAAM,YAAY,GAAG,WAAW;AAEhC,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC;QACzC,MAAM,WAAW,GAAkC;AACjD,cAAE;AACE,gBAAA,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC;AAC9C;cACD,SAAS;QAEb,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC;QAE/F,MAAM,MAAM,GAAmD,EAAE;QACjE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC9B;AAEA,QAAA,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,GAAG,CAAA,MAAA,EAAS,KAAK,CAAC,IAAI,CAAA,CAAE,GAAG,SAAS;AACvE,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,OAAO,GAAG,WAAW;QAEvE,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,EAAE;YAC1D,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;AAEtB,YAAA,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;AACzB,YAAA,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC;AAElC,YAAA,gBAAgB,EAAE,gBAAgB;AAClC,YAAA,YAAY,EAAE,MAAM;AAEpB,YAAA,IAAI,EAAE,WAAW;AAEjB,YAAA,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;AAC9B,YAAA,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC;AAE5B,YAAA,cAAc,EAAE,KAAK,CAAC,mBAAmB,CAAC;AAC1C,YAAA,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC;AAExC,YAAA,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC;AAChC,YAAA,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;AAE9B,YAAA,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;AACxB,YAAA,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC;AAEvC,YAAA,WAAW,EAAE,WAAW;AACzB,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;IAC/B;;;;;"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var path = require('node:path');
|
|
4
|
+
var core = require('@oclif/core');
|
|
5
|
+
var core$1 = require('../../core.cjs');
|
|
6
|
+
var cmdOpts = require('../../cmd-opts.cjs');
|
|
7
|
+
var util = require('../../util.cjs');
|
|
8
|
+
var state = require('../../state.cjs');
|
|
9
|
+
|
|
10
|
+
class Docker extends core.Command {
|
|
11
|
+
static description = 'Run platforma backend service with \'FS\' primary storage type';
|
|
12
|
+
static examples = ['<%= config.bin %> <%= command.id %>'];
|
|
13
|
+
static flags = {
|
|
14
|
+
...cmdOpts.GlobalFlags,
|
|
15
|
+
...cmdOpts.AddressesFlags,
|
|
16
|
+
...cmdOpts.ImageFlag,
|
|
17
|
+
...cmdOpts.VersionFlag,
|
|
18
|
+
...cmdOpts.ArchFlag,
|
|
19
|
+
...cmdOpts.AuthFlags,
|
|
20
|
+
...cmdOpts.LicenseFlags,
|
|
21
|
+
...cmdOpts.MountFlag,
|
|
22
|
+
...cmdOpts.StorageFlag,
|
|
23
|
+
...cmdOpts.StoragePrimaryURLFlag,
|
|
24
|
+
...cmdOpts.StorageWorkPathFlag,
|
|
25
|
+
...cmdOpts.StorageLibraryURLFlag,
|
|
26
|
+
};
|
|
27
|
+
async run() {
|
|
28
|
+
const { flags } = await this.parse(Docker);
|
|
29
|
+
const logger = util.createLogger(flags['log-level']);
|
|
30
|
+
const core = new core$1.default(logger);
|
|
31
|
+
core.mergeLicenseEnvs(flags);
|
|
32
|
+
const instanceName = 'docker';
|
|
33
|
+
const authEnabled = flags['auth-enabled'];
|
|
34
|
+
const authOptions = authEnabled
|
|
35
|
+
? {
|
|
36
|
+
enabled: authEnabled,
|
|
37
|
+
drivers: core.initAuthDriversList(flags, '.'),
|
|
38
|
+
}
|
|
39
|
+
: undefined;
|
|
40
|
+
const storage = flags.storage ? path.join('.', flags.storage) : state.instanceDir(instanceName);
|
|
41
|
+
const mounts = [];
|
|
42
|
+
for (const p of flags.mount ?? []) {
|
|
43
|
+
mounts.push({ hostPath: p });
|
|
44
|
+
}
|
|
45
|
+
const platformOverride = flags.arch ? `linux/${flags.arch}` : undefined;
|
|
46
|
+
const instance = core.createDocker(instanceName, storage, {
|
|
47
|
+
primaryStorageURL: flags['storage-primary'],
|
|
48
|
+
workStoragePath: flags['storage-work'],
|
|
49
|
+
libraryStorageURL: flags['storage-library'],
|
|
50
|
+
image: flags.image,
|
|
51
|
+
version: flags.version,
|
|
52
|
+
platformOverride: platformOverride,
|
|
53
|
+
customMounts: mounts,
|
|
54
|
+
license: flags['license'],
|
|
55
|
+
licenseFile: flags['license-file'],
|
|
56
|
+
auth: authOptions,
|
|
57
|
+
grpcAddr: flags['grpc-listen'],
|
|
58
|
+
grpcPort: flags['grpc-port'],
|
|
59
|
+
monitoringAddr: flags['monitoring-listen'],
|
|
60
|
+
monitoringPort: flags['monitoring-port'],
|
|
61
|
+
debugAddr: flags['debug-listen'],
|
|
62
|
+
debugPort: flags['debug-port'],
|
|
63
|
+
});
|
|
64
|
+
core.switchInstance(instance);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
module.exports = Docker;
|
|
69
|
+
//# sourceMappingURL=docker.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker.cjs","sources":["../../../src/commands/start/docker.ts"],"sourcesContent":["import path from 'node:path';\n\nimport { Command } from '@oclif/core';\nimport Core from '../../core';\nimport * as cmdOpts from '../../cmd-opts';\nimport * as util from '../../util';\nimport type * as types from '../../templates/types';\nimport state from '../../state';\n\nexport default class Docker extends Command {\n static override description = 'Run platforma backend service with \\'FS\\' primary storage type';\n\n static override examples = ['<%= config.bin %> <%= command.id %>'];\n\n static override flags = {\n ...cmdOpts.GlobalFlags,\n\n ...cmdOpts.AddressesFlags,\n ...cmdOpts.ImageFlag,\n ...cmdOpts.VersionFlag,\n ...cmdOpts.ArchFlag,\n\n ...cmdOpts.AuthFlags,\n ...cmdOpts.LicenseFlags,\n\n ...cmdOpts.MountFlag,\n ...cmdOpts.StorageFlag,\n ...cmdOpts.StoragePrimaryURLFlag,\n ...cmdOpts.StorageWorkPathFlag,\n ...cmdOpts.StorageLibraryURLFlag,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(Docker);\n\n const logger = util.createLogger(flags['log-level']);\n const core = new Core(logger);\n core.mergeLicenseEnvs(flags);\n\n const instanceName = 'docker';\n\n const authEnabled = flags['auth-enabled'];\n const authOptions: types.authOptions | undefined = authEnabled\n ? {\n enabled: authEnabled,\n drivers: core.initAuthDriversList(flags, '.'),\n }\n : undefined;\n const storage = flags.storage ? path.join('.', flags.storage) : state.instanceDir(instanceName);\n\n const mounts: { hostPath: string; containerPath?: string }[] = [];\n for (const p of flags.mount ?? []) {\n mounts.push({ hostPath: p });\n }\n\n const platformOverride = flags.arch ? `linux/${flags.arch}` : undefined;\n\n const instance = core.createDocker(instanceName, storage, {\n primaryStorageURL: flags['storage-primary'],\n workStoragePath: flags['storage-work'],\n libraryStorageURL: flags['storage-library'],\n\n image: flags.image,\n version: flags.version,\n\n platformOverride: platformOverride,\n customMounts: mounts,\n\n license: flags['license'],\n licenseFile: flags['license-file'],\n\n auth: authOptions,\n\n grpcAddr: flags['grpc-listen'],\n grpcPort: flags['grpc-port'],\n\n monitoringAddr: flags['monitoring-listen'],\n monitoringPort: flags['monitoring-port'],\n\n debugAddr: flags['debug-listen'],\n debugPort: flags['debug-port'],\n });\n\n core.switchInstance(instance);\n }\n}\n"],"names":["Command","cmdOpts.GlobalFlags","cmdOpts.AddressesFlags","cmdOpts.ImageFlag","cmdOpts.VersionFlag","cmdOpts.ArchFlag","cmdOpts.AuthFlags","cmdOpts.LicenseFlags","cmdOpts.MountFlag","cmdOpts.StorageFlag","cmdOpts.StoragePrimaryURLFlag","cmdOpts.StorageWorkPathFlag","cmdOpts.StorageLibraryURLFlag","util.createLogger","Core"],"mappings":";;;;;;;;;AASc,MAAO,MAAO,SAAQA,YAAO,CAAA;AACzC,IAAA,OAAgB,WAAW,GAAG,gEAAgE;AAE9F,IAAA,OAAgB,QAAQ,GAAG,CAAC,qCAAqC,CAAC;IAElE,OAAgB,KAAK,GAAG;QACtB,GAAGC,mBAAmB;QAEtB,GAAGC,sBAAsB;QACzB,GAAGC,iBAAiB;QACpB,GAAGC,mBAAmB;QACtB,GAAGC,gBAAgB;QAEnB,GAAGC,iBAAiB;QACpB,GAAGC,oBAAoB;QAEvB,GAAGC,iBAAiB;QACpB,GAAGC,mBAAmB;QACtB,GAAGC,6BAA6B;QAChC,GAAGC,2BAA2B;QAC9B,GAAGC,6BAA6B;KACjC;AAEM,IAAA,MAAM,GAAG,GAAA;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAE1C,MAAM,MAAM,GAAGC,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACpD,QAAA,MAAM,IAAI,GAAG,IAAIC,cAAI,CAAC,MAAM,CAAC;AAC7B,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAE5B,MAAM,YAAY,GAAG,QAAQ;AAE7B,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC;QACzC,MAAM,WAAW,GAAkC;AACjD,cAAE;AACE,gBAAA,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC;AAC9C;cACD,SAAS;QACb,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC;QAE/F,MAAM,MAAM,GAAmD,EAAE;QACjE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC9B;AAEA,QAAA,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,GAAG,CAAA,MAAA,EAAS,KAAK,CAAC,IAAI,CAAA,CAAE,GAAG,SAAS;QAEvE,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE;AACxD,YAAA,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;AAC3C,YAAA,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC;AACtC,YAAA,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;YAE3C,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;AAEtB,YAAA,gBAAgB,EAAE,gBAAgB;AAClC,YAAA,YAAY,EAAE,MAAM;AAEpB,YAAA,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;AACzB,YAAA,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC;AAElC,YAAA,IAAI,EAAE,WAAW;AAEjB,YAAA,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;AAC9B,YAAA,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC;AAE5B,YAAA,cAAc,EAAE,KAAK,CAAC,mBAAmB,CAAC;AAC1C,YAAA,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC;AAExC,YAAA,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC;AAChC,YAAA,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;AAC/B,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;IAC/B;;;;;"}
|
|
@@ -1,31 +1,29 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
|
-
import { OptionFlag, CustomOptions, BooleanFlag } from '@oclif/core/interfaces';
|
|
3
2
|
export default class Docker extends Command {
|
|
4
3
|
static description: string;
|
|
5
4
|
static examples: string[];
|
|
6
5
|
static flags: {
|
|
7
|
-
'storage-library': OptionFlag<string | undefined, CustomOptions>;
|
|
8
|
-
'storage-work': OptionFlag<string | undefined, CustomOptions>;
|
|
9
|
-
'storage-primary': OptionFlag<string | undefined, CustomOptions>;
|
|
10
|
-
storage: OptionFlag<string | undefined, CustomOptions>;
|
|
11
|
-
mount: OptionFlag<string[] | undefined, CustomOptions>;
|
|
12
|
-
license: OptionFlag<string | undefined, CustomOptions>;
|
|
13
|
-
'license-file': OptionFlag<string | undefined, CustomOptions>;
|
|
14
|
-
'auth-ldap-default-dn': OptionFlag<string | undefined, CustomOptions>;
|
|
15
|
-
'auth-ldap-server': OptionFlag<string | undefined, CustomOptions>;
|
|
16
|
-
'auth-htpasswd-file': OptionFlag<string | undefined, CustomOptions>;
|
|
17
|
-
'auth-enabled': BooleanFlag<boolean>;
|
|
18
|
-
arch: OptionFlag<string | undefined, CustomOptions>;
|
|
19
|
-
version: OptionFlag<string | undefined, CustomOptions>;
|
|
20
|
-
image: OptionFlag<string | undefined, CustomOptions>;
|
|
21
|
-
'grpc-port': OptionFlag<number | undefined, CustomOptions>;
|
|
22
|
-
'grpc-listen': OptionFlag<string | undefined, CustomOptions>;
|
|
23
|
-
'monitoring-port': OptionFlag<number | undefined, CustomOptions>;
|
|
24
|
-
'monitoring-listen': OptionFlag<string | undefined, CustomOptions>;
|
|
25
|
-
'debug-port': OptionFlag<number | undefined, CustomOptions>;
|
|
26
|
-
'debug-listen': OptionFlag<string | undefined, CustomOptions>;
|
|
27
|
-
'log-level': OptionFlag<string, CustomOptions>;
|
|
6
|
+
'storage-library': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
7
|
+
'storage-work': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
8
|
+
'storage-primary': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
9
|
+
storage: import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
10
|
+
mount: import('@oclif/core/interfaces').OptionFlag<string[] | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
11
|
+
license: import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
12
|
+
'license-file': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
13
|
+
'auth-ldap-default-dn': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
14
|
+
'auth-ldap-server': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
15
|
+
'auth-htpasswd-file': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
16
|
+
'auth-enabled': import('@oclif/core/interfaces').BooleanFlag<boolean>;
|
|
17
|
+
arch: import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
18
|
+
version: import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
19
|
+
image: import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
20
|
+
'grpc-port': import('@oclif/core/interfaces').OptionFlag<number | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
21
|
+
'grpc-listen': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
22
|
+
'monitoring-port': import('@oclif/core/interfaces').OptionFlag<number | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
23
|
+
'monitoring-listen': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
24
|
+
'debug-port': import('@oclif/core/interfaces').OptionFlag<number | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
25
|
+
'debug-listen': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
26
|
+
'log-level': import('@oclif/core/interfaces').OptionFlag<string, import('@oclif/core/interfaces').CustomOptions>;
|
|
28
27
|
};
|
|
29
28
|
run(): Promise<void>;
|
|
30
29
|
}
|
|
31
|
-
//# sourceMappingURL=docker.d.ts.map
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { Command } from '@oclif/core';
|
|
3
|
+
import Core from '../../core.js';
|
|
4
|
+
import { StorageLibraryURLFlag, StorageWorkPathFlag, StoragePrimaryURLFlag, StorageFlag, MountFlag, LicenseFlags, AuthFlags, ArchFlag, VersionFlag, ImageFlag, AddressesFlags, GlobalFlags } from '../../cmd-opts.js';
|
|
5
|
+
import { createLogger } from '../../util.js';
|
|
6
|
+
import state from '../../state.js';
|
|
7
|
+
|
|
8
|
+
class Docker extends Command {
|
|
9
|
+
static description = 'Run platforma backend service with \'FS\' primary storage type';
|
|
10
|
+
static examples = ['<%= config.bin %> <%= command.id %>'];
|
|
11
|
+
static flags = {
|
|
12
|
+
...GlobalFlags,
|
|
13
|
+
...AddressesFlags,
|
|
14
|
+
...ImageFlag,
|
|
15
|
+
...VersionFlag,
|
|
16
|
+
...ArchFlag,
|
|
17
|
+
...AuthFlags,
|
|
18
|
+
...LicenseFlags,
|
|
19
|
+
...MountFlag,
|
|
20
|
+
...StorageFlag,
|
|
21
|
+
...StoragePrimaryURLFlag,
|
|
22
|
+
...StorageWorkPathFlag,
|
|
23
|
+
...StorageLibraryURLFlag,
|
|
24
|
+
};
|
|
25
|
+
async run() {
|
|
26
|
+
const { flags } = await this.parse(Docker);
|
|
27
|
+
const logger = createLogger(flags['log-level']);
|
|
28
|
+
const core = new Core(logger);
|
|
29
|
+
core.mergeLicenseEnvs(flags);
|
|
30
|
+
const instanceName = 'docker';
|
|
31
|
+
const authEnabled = flags['auth-enabled'];
|
|
32
|
+
const authOptions = authEnabled
|
|
33
|
+
? {
|
|
34
|
+
enabled: authEnabled,
|
|
35
|
+
drivers: core.initAuthDriversList(flags, '.'),
|
|
36
|
+
}
|
|
37
|
+
: undefined;
|
|
38
|
+
const storage = flags.storage ? path.join('.', flags.storage) : state.instanceDir(instanceName);
|
|
39
|
+
const mounts = [];
|
|
40
|
+
for (const p of flags.mount ?? []) {
|
|
41
|
+
mounts.push({ hostPath: p });
|
|
42
|
+
}
|
|
43
|
+
const platformOverride = flags.arch ? `linux/${flags.arch}` : undefined;
|
|
44
|
+
const instance = core.createDocker(instanceName, storage, {
|
|
45
|
+
primaryStorageURL: flags['storage-primary'],
|
|
46
|
+
workStoragePath: flags['storage-work'],
|
|
47
|
+
libraryStorageURL: flags['storage-library'],
|
|
48
|
+
image: flags.image,
|
|
49
|
+
version: flags.version,
|
|
50
|
+
platformOverride: platformOverride,
|
|
51
|
+
customMounts: mounts,
|
|
52
|
+
license: flags['license'],
|
|
53
|
+
licenseFile: flags['license-file'],
|
|
54
|
+
auth: authOptions,
|
|
55
|
+
grpcAddr: flags['grpc-listen'],
|
|
56
|
+
grpcPort: flags['grpc-port'],
|
|
57
|
+
monitoringAddr: flags['monitoring-listen'],
|
|
58
|
+
monitoringPort: flags['monitoring-port'],
|
|
59
|
+
debugAddr: flags['debug-listen'],
|
|
60
|
+
debugPort: flags['debug-port'],
|
|
61
|
+
});
|
|
62
|
+
core.switchInstance(instance);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { Docker as default };
|
|
67
|
+
//# sourceMappingURL=docker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker.js","sources":["../../../src/commands/start/docker.ts"],"sourcesContent":["import path from 'node:path';\n\nimport { Command } from '@oclif/core';\nimport Core from '../../core';\nimport * as cmdOpts from '../../cmd-opts';\nimport * as util from '../../util';\nimport type * as types from '../../templates/types';\nimport state from '../../state';\n\nexport default class Docker extends Command {\n static override description = 'Run platforma backend service with \\'FS\\' primary storage type';\n\n static override examples = ['<%= config.bin %> <%= command.id %>'];\n\n static override flags = {\n ...cmdOpts.GlobalFlags,\n\n ...cmdOpts.AddressesFlags,\n ...cmdOpts.ImageFlag,\n ...cmdOpts.VersionFlag,\n ...cmdOpts.ArchFlag,\n\n ...cmdOpts.AuthFlags,\n ...cmdOpts.LicenseFlags,\n\n ...cmdOpts.MountFlag,\n ...cmdOpts.StorageFlag,\n ...cmdOpts.StoragePrimaryURLFlag,\n ...cmdOpts.StorageWorkPathFlag,\n ...cmdOpts.StorageLibraryURLFlag,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(Docker);\n\n const logger = util.createLogger(flags['log-level']);\n const core = new Core(logger);\n core.mergeLicenseEnvs(flags);\n\n const instanceName = 'docker';\n\n const authEnabled = flags['auth-enabled'];\n const authOptions: types.authOptions | undefined = authEnabled\n ? {\n enabled: authEnabled,\n drivers: core.initAuthDriversList(flags, '.'),\n }\n : undefined;\n const storage = flags.storage ? path.join('.', flags.storage) : state.instanceDir(instanceName);\n\n const mounts: { hostPath: string; containerPath?: string }[] = [];\n for (const p of flags.mount ?? []) {\n mounts.push({ hostPath: p });\n }\n\n const platformOverride = flags.arch ? `linux/${flags.arch}` : undefined;\n\n const instance = core.createDocker(instanceName, storage, {\n primaryStorageURL: flags['storage-primary'],\n workStoragePath: flags['storage-work'],\n libraryStorageURL: flags['storage-library'],\n\n image: flags.image,\n version: flags.version,\n\n platformOverride: platformOverride,\n customMounts: mounts,\n\n license: flags['license'],\n licenseFile: flags['license-file'],\n\n auth: authOptions,\n\n grpcAddr: flags['grpc-listen'],\n grpcPort: flags['grpc-port'],\n\n monitoringAddr: flags['monitoring-listen'],\n monitoringPort: flags['monitoring-port'],\n\n debugAddr: flags['debug-listen'],\n debugPort: flags['debug-port'],\n });\n\n core.switchInstance(instance);\n }\n}\n"],"names":["cmdOpts.GlobalFlags","cmdOpts.AddressesFlags","cmdOpts.ImageFlag","cmdOpts.VersionFlag","cmdOpts.ArchFlag","cmdOpts.AuthFlags","cmdOpts.LicenseFlags","cmdOpts.MountFlag","cmdOpts.StorageFlag","cmdOpts.StoragePrimaryURLFlag","cmdOpts.StorageWorkPathFlag","cmdOpts.StorageLibraryURLFlag","util.createLogger"],"mappings":";;;;;;;AASc,MAAO,MAAO,SAAQ,OAAO,CAAA;AACzC,IAAA,OAAgB,WAAW,GAAG,gEAAgE;AAE9F,IAAA,OAAgB,QAAQ,GAAG,CAAC,qCAAqC,CAAC;IAElE,OAAgB,KAAK,GAAG;QACtB,GAAGA,WAAmB;QAEtB,GAAGC,cAAsB;QACzB,GAAGC,SAAiB;QACpB,GAAGC,WAAmB;QACtB,GAAGC,QAAgB;QAEnB,GAAGC,SAAiB;QACpB,GAAGC,YAAoB;QAEvB,GAAGC,SAAiB;QACpB,GAAGC,WAAmB;QACtB,GAAGC,qBAA6B;QAChC,GAAGC,mBAA2B;QAC9B,GAAGC,qBAA6B;KACjC;AAEM,IAAA,MAAM,GAAG,GAAA;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAE1C,MAAM,MAAM,GAAGC,YAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACpD,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC;AAC7B,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAE5B,MAAM,YAAY,GAAG,QAAQ;AAE7B,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC;QACzC,MAAM,WAAW,GAAkC;AACjD,cAAE;AACE,gBAAA,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC;AAC9C;cACD,SAAS;QACb,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC;QAE/F,MAAM,MAAM,GAAmD,EAAE;QACjE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC9B;AAEA,QAAA,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,GAAG,CAAA,MAAA,EAAS,KAAK,CAAC,IAAI,CAAA,CAAE,GAAG,SAAS;QAEvE,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE;AACxD,YAAA,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;AAC3C,YAAA,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC;AACtC,YAAA,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;YAE3C,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;AAEtB,YAAA,gBAAgB,EAAE,gBAAgB;AAClC,YAAA,YAAY,EAAE,MAAM;AAEpB,YAAA,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;AACzB,YAAA,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC;AAElC,YAAA,IAAI,EAAE,WAAW;AAEjB,YAAA,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC;AAC9B,YAAA,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC;AAE5B,YAAA,cAAc,EAAE,KAAK,CAAC,mBAAmB,CAAC;AAC1C,YAAA,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC;AAExC,YAAA,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC;AAChC,YAAA,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;AAC/B,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;IAC/B;;;;;"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var path = require('node:path');
|
|
4
|
+
var core = require('@oclif/core');
|
|
5
|
+
var core$1 = require('../../../core.cjs');
|
|
6
|
+
var cmdOpts = require('../../../cmd-opts.cjs');
|
|
7
|
+
var platforma = require('../../../platforma.cjs');
|
|
8
|
+
var util = require('../../../util.cjs');
|
|
9
|
+
var state = require('../../../state.cjs');
|
|
10
|
+
var os = require('node:os');
|
|
11
|
+
|
|
12
|
+
function _interopNamespaceDefault(e) {
|
|
13
|
+
var n = Object.create(null);
|
|
14
|
+
if (e) {
|
|
15
|
+
Object.keys(e).forEach(function (k) {
|
|
16
|
+
if (k !== 'default') {
|
|
17
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
18
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () { return e[k]; }
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
n.default = e;
|
|
26
|
+
return Object.freeze(n);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
var os__namespace = /*#__PURE__*/_interopNamespaceDefault(os);
|
|
30
|
+
|
|
31
|
+
class S3 extends core.Command {
|
|
32
|
+
static description = 'Run Platforma Backend service as local process on current host (no docker container)';
|
|
33
|
+
static examples = ['<%= config.bin %> <%= command.id %>'];
|
|
34
|
+
static flags = {
|
|
35
|
+
...cmdOpts.GlobalFlags,
|
|
36
|
+
...cmdOpts.VersionFlag,
|
|
37
|
+
...cmdOpts.AddressesFlags,
|
|
38
|
+
...cmdOpts.S3AddressesFlags,
|
|
39
|
+
...cmdOpts.PlBinaryFlag,
|
|
40
|
+
...cmdOpts.PlSourcesFlag,
|
|
41
|
+
...cmdOpts.ConfigFlag,
|
|
42
|
+
...cmdOpts.LicenseFlags,
|
|
43
|
+
...cmdOpts.StorageFlag,
|
|
44
|
+
...cmdOpts.StoragePrimaryURLFlag,
|
|
45
|
+
...cmdOpts.StorageWorkPathFlag,
|
|
46
|
+
...cmdOpts.StorageLibraryURLFlag,
|
|
47
|
+
...cmdOpts.PlLogFileFlag,
|
|
48
|
+
...cmdOpts.PlWorkdirFlag,
|
|
49
|
+
...cmdOpts.AuthFlags,
|
|
50
|
+
};
|
|
51
|
+
async run() {
|
|
52
|
+
const { flags } = await this.parse(S3);
|
|
53
|
+
const logger = util.createLogger(flags['log-level']);
|
|
54
|
+
const core = new core$1.default(logger);
|
|
55
|
+
core.mergeLicenseEnvs(flags);
|
|
56
|
+
const instanceName = 'local-s3';
|
|
57
|
+
const workdir = flags['pl-workdir'] ?? '.';
|
|
58
|
+
const storage = flags.storage ? path.join(workdir, flags.storage) : state.instanceDir(instanceName);
|
|
59
|
+
const logFile = flags['pl-log-file'] ? path.join(workdir, flags['pl-log-file']) : undefined;
|
|
60
|
+
const authDrivers = core.initAuthDriversList(flags, workdir);
|
|
61
|
+
const authEnabled = flags['auth-enabled'] ?? authDrivers !== undefined;
|
|
62
|
+
let listenGrpc = '127.0.0.1:6345';
|
|
63
|
+
if (flags['grpc-listen'])
|
|
64
|
+
listenGrpc = flags['grpc-listen'];
|
|
65
|
+
else if (flags['grpc-port'])
|
|
66
|
+
listenGrpc = `127.0.0.1:${flags['grpc-port']}`;
|
|
67
|
+
let listenMon = '127.0.0.1:9090';
|
|
68
|
+
if (flags['monitoring-listen'])
|
|
69
|
+
listenMon = flags['monitoring-listen'];
|
|
70
|
+
else if (flags['monitoring-port'])
|
|
71
|
+
listenMon = `127.0.0.1:${flags['monitoring-port']}`;
|
|
72
|
+
let listenDbg = '127.0.0.1:9091';
|
|
73
|
+
if (flags['debug-listen'])
|
|
74
|
+
listenDbg = flags['debug-listen'];
|
|
75
|
+
else if (flags['debug-port'])
|
|
76
|
+
listenDbg = `127.0.0.1:${flags['debug-port']}`;
|
|
77
|
+
const startOptions = {
|
|
78
|
+
sourcesPath: flags['pl-sources'],
|
|
79
|
+
binaryPath: flags['pl-binary'],
|
|
80
|
+
version: flags.version,
|
|
81
|
+
configPath: flags.config,
|
|
82
|
+
workdir: flags['pl-workdir'],
|
|
83
|
+
primaryURL: flags['storage-primary'],
|
|
84
|
+
libraryURL: flags['storage-library'],
|
|
85
|
+
minioPort: flags['s3-port'],
|
|
86
|
+
minioConsolePort: flags['s3-console-port'],
|
|
87
|
+
configOptions: {
|
|
88
|
+
grpc: { listen: listenGrpc },
|
|
89
|
+
monitoring: { listen: listenMon },
|
|
90
|
+
debug: { listen: listenDbg },
|
|
91
|
+
license: { value: flags['license'], file: flags['license-file'] },
|
|
92
|
+
log: { path: logFile },
|
|
93
|
+
localRoot: storage,
|
|
94
|
+
core: {
|
|
95
|
+
auth: { enabled: authEnabled, drivers: authDrivers },
|
|
96
|
+
},
|
|
97
|
+
// Backend could consume a lot of CPU power,
|
|
98
|
+
// we want to keep at least a couple for UI and other apps to work.
|
|
99
|
+
numCpu: Math.max(os__namespace.cpus().length - 2, 1),
|
|
100
|
+
storages: {
|
|
101
|
+
work: { type: 'FS', rootPath: flags['storage-work'] },
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
const instance = core.createLocalS3(instanceName, startOptions);
|
|
106
|
+
if (startOptions.binaryPath || startOptions.sourcesPath) {
|
|
107
|
+
core.switchInstance(instance);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
await platforma.getBinary(logger, { version: flags.version })
|
|
111
|
+
.then(() => {
|
|
112
|
+
const children = core.switchInstance(instance);
|
|
113
|
+
// setTimeout(() => {
|
|
114
|
+
// for (const child of children) {
|
|
115
|
+
// child.unref();
|
|
116
|
+
// }
|
|
117
|
+
// }, 1000);
|
|
118
|
+
const results = [];
|
|
119
|
+
for (const child of children) {
|
|
120
|
+
results.push(new Promise((resolve, reject) => {
|
|
121
|
+
child.on('close', resolve);
|
|
122
|
+
child.on('error', reject);
|
|
123
|
+
}));
|
|
124
|
+
}
|
|
125
|
+
return Promise.all(results);
|
|
126
|
+
})
|
|
127
|
+
.catch(function (err) {
|
|
128
|
+
logger.error(err.message);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
module.exports = S3;
|
|
135
|
+
//# sourceMappingURL=s3.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3.cjs","sources":["../../../../src/commands/start/local/s3.ts"],"sourcesContent":["import path from 'node:path';\n\nimport { Command } from '@oclif/core';\nimport type { createLocalS3Options } from '../../../core';\nimport Core from '../../../core';\nimport * as cmdOpts from '../../../cmd-opts';\nimport * as platforma from '../../../platforma';\nimport * as util from '../../../util';\nimport state from '../../../state';\nimport * as os from 'node:os';\n\nexport default class S3 extends Command {\n static override description = 'Run Platforma Backend service as local process on current host (no docker container)';\n\n static override examples = ['<%= config.bin %> <%= command.id %>'];\n\n static override flags = {\n ...cmdOpts.GlobalFlags,\n ...cmdOpts.VersionFlag,\n\n ...cmdOpts.AddressesFlags,\n ...cmdOpts.S3AddressesFlags,\n ...cmdOpts.PlBinaryFlag,\n ...cmdOpts.PlSourcesFlag,\n\n ...cmdOpts.ConfigFlag,\n\n ...cmdOpts.LicenseFlags,\n\n ...cmdOpts.StorageFlag,\n ...cmdOpts.StoragePrimaryURLFlag,\n ...cmdOpts.StorageWorkPathFlag,\n ...cmdOpts.StorageLibraryURLFlag,\n\n ...cmdOpts.PlLogFileFlag,\n ...cmdOpts.PlWorkdirFlag,\n ...cmdOpts.AuthFlags,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(S3);\n\n const logger = util.createLogger(flags['log-level']);\n const core = new Core(logger);\n core.mergeLicenseEnvs(flags);\n\n const instanceName = 'local-s3';\n\n const workdir = flags['pl-workdir'] ?? '.';\n const storage = flags.storage ? path.join(workdir, flags.storage) : state.instanceDir(instanceName);\n const logFile = flags['pl-log-file'] ? path.join(workdir, flags['pl-log-file']) : undefined;\n\n const authDrivers = core.initAuthDriversList(flags, workdir);\n const authEnabled = flags['auth-enabled'] ?? authDrivers !== undefined;\n\n let listenGrpc: string = '127.0.0.1:6345';\n if (flags['grpc-listen']) listenGrpc = flags['grpc-listen'];\n else if (flags['grpc-port']) listenGrpc = `127.0.0.1:${flags['grpc-port']}`;\n\n let listenMon: string = '127.0.0.1:9090';\n if (flags['monitoring-listen']) listenMon = flags['monitoring-listen'];\n else if (flags['monitoring-port']) listenMon = `127.0.0.1:${flags['monitoring-port']}`;\n\n let listenDbg: string = '127.0.0.1:9091';\n if (flags['debug-listen']) listenDbg = flags['debug-listen'];\n else if (flags['debug-port']) listenDbg = `127.0.0.1:${flags['debug-port']}`;\n\n const startOptions: createLocalS3Options = {\n sourcesPath: flags['pl-sources'],\n binaryPath: flags['pl-binary'],\n\n version: flags.version,\n configPath: flags.config,\n workdir: flags['pl-workdir'],\n\n primaryURL: flags['storage-primary'],\n libraryURL: flags['storage-library'],\n\n minioPort: flags['s3-port'],\n minioConsolePort: flags['s3-console-port'],\n\n configOptions: {\n grpc: { listen: listenGrpc },\n monitoring: { listen: listenMon },\n debug: { listen: listenDbg },\n license: { value: flags['license'], file: flags['license-file'] },\n log: { path: logFile },\n localRoot: storage,\n core: {\n auth: { enabled: authEnabled, drivers: authDrivers },\n },\n\n // Backend could consume a lot of CPU power,\n // we want to keep at least a couple for UI and other apps to work.\n numCpu: Math.max(os.cpus().length - 2, 1),\n\n storages: {\n work: { type: 'FS', rootPath: flags['storage-work'] },\n },\n },\n };\n\n const instance = core.createLocalS3(instanceName, startOptions);\n\n if (startOptions.binaryPath || startOptions.sourcesPath) {\n core.switchInstance(instance);\n } else {\n await platforma\n .getBinary(logger, { version: flags.version })\n .then(() => {\n const children = core.switchInstance(instance);\n\n // setTimeout(() => {\n // for (const child of children) {\n // child.unref();\n // }\n // }, 1000);\n\n const results: Promise<void>[] = [];\n for (const child of children) {\n results.push(new Promise((resolve, reject) => {\n child.on('close', resolve);\n child.on('error', reject);\n }));\n }\n\n return Promise.all(results);\n })\n .catch(function (err: Error) {\n logger.error(err.message);\n });\n }\n }\n}\n"],"names":["Command","cmdOpts.GlobalFlags","cmdOpts.VersionFlag","cmdOpts.AddressesFlags","cmdOpts.S3AddressesFlags","cmdOpts.PlBinaryFlag","cmdOpts.PlSourcesFlag","cmdOpts.ConfigFlag","cmdOpts.LicenseFlags","cmdOpts.StorageFlag","cmdOpts.StoragePrimaryURLFlag","cmdOpts.StorageWorkPathFlag","cmdOpts.StorageLibraryURLFlag","cmdOpts.PlLogFileFlag","cmdOpts.PlWorkdirFlag","cmdOpts.AuthFlags","util.createLogger","Core","os","platforma\n .getBinary"],"mappings":"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"}
|
|
@@ -1,35 +1,33 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
|
-
import { OptionFlag, CustomOptions, BooleanFlag } from '@oclif/core/interfaces';
|
|
3
2
|
export default class S3 extends Command {
|
|
4
3
|
static description: string;
|
|
5
4
|
static examples: string[];
|
|
6
5
|
static flags: {
|
|
7
|
-
'auth-ldap-default-dn': OptionFlag<string | undefined, CustomOptions>;
|
|
8
|
-
'auth-ldap-server': OptionFlag<string | undefined, CustomOptions>;
|
|
9
|
-
'auth-htpasswd-file': OptionFlag<string | undefined, CustomOptions>;
|
|
10
|
-
'auth-enabled': BooleanFlag<boolean>;
|
|
11
|
-
"pl-workdir": OptionFlag<string | undefined, CustomOptions>;
|
|
12
|
-
"pl-log-file": OptionFlag<string | undefined, CustomOptions>;
|
|
13
|
-
'storage-library': OptionFlag<string | undefined, CustomOptions>;
|
|
14
|
-
'storage-work': OptionFlag<string | undefined, CustomOptions>;
|
|
15
|
-
'storage-primary': OptionFlag<string | undefined, CustomOptions>;
|
|
16
|
-
storage: OptionFlag<string | undefined, CustomOptions>;
|
|
17
|
-
license: OptionFlag<string | undefined, CustomOptions>;
|
|
18
|
-
'license-file': OptionFlag<string | undefined, CustomOptions>;
|
|
19
|
-
config: OptionFlag<string | undefined, CustomOptions>;
|
|
20
|
-
"pl-sources": OptionFlag<string | undefined, CustomOptions>;
|
|
21
|
-
"pl-binary": OptionFlag<string | undefined, CustomOptions>;
|
|
22
|
-
's3-port': OptionFlag<number, CustomOptions>;
|
|
23
|
-
's3-console-port': OptionFlag<number, CustomOptions>;
|
|
24
|
-
'grpc-port': OptionFlag<number | undefined, CustomOptions>;
|
|
25
|
-
'grpc-listen': OptionFlag<string | undefined, CustomOptions>;
|
|
26
|
-
'monitoring-port': OptionFlag<number | undefined, CustomOptions>;
|
|
27
|
-
'monitoring-listen': OptionFlag<string | undefined, CustomOptions>;
|
|
28
|
-
'debug-port': OptionFlag<number | undefined, CustomOptions>;
|
|
29
|
-
'debug-listen': OptionFlag<string | undefined, CustomOptions>;
|
|
30
|
-
version: OptionFlag<string | undefined, CustomOptions>;
|
|
31
|
-
'log-level': OptionFlag<string, CustomOptions>;
|
|
6
|
+
'auth-ldap-default-dn': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
7
|
+
'auth-ldap-server': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
8
|
+
'auth-htpasswd-file': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
9
|
+
'auth-enabled': import('@oclif/core/interfaces').BooleanFlag<boolean>;
|
|
10
|
+
"pl-workdir": import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
11
|
+
"pl-log-file": import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
12
|
+
'storage-library': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
13
|
+
'storage-work': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
14
|
+
'storage-primary': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
15
|
+
storage: import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
16
|
+
license: import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
17
|
+
'license-file': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
18
|
+
config: import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
19
|
+
"pl-sources": import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
20
|
+
"pl-binary": import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
21
|
+
's3-port': import('@oclif/core/interfaces').OptionFlag<number, import('@oclif/core/interfaces').CustomOptions>;
|
|
22
|
+
's3-console-port': import('@oclif/core/interfaces').OptionFlag<number, import('@oclif/core/interfaces').CustomOptions>;
|
|
23
|
+
'grpc-port': import('@oclif/core/interfaces').OptionFlag<number | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
24
|
+
'grpc-listen': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
25
|
+
'monitoring-port': import('@oclif/core/interfaces').OptionFlag<number | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
26
|
+
'monitoring-listen': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
27
|
+
'debug-port': import('@oclif/core/interfaces').OptionFlag<number | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
28
|
+
'debug-listen': import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
29
|
+
version: import('@oclif/core/interfaces').OptionFlag<string | undefined, import('@oclif/core/interfaces').CustomOptions>;
|
|
30
|
+
'log-level': import('@oclif/core/interfaces').OptionFlag<string, import('@oclif/core/interfaces').CustomOptions>;
|
|
32
31
|
};
|
|
33
32
|
run(): Promise<void>;
|
|
34
33
|
}
|
|
35
|
-
//# sourceMappingURL=s3.d.ts.map
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { Command } from '@oclif/core';
|
|
3
|
+
import Core from '../../../core.js';
|
|
4
|
+
import { AuthFlags, PlWorkdirFlag, PlLogFileFlag, StorageLibraryURLFlag, StorageWorkPathFlag, StoragePrimaryURLFlag, StorageFlag, LicenseFlags, ConfigFlag, PlSourcesFlag, PlBinaryFlag, S3AddressesFlags, AddressesFlags, VersionFlag, GlobalFlags } from '../../../cmd-opts.js';
|
|
5
|
+
import { getBinary } from '../../../platforma.js';
|
|
6
|
+
import { createLogger } from '../../../util.js';
|
|
7
|
+
import state from '../../../state.js';
|
|
8
|
+
import * as os from 'node:os';
|
|
9
|
+
|
|
10
|
+
class S3 extends Command {
|
|
11
|
+
static description = 'Run Platforma Backend service as local process on current host (no docker container)';
|
|
12
|
+
static examples = ['<%= config.bin %> <%= command.id %>'];
|
|
13
|
+
static flags = {
|
|
14
|
+
...GlobalFlags,
|
|
15
|
+
...VersionFlag,
|
|
16
|
+
...AddressesFlags,
|
|
17
|
+
...S3AddressesFlags,
|
|
18
|
+
...PlBinaryFlag,
|
|
19
|
+
...PlSourcesFlag,
|
|
20
|
+
...ConfigFlag,
|
|
21
|
+
...LicenseFlags,
|
|
22
|
+
...StorageFlag,
|
|
23
|
+
...StoragePrimaryURLFlag,
|
|
24
|
+
...StorageWorkPathFlag,
|
|
25
|
+
...StorageLibraryURLFlag,
|
|
26
|
+
...PlLogFileFlag,
|
|
27
|
+
...PlWorkdirFlag,
|
|
28
|
+
...AuthFlags,
|
|
29
|
+
};
|
|
30
|
+
async run() {
|
|
31
|
+
const { flags } = await this.parse(S3);
|
|
32
|
+
const logger = createLogger(flags['log-level']);
|
|
33
|
+
const core = new Core(logger);
|
|
34
|
+
core.mergeLicenseEnvs(flags);
|
|
35
|
+
const instanceName = 'local-s3';
|
|
36
|
+
const workdir = flags['pl-workdir'] ?? '.';
|
|
37
|
+
const storage = flags.storage ? path.join(workdir, flags.storage) : state.instanceDir(instanceName);
|
|
38
|
+
const logFile = flags['pl-log-file'] ? path.join(workdir, flags['pl-log-file']) : undefined;
|
|
39
|
+
const authDrivers = core.initAuthDriversList(flags, workdir);
|
|
40
|
+
const authEnabled = flags['auth-enabled'] ?? authDrivers !== undefined;
|
|
41
|
+
let listenGrpc = '127.0.0.1:6345';
|
|
42
|
+
if (flags['grpc-listen'])
|
|
43
|
+
listenGrpc = flags['grpc-listen'];
|
|
44
|
+
else if (flags['grpc-port'])
|
|
45
|
+
listenGrpc = `127.0.0.1:${flags['grpc-port']}`;
|
|
46
|
+
let listenMon = '127.0.0.1:9090';
|
|
47
|
+
if (flags['monitoring-listen'])
|
|
48
|
+
listenMon = flags['monitoring-listen'];
|
|
49
|
+
else if (flags['monitoring-port'])
|
|
50
|
+
listenMon = `127.0.0.1:${flags['monitoring-port']}`;
|
|
51
|
+
let listenDbg = '127.0.0.1:9091';
|
|
52
|
+
if (flags['debug-listen'])
|
|
53
|
+
listenDbg = flags['debug-listen'];
|
|
54
|
+
else if (flags['debug-port'])
|
|
55
|
+
listenDbg = `127.0.0.1:${flags['debug-port']}`;
|
|
56
|
+
const startOptions = {
|
|
57
|
+
sourcesPath: flags['pl-sources'],
|
|
58
|
+
binaryPath: flags['pl-binary'],
|
|
59
|
+
version: flags.version,
|
|
60
|
+
configPath: flags.config,
|
|
61
|
+
workdir: flags['pl-workdir'],
|
|
62
|
+
primaryURL: flags['storage-primary'],
|
|
63
|
+
libraryURL: flags['storage-library'],
|
|
64
|
+
minioPort: flags['s3-port'],
|
|
65
|
+
minioConsolePort: flags['s3-console-port'],
|
|
66
|
+
configOptions: {
|
|
67
|
+
grpc: { listen: listenGrpc },
|
|
68
|
+
monitoring: { listen: listenMon },
|
|
69
|
+
debug: { listen: listenDbg },
|
|
70
|
+
license: { value: flags['license'], file: flags['license-file'] },
|
|
71
|
+
log: { path: logFile },
|
|
72
|
+
localRoot: storage,
|
|
73
|
+
core: {
|
|
74
|
+
auth: { enabled: authEnabled, drivers: authDrivers },
|
|
75
|
+
},
|
|
76
|
+
// Backend could consume a lot of CPU power,
|
|
77
|
+
// we want to keep at least a couple for UI and other apps to work.
|
|
78
|
+
numCpu: Math.max(os.cpus().length - 2, 1),
|
|
79
|
+
storages: {
|
|
80
|
+
work: { type: 'FS', rootPath: flags['storage-work'] },
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
const instance = core.createLocalS3(instanceName, startOptions);
|
|
85
|
+
if (startOptions.binaryPath || startOptions.sourcesPath) {
|
|
86
|
+
core.switchInstance(instance);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
await getBinary(logger, { version: flags.version })
|
|
90
|
+
.then(() => {
|
|
91
|
+
const children = core.switchInstance(instance);
|
|
92
|
+
// setTimeout(() => {
|
|
93
|
+
// for (const child of children) {
|
|
94
|
+
// child.unref();
|
|
95
|
+
// }
|
|
96
|
+
// }, 1000);
|
|
97
|
+
const results = [];
|
|
98
|
+
for (const child of children) {
|
|
99
|
+
results.push(new Promise((resolve, reject) => {
|
|
100
|
+
child.on('close', resolve);
|
|
101
|
+
child.on('error', reject);
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
return Promise.all(results);
|
|
105
|
+
})
|
|
106
|
+
.catch(function (err) {
|
|
107
|
+
logger.error(err.message);
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export { S3 as default };
|
|
114
|
+
//# sourceMappingURL=s3.js.map
|