@platforma-sdk/bootstrap 5.2.41 → 5.2.43

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.
Files changed (168) hide show
  1. package/README.md +10 -2
  2. package/assets/compose-backend.yaml +2 -2
  3. package/bin/run.js +3 -3
  4. package/dist/block.cjs +36 -31
  5. package/dist/block.cjs.map +1 -1
  6. package/dist/block.d.ts +2 -2
  7. package/dist/block.d.ts.map +1 -1
  8. package/dist/block.js +36 -31
  9. package/dist/block.js.map +1 -1
  10. package/dist/cmd-opts.cjs +74 -74
  11. package/dist/cmd-opts.cjs.map +1 -1
  12. package/dist/cmd-opts.d.ts +23 -23
  13. package/dist/cmd-opts.d.ts.map +1 -1
  14. package/dist/cmd-opts.js +74 -74
  15. package/dist/cmd-opts.js.map +1 -1
  16. package/dist/commands/create-block.cjs +3 -3
  17. package/dist/commands/create-block.cjs.map +1 -1
  18. package/dist/commands/create-block.d.ts +2 -2
  19. package/dist/commands/create-block.d.ts.map +1 -1
  20. package/dist/commands/create-block.js +3 -3
  21. package/dist/commands/create-block.js.map +1 -1
  22. package/dist/commands/reset.cjs +3 -3
  23. package/dist/commands/reset.cjs.map +1 -1
  24. package/dist/commands/reset.d.ts +2 -2
  25. package/dist/commands/reset.d.ts.map +1 -1
  26. package/dist/commands/reset.js +3 -3
  27. package/dist/commands/reset.js.map +1 -1
  28. package/dist/commands/start/docker/s3.cjs +18 -18
  29. package/dist/commands/start/docker/s3.cjs.map +1 -1
  30. package/dist/commands/start/docker/s3.d.ts +15 -15
  31. package/dist/commands/start/docker/s3.d.ts.map +1 -1
  32. package/dist/commands/start/docker/s3.js +18 -18
  33. package/dist/commands/start/docker/s3.js.map +1 -1
  34. package/dist/commands/start/docker.cjs +18 -18
  35. package/dist/commands/start/docker.cjs.map +1 -1
  36. package/dist/commands/start/docker.d.ts +16 -16
  37. package/dist/commands/start/docker.d.ts.map +1 -1
  38. package/dist/commands/start/docker.js +18 -18
  39. package/dist/commands/start/docker.js.map +1 -1
  40. package/dist/commands/start/local/s3.cjs +36 -34
  41. package/dist/commands/start/local/s3.cjs.map +1 -1
  42. package/dist/commands/start/local/s3.d.ts +18 -18
  43. package/dist/commands/start/local/s3.d.ts.map +1 -1
  44. package/dist/commands/start/local/s3.js +36 -34
  45. package/dist/commands/start/local/s3.js.map +1 -1
  46. package/dist/commands/start/local.cjs +32 -30
  47. package/dist/commands/start/local.cjs.map +1 -1
  48. package/dist/commands/start/local.d.ts +16 -16
  49. package/dist/commands/start/local.d.ts.map +1 -1
  50. package/dist/commands/start/local.js +32 -30
  51. package/dist/commands/start/local.js.map +1 -1
  52. package/dist/commands/start.cjs +3 -3
  53. package/dist/commands/start.cjs.map +1 -1
  54. package/dist/commands/start.d.ts +2 -2
  55. package/dist/commands/start.js +3 -3
  56. package/dist/commands/start.js.map +1 -1
  57. package/dist/commands/stop.cjs +4 -4
  58. package/dist/commands/stop.cjs.map +1 -1
  59. package/dist/commands/stop.d.ts +2 -2
  60. package/dist/commands/stop.js +4 -4
  61. package/dist/commands/stop.js.map +1 -1
  62. package/dist/commands/svc/create/arg-parser.cjs +13 -13
  63. package/dist/commands/svc/create/arg-parser.cjs.map +1 -1
  64. package/dist/commands/svc/create/arg-parser.d.ts +1 -1
  65. package/dist/commands/svc/create/arg-parser.js +13 -13
  66. package/dist/commands/svc/create/arg-parser.js.map +1 -1
  67. package/dist/commands/svc/create/docker/s3.cjs +27 -27
  68. package/dist/commands/svc/create/docker/s3.cjs.map +1 -1
  69. package/dist/commands/svc/create/docker/s3.d.ts +15 -15
  70. package/dist/commands/svc/create/docker/s3.d.ts.map +1 -1
  71. package/dist/commands/svc/create/docker/s3.js +27 -27
  72. package/dist/commands/svc/create/docker/s3.js.map +1 -1
  73. package/dist/commands/svc/create/docker.cjs +35 -35
  74. package/dist/commands/svc/create/docker.cjs.map +1 -1
  75. package/dist/commands/svc/create/docker.d.ts +16 -16
  76. package/dist/commands/svc/create/docker.js +35 -35
  77. package/dist/commands/svc/create/docker.js.map +1 -1
  78. package/dist/commands/svc/create/local/s3.cjs +37 -35
  79. package/dist/commands/svc/create/local/s3.cjs.map +1 -1
  80. package/dist/commands/svc/create/local/s3.d.ts +18 -18
  81. package/dist/commands/svc/create/local/s3.d.ts.map +1 -1
  82. package/dist/commands/svc/create/local/s3.js +37 -35
  83. package/dist/commands/svc/create/local/s3.js.map +1 -1
  84. package/dist/commands/svc/create/local.cjs +35 -35
  85. package/dist/commands/svc/create/local.cjs.map +1 -1
  86. package/dist/commands/svc/create/local.d.ts +16 -16
  87. package/dist/commands/svc/create/local.d.ts.map +1 -1
  88. package/dist/commands/svc/create/local.js +35 -35
  89. package/dist/commands/svc/create/local.js.map +1 -1
  90. package/dist/commands/svc/delete.cjs +4 -4
  91. package/dist/commands/svc/delete.cjs.map +1 -1
  92. package/dist/commands/svc/delete.d.ts +2 -2
  93. package/dist/commands/svc/delete.js +4 -4
  94. package/dist/commands/svc/delete.js.map +1 -1
  95. package/dist/commands/svc/down.cjs +3 -3
  96. package/dist/commands/svc/down.cjs.map +1 -1
  97. package/dist/commands/svc/down.d.ts +2 -2
  98. package/dist/commands/svc/down.js +3 -3
  99. package/dist/commands/svc/down.js.map +1 -1
  100. package/dist/commands/svc/list.cjs +5 -5
  101. package/dist/commands/svc/list.cjs.map +1 -1
  102. package/dist/commands/svc/list.d.ts +1 -1
  103. package/dist/commands/svc/list.d.ts.map +1 -1
  104. package/dist/commands/svc/list.js +5 -5
  105. package/dist/commands/svc/list.js.map +1 -1
  106. package/dist/commands/svc/up.cjs +5 -5
  107. package/dist/commands/svc/up.cjs.map +1 -1
  108. package/dist/commands/svc/up.d.ts +2 -2
  109. package/dist/commands/svc/up.d.ts.map +1 -1
  110. package/dist/commands/svc/up.js +5 -5
  111. package/dist/commands/svc/up.js.map +1 -1
  112. package/dist/core.cjs +261 -231
  113. package/dist/core.cjs.map +1 -1
  114. package/dist/core.d.ts +10 -10
  115. package/dist/core.d.ts.map +1 -1
  116. package/dist/core.js +261 -231
  117. package/dist/core.js.map +1 -1
  118. package/dist/index.cjs +16 -16
  119. package/dist/index.cjs.map +1 -1
  120. package/dist/index.d.ts +29 -29
  121. package/dist/index.js +16 -16
  122. package/dist/index.js.map +1 -1
  123. package/dist/package.cjs +2 -2
  124. package/dist/package.cjs.map +1 -1
  125. package/dist/package.js +2 -2
  126. package/dist/package.js.map +1 -1
  127. package/dist/platforma.cjs +24 -24
  128. package/dist/platforma.cjs.map +1 -1
  129. package/dist/platforma.d.ts +1 -1
  130. package/dist/platforma.d.ts.map +1 -1
  131. package/dist/platforma.js +24 -24
  132. package/dist/platforma.js.map +1 -1
  133. package/dist/run.cjs +6 -6
  134. package/dist/run.cjs.map +1 -1
  135. package/dist/run.d.ts +3 -3
  136. package/dist/run.d.ts.map +1 -1
  137. package/dist/run.js +6 -6
  138. package/dist/run.js.map +1 -1
  139. package/dist/state.cjs +16 -14
  140. package/dist/state.cjs.map +1 -1
  141. package/dist/state.d.ts +5 -5
  142. package/dist/state.d.ts.map +1 -1
  143. package/dist/state.js +16 -14
  144. package/dist/state.js.map +1 -1
  145. package/dist/templates/compose.cjs +2 -2
  146. package/dist/templates/compose.cjs.map +1 -1
  147. package/dist/templates/compose.d.ts.map +1 -1
  148. package/dist/templates/compose.js +2 -2
  149. package/dist/templates/compose.js.map +1 -1
  150. package/dist/templates/pl-config.cjs +49 -49
  151. package/dist/templates/pl-config.cjs.map +1 -1
  152. package/dist/templates/pl-config.d.ts +2 -2
  153. package/dist/templates/pl-config.d.ts.map +1 -1
  154. package/dist/templates/pl-config.js +49 -49
  155. package/dist/templates/pl-config.js.map +1 -1
  156. package/dist/templates/types.cjs +12 -12
  157. package/dist/templates/types.cjs.map +1 -1
  158. package/dist/templates/types.d.ts +6 -6
  159. package/dist/templates/types.d.ts.map +1 -1
  160. package/dist/templates/types.js +12 -12
  161. package/dist/templates/types.js.map +1 -1
  162. package/dist/util.cjs +19 -17
  163. package/dist/util.cjs.map +1 -1
  164. package/dist/util.d.ts +2 -2
  165. package/dist/util.d.ts.map +1 -1
  166. package/dist/util.js +19 -17
  167. package/dist/util.js.map +1 -1
  168. package/package.json +23 -22
@@ -30,8 +30,8 @@ function _interopNamespaceDefault(e) {
30
30
  var os__namespace = /*#__PURE__*/_interopNamespaceDefault(os);
31
31
 
32
32
  class Local extends core.Command {
33
- static description = 'Run Platforma Backend service as local process on current host (no docker container)';
34
- static examples = ['<%= config.bin %> <%= command.id %>'];
33
+ static description = "Run Platforma Backend service as local process on current host (no docker container)";
34
+ static examples = ["<%= config.bin %> <%= command.id %>"];
35
35
  static flags = {
36
36
  ...cmdOpts.GlobalFlags,
37
37
  ...cmdOpts.VersionFlag,
@@ -59,58 +59,60 @@ class Local extends core.Command {
59
59
  // Validate required flags
60
60
  const errors = parser.validateRequired(parsed.knownFlags);
61
61
  if (errors.length > 0) {
62
- throw new Error(`Validation errors:\n${errors.join('\n')}`);
62
+ throw new Error(`Validation errors:\n${errors.join("\n")}`);
63
63
  }
64
64
  const instanceName = parsed.instanceName;
65
65
  const flags = parsed.knownFlags;
66
66
  const backendCommands = parsed.unknownFlags;
67
- if (flags['log-level']) {
68
- backendCommands.push(`--log-level=${flags['log-level']}`);
67
+ if (flags["log-level"]) {
68
+ backendCommands.push(`--log-level=${flags["log-level"]}`);
69
69
  }
70
- const logger = util.createLogger(flags['log-level'] || 'info');
70
+ const logger = util.createLogger(flags["log-level"] || "info");
71
71
  const core = new core$1.default(logger);
72
72
  core.mergeLicenseEnvs(flags);
73
- const workdir = flags['pl-workdir'] ?? '.';
74
- const storage = flags.storage ? path.join(workdir, flags.storage) : state.instanceDir(instanceName);
75
- const logFile = flags['pl-log-file'] ? path.join(workdir, flags['pl-log-file']) : undefined;
73
+ const workdir = flags["pl-workdir"] ?? ".";
74
+ const storage = flags.storage
75
+ ? path.join(workdir, flags.storage)
76
+ : state.instanceDir(instanceName);
77
+ const logFile = flags["pl-log-file"] ? path.join(workdir, flags["pl-log-file"]) : undefined;
76
78
  const authDrivers = core.initAuthDriversList(flags, workdir);
77
- const authEnabled = flags['auth-enabled'] ?? authDrivers !== undefined;
78
- let listenGrpc = '127.0.0.1:6345';
79
- if (flags['grpc-listen'])
80
- listenGrpc = flags['grpc-listen'];
81
- else if (flags['grpc-port'])
82
- listenGrpc = `127.0.0.1:${flags['grpc-port']}`;
83
- let listenMon = '127.0.0.1:9090';
84
- if (flags['monitoring-listen'])
85
- listenMon = flags['monitoring-listen'];
86
- else if (flags['monitoring-port'])
87
- listenMon = `127.0.0.1:${flags['monitoring-port']}`;
88
- let listenDbg = '127.0.0.1:9091';
89
- if (flags['debug-listen'])
90
- listenDbg = flags['debug-listen'];
91
- else if (flags['debug-port'])
92
- listenDbg = `127.0.0.1:${flags['debug-port']}`;
79
+ const authEnabled = flags["auth-enabled"] ?? authDrivers !== undefined;
80
+ let listenGrpc = "127.0.0.1:6345";
81
+ if (flags["grpc-listen"])
82
+ listenGrpc = flags["grpc-listen"];
83
+ else if (flags["grpc-port"])
84
+ listenGrpc = `127.0.0.1:${flags["grpc-port"]}`;
85
+ let listenMon = "127.0.0.1:9090";
86
+ if (flags["monitoring-listen"])
87
+ listenMon = flags["monitoring-listen"];
88
+ else if (flags["monitoring-port"])
89
+ listenMon = `127.0.0.1:${flags["monitoring-port"]}`;
90
+ let listenDbg = "127.0.0.1:9091";
91
+ if (flags["debug-listen"])
92
+ listenDbg = flags["debug-listen"];
93
+ else if (flags["debug-port"])
94
+ listenDbg = `127.0.0.1:${flags["debug-port"]}`;
93
95
  const createOptions = {
94
- sourcesPath: flags['pl-sources'],
95
- binaryPath: flags['pl-binary'],
96
+ sourcesPath: flags["pl-sources"],
97
+ binaryPath: flags["pl-binary"],
96
98
  version: flags.version,
97
99
  configPath: flags.config,
98
- workdir: flags['pl-workdir'],
99
- primaryURL: flags['storage-primary'],
100
- libraryURL: flags['storage-library'],
101
- minioPort: flags['s3-port'],
102
- minioConsolePort: flags['s3-console-port'],
100
+ workdir: flags["pl-workdir"],
101
+ primaryURL: flags["storage-primary"],
102
+ libraryURL: flags["storage-library"],
103
+ minioPort: flags["s3-port"],
104
+ minioConsolePort: flags["s3-console-port"],
103
105
  backendCommands: backendCommands,
104
106
  configOptions: {
105
107
  grpc: { listen: listenGrpc },
106
108
  monitoring: { listen: listenMon },
107
109
  debug: { listen: listenDbg },
108
- license: { value: flags['license'], file: flags['license-file'] },
110
+ license: { value: flags["license"], file: flags["license-file"] },
109
111
  log: { path: logFile },
110
112
  localRoot: storage,
111
113
  core: { auth: { enabled: authEnabled, drivers: authDrivers } },
112
114
  storages: {
113
- work: { type: 'FS', rootPath: flags['storage-work'] },
115
+ work: { type: "FS", rootPath: flags["storage-work"] },
114
116
  },
115
117
  // Backend could consume a lot of CPU power,
116
118
  // we want to keep at least a couple for UI and other apps to work.
@@ -130,7 +132,7 @@ class Local extends core.Command {
130
132
  });
131
133
  // Log unknown flags that will be passed to backend
132
134
  if (backendCommands.length > 0) {
133
- logger.info(`Unknown flags will be passed to backend: ${backendCommands.join(' ')}`);
135
+ logger.info(`Unknown flags will be passed to backend: ${backendCommands.join(" ")}`);
134
136
  }
135
137
  }
136
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"s3.cjs","sources":["../../../../../src/commands/svc/create/local/s3.ts"],"sourcesContent":["import { Command, Args } from '@oclif/core';\nimport path from 'node:path';\nimport type { createLocalS3Options } from '../../../../core';\nimport Core from '../../../../core';\nimport * as cmdOpts from '../../../../cmd-opts';\nimport * as util from '../../../../util';\nimport state from '../../../../state';\nimport * as platforma from '../../../../platforma';\nimport * as os from 'node:os';\nimport { ArgParser } from '../arg-parser';\n\nexport default class Local 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.S3AddressesFlags,\n ...cmdOpts.AddressesFlags,\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 static override args = {\n name: Args.string({ required: true }),\n };\n\n public async run(): Promise<void> {\n // Use custom parser instead of OCLIF parse\n const parser = new ArgParser(Local.flags);\n const parsed = parser.parse(this.argv);\n\n // Validate required flags\n const errors = parser.validateRequired(parsed.knownFlags);\n if (errors.length > 0) {\n throw new Error(`Validation errors:\\n${errors.join('\\n')}`);\n }\n\n const instanceName = parsed.instanceName;\n const flags = parsed.knownFlags;\n const backendCommands = parsed.unknownFlags;\n if (flags['log-level']) {\n backendCommands.push(`--log-level=${flags['log-level']}`);\n }\n\n const logger = util.createLogger(flags['log-level'] || 'info');\n const core = new Core(logger);\n core.mergeLicenseEnvs(flags);\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 createOptions: 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 backendCommands: backendCommands,\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: { auth: { enabled: authEnabled, drivers: authDrivers } },\n storages: {\n work: { type: 'FS', rootPath: flags['storage-work'] },\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\n };\n\n logger.info(`Creating instance configuration, data directory and other stuff...`);\n core.createLocalS3(instanceName, createOptions);\n\n if (createOptions.binaryPath || createOptions.sourcesPath) {\n logger.info(`Instance '${instanceName}' was created. To start it run 'up' command`);\n return;\n }\n\n platforma\n .getBinary(logger, { version: flags.version })\n .then(() => logger.info(`Instance '${instanceName}' was created. To start it run 'svc up' command`))\n .catch(function (err: Error) {\n logger.error(err.message);\n });\n\n // Log unknown flags that will be passed to backend\n if (backendCommands.length > 0) {\n logger.info(`Unknown flags will be passed to backend: ${backendCommands.join(' ')}`);\n }\n }\n}\n"],"names":["Command","cmdOpts.GlobalFlags","cmdOpts.VersionFlag","cmdOpts.S3AddressesFlags","cmdOpts.AddressesFlags","cmdOpts.PlBinaryFlag","cmdOpts.PlSourcesFlag","cmdOpts.ConfigFlag","cmdOpts.LicenseFlags","cmdOpts.StorageFlag","cmdOpts.StoragePrimaryURLFlag","cmdOpts.StorageWorkPathFlag","cmdOpts.StorageLibraryURLFlag","cmdOpts.PlLogFileFlag","cmdOpts.PlWorkdirFlag","cmdOpts.AuthFlags","Args","ArgParser","util.createLogger","Core","os","platforma\n .getBinary"],"mappings":"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"}
1
+ {"version":3,"file":"s3.cjs","sources":["../../../../../src/commands/svc/create/local/s3.ts"],"sourcesContent":["import { Command, Args } from \"@oclif/core\";\nimport path from \"node:path\";\nimport type { createLocalS3Options } from \"../../../../core\";\nimport Core from \"../../../../core\";\nimport * as cmdOpts from \"../../../../cmd-opts\";\nimport * as util from \"../../../../util\";\nimport state from \"../../../../state\";\nimport * as platforma from \"../../../../platforma\";\nimport * as os from \"node:os\";\nimport { ArgParser } from \"../arg-parser\";\n\nexport default class Local extends Command {\n static override description =\n \"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.S3AddressesFlags,\n ...cmdOpts.AddressesFlags,\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 static override args = {\n name: Args.string({ required: true }),\n };\n\n public async run(): Promise<void> {\n // Use custom parser instead of OCLIF parse\n const parser = new ArgParser(Local.flags);\n const parsed = parser.parse(this.argv);\n\n // Validate required flags\n const errors = parser.validateRequired(parsed.knownFlags);\n if (errors.length > 0) {\n throw new Error(`Validation errors:\\n${errors.join(\"\\n\")}`);\n }\n\n const instanceName = parsed.instanceName;\n const flags = parsed.knownFlags;\n const backendCommands = parsed.unknownFlags;\n if (flags[\"log-level\"]) {\n backendCommands.push(`--log-level=${flags[\"log-level\"]}`);\n }\n\n const logger = util.createLogger(flags[\"log-level\"] || \"info\");\n const core = new Core(logger);\n core.mergeLicenseEnvs(flags);\n\n const workdir = flags[\"pl-workdir\"] ?? \".\";\n const storage = flags.storage\n ? path.join(workdir, flags.storage)\n : 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 createOptions: 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 backendCommands: backendCommands,\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: { auth: { enabled: authEnabled, drivers: authDrivers } },\n storages: {\n work: { type: \"FS\", rootPath: flags[\"storage-work\"] },\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 };\n\n logger.info(`Creating instance configuration, data directory and other stuff...`);\n core.createLocalS3(instanceName, createOptions);\n\n if (createOptions.binaryPath || createOptions.sourcesPath) {\n logger.info(`Instance '${instanceName}' was created. To start it run 'up' command`);\n return;\n }\n\n platforma\n .getBinary(logger, { version: flags.version })\n .then(() =>\n logger.info(`Instance '${instanceName}' was created. To start it run 'svc up' command`),\n )\n .catch(function (err: Error) {\n logger.error(err.message);\n });\n\n // Log unknown flags that will be passed to backend\n if (backendCommands.length > 0) {\n logger.info(`Unknown flags will be passed to backend: ${backendCommands.join(\" \")}`);\n }\n }\n}\n"],"names":["Command","cmdOpts.GlobalFlags","cmdOpts.VersionFlag","cmdOpts.S3AddressesFlags","cmdOpts.AddressesFlags","cmdOpts.PlBinaryFlag","cmdOpts.PlSourcesFlag","cmdOpts.ConfigFlag","cmdOpts.LicenseFlags","cmdOpts.StorageFlag","cmdOpts.StoragePrimaryURLFlag","cmdOpts.StorageWorkPathFlag","cmdOpts.StorageLibraryURLFlag","cmdOpts.PlLogFileFlag","cmdOpts.PlWorkdirFlag","cmdOpts.AuthFlags","Args","ArgParser","util.createLogger","Core","os","platforma\n .getBinary"],"mappings":"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"}
@@ -1,33 +1,33 @@
1
- import { Command } from '@oclif/core';
1
+ import { Command } from "@oclif/core";
2
2
  export default class Local extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- 'auth-ldap-default-dn': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
- 'auth-ldap-server': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
- 'auth-htpasswd-file': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
- 'auth-enabled': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
6
+ "auth-ldap-default-dn": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ "auth-ldap-server": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ "auth-htpasswd-file": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ "auth-enabled": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
10
  "pl-workdir": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
11
  "pl-log-file": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
- 'storage-library': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
- 'storage-work': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
14
- 'storage-primary': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ "storage-library": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
+ "storage-work": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
14
+ "storage-primary": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
15
15
  storage: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
16
16
  license: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
17
- 'license-file': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
17
+ "license-file": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
18
18
  config: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
19
19
  "pl-sources": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
20
20
  "pl-binary": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
21
- 'grpc-port': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
22
- 'grpc-listen': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
23
- 'monitoring-port': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
24
- 'monitoring-listen': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
25
- 'debug-port': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
26
- 'debug-listen': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
27
- 's3-port': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
28
- 's3-console-port': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
21
+ "grpc-port": import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
22
+ "grpc-listen": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
23
+ "monitoring-port": import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
24
+ "monitoring-listen": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
25
+ "debug-port": import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
26
+ "debug-listen": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
27
+ "s3-port": import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
28
+ "s3-console-port": import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
29
29
  version: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
30
- 'log-level': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
30
+ "log-level": import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
31
31
  };
32
32
  static args: {
33
33
  name: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
@@ -1 +1 @@
1
- {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../../../../src/commands/svc/create/local/s3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,aAAa,CAAC;AAW5C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,OAAgB,WAAW,SAA0F;IAErH,OAAgB,QAAQ,WAA2C;IAEnE,OAAgB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;MAqBnB;IAEF,OAAgB,IAAI;;MAElB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgGlC"}
1
+ {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../../../../src/commands/svc/create/local/s3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,aAAa,CAAC;AAW5C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,OAAgB,WAAW,SAC8D;IAEzF,OAAgB,QAAQ,WAA2C;IAEnE,OAAgB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;MAqBnB;IAEF,OAAgB,IAAI;;MAElB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmGlC"}
@@ -9,8 +9,8 @@ import * as os from 'node:os';
9
9
  import { ArgParser } from '../arg-parser.js';
10
10
 
11
11
  class Local extends Command {
12
- static description = 'Run Platforma Backend service as local process on current host (no docker container)';
13
- static examples = ['<%= config.bin %> <%= command.id %>'];
12
+ static description = "Run Platforma Backend service as local process on current host (no docker container)";
13
+ static examples = ["<%= config.bin %> <%= command.id %>"];
14
14
  static flags = {
15
15
  ...GlobalFlags,
16
16
  ...VersionFlag,
@@ -38,58 +38,60 @@ class Local extends Command {
38
38
  // Validate required flags
39
39
  const errors = parser.validateRequired(parsed.knownFlags);
40
40
  if (errors.length > 0) {
41
- throw new Error(`Validation errors:\n${errors.join('\n')}`);
41
+ throw new Error(`Validation errors:\n${errors.join("\n")}`);
42
42
  }
43
43
  const instanceName = parsed.instanceName;
44
44
  const flags = parsed.knownFlags;
45
45
  const backendCommands = parsed.unknownFlags;
46
- if (flags['log-level']) {
47
- backendCommands.push(`--log-level=${flags['log-level']}`);
46
+ if (flags["log-level"]) {
47
+ backendCommands.push(`--log-level=${flags["log-level"]}`);
48
48
  }
49
- const logger = createLogger(flags['log-level'] || 'info');
49
+ const logger = createLogger(flags["log-level"] || "info");
50
50
  const core = new Core(logger);
51
51
  core.mergeLicenseEnvs(flags);
52
- const workdir = flags['pl-workdir'] ?? '.';
53
- const storage = flags.storage ? path.join(workdir, flags.storage) : state.instanceDir(instanceName);
54
- const logFile = flags['pl-log-file'] ? path.join(workdir, flags['pl-log-file']) : undefined;
52
+ const workdir = flags["pl-workdir"] ?? ".";
53
+ const storage = flags.storage
54
+ ? path.join(workdir, flags.storage)
55
+ : state.instanceDir(instanceName);
56
+ const logFile = flags["pl-log-file"] ? path.join(workdir, flags["pl-log-file"]) : undefined;
55
57
  const authDrivers = core.initAuthDriversList(flags, workdir);
56
- const authEnabled = flags['auth-enabled'] ?? authDrivers !== undefined;
57
- let listenGrpc = '127.0.0.1:6345';
58
- if (flags['grpc-listen'])
59
- listenGrpc = flags['grpc-listen'];
60
- else if (flags['grpc-port'])
61
- listenGrpc = `127.0.0.1:${flags['grpc-port']}`;
62
- let listenMon = '127.0.0.1:9090';
63
- if (flags['monitoring-listen'])
64
- listenMon = flags['monitoring-listen'];
65
- else if (flags['monitoring-port'])
66
- listenMon = `127.0.0.1:${flags['monitoring-port']}`;
67
- let listenDbg = '127.0.0.1:9091';
68
- if (flags['debug-listen'])
69
- listenDbg = flags['debug-listen'];
70
- else if (flags['debug-port'])
71
- listenDbg = `127.0.0.1:${flags['debug-port']}`;
58
+ const authEnabled = flags["auth-enabled"] ?? authDrivers !== undefined;
59
+ let listenGrpc = "127.0.0.1:6345";
60
+ if (flags["grpc-listen"])
61
+ listenGrpc = flags["grpc-listen"];
62
+ else if (flags["grpc-port"])
63
+ listenGrpc = `127.0.0.1:${flags["grpc-port"]}`;
64
+ let listenMon = "127.0.0.1:9090";
65
+ if (flags["monitoring-listen"])
66
+ listenMon = flags["monitoring-listen"];
67
+ else if (flags["monitoring-port"])
68
+ listenMon = `127.0.0.1:${flags["monitoring-port"]}`;
69
+ let listenDbg = "127.0.0.1:9091";
70
+ if (flags["debug-listen"])
71
+ listenDbg = flags["debug-listen"];
72
+ else if (flags["debug-port"])
73
+ listenDbg = `127.0.0.1:${flags["debug-port"]}`;
72
74
  const createOptions = {
73
- sourcesPath: flags['pl-sources'],
74
- binaryPath: flags['pl-binary'],
75
+ sourcesPath: flags["pl-sources"],
76
+ binaryPath: flags["pl-binary"],
75
77
  version: flags.version,
76
78
  configPath: flags.config,
77
- workdir: flags['pl-workdir'],
78
- primaryURL: flags['storage-primary'],
79
- libraryURL: flags['storage-library'],
80
- minioPort: flags['s3-port'],
81
- minioConsolePort: flags['s3-console-port'],
79
+ workdir: flags["pl-workdir"],
80
+ primaryURL: flags["storage-primary"],
81
+ libraryURL: flags["storage-library"],
82
+ minioPort: flags["s3-port"],
83
+ minioConsolePort: flags["s3-console-port"],
82
84
  backendCommands: backendCommands,
83
85
  configOptions: {
84
86
  grpc: { listen: listenGrpc },
85
87
  monitoring: { listen: listenMon },
86
88
  debug: { listen: listenDbg },
87
- license: { value: flags['license'], file: flags['license-file'] },
89
+ license: { value: flags["license"], file: flags["license-file"] },
88
90
  log: { path: logFile },
89
91
  localRoot: storage,
90
92
  core: { auth: { enabled: authEnabled, drivers: authDrivers } },
91
93
  storages: {
92
- work: { type: 'FS', rootPath: flags['storage-work'] },
94
+ work: { type: "FS", rootPath: flags["storage-work"] },
93
95
  },
94
96
  // Backend could consume a lot of CPU power,
95
97
  // we want to keep at least a couple for UI and other apps to work.
@@ -109,7 +111,7 @@ class Local extends Command {
109
111
  });
110
112
  // Log unknown flags that will be passed to backend
111
113
  if (backendCommands.length > 0) {
112
- logger.info(`Unknown flags will be passed to backend: ${backendCommands.join(' ')}`);
114
+ logger.info(`Unknown flags will be passed to backend: ${backendCommands.join(" ")}`);
113
115
  }
114
116
  }
115
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"s3.js","sources":["../../../../../src/commands/svc/create/local/s3.ts"],"sourcesContent":["import { Command, Args } from '@oclif/core';\nimport path from 'node:path';\nimport type { createLocalS3Options } from '../../../../core';\nimport Core from '../../../../core';\nimport * as cmdOpts from '../../../../cmd-opts';\nimport * as util from '../../../../util';\nimport state from '../../../../state';\nimport * as platforma from '../../../../platforma';\nimport * as os from 'node:os';\nimport { ArgParser } from '../arg-parser';\n\nexport default class Local 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.S3AddressesFlags,\n ...cmdOpts.AddressesFlags,\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 static override args = {\n name: Args.string({ required: true }),\n };\n\n public async run(): Promise<void> {\n // Use custom parser instead of OCLIF parse\n const parser = new ArgParser(Local.flags);\n const parsed = parser.parse(this.argv);\n\n // Validate required flags\n const errors = parser.validateRequired(parsed.knownFlags);\n if (errors.length > 0) {\n throw new Error(`Validation errors:\\n${errors.join('\\n')}`);\n }\n\n const instanceName = parsed.instanceName;\n const flags = parsed.knownFlags;\n const backendCommands = parsed.unknownFlags;\n if (flags['log-level']) {\n backendCommands.push(`--log-level=${flags['log-level']}`);\n }\n\n const logger = util.createLogger(flags['log-level'] || 'info');\n const core = new Core(logger);\n core.mergeLicenseEnvs(flags);\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 createOptions: 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 backendCommands: backendCommands,\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: { auth: { enabled: authEnabled, drivers: authDrivers } },\n storages: {\n work: { type: 'FS', rootPath: flags['storage-work'] },\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\n };\n\n logger.info(`Creating instance configuration, data directory and other stuff...`);\n core.createLocalS3(instanceName, createOptions);\n\n if (createOptions.binaryPath || createOptions.sourcesPath) {\n logger.info(`Instance '${instanceName}' was created. To start it run 'up' command`);\n return;\n }\n\n platforma\n .getBinary(logger, { version: flags.version })\n .then(() => logger.info(`Instance '${instanceName}' was created. To start it run 'svc up' command`))\n .catch(function (err: Error) {\n logger.error(err.message);\n });\n\n // Log unknown flags that will be passed to backend\n if (backendCommands.length > 0) {\n logger.info(`Unknown flags will be passed to backend: ${backendCommands.join(' ')}`);\n }\n }\n}\n"],"names":["cmdOpts.GlobalFlags","cmdOpts.VersionFlag","cmdOpts.S3AddressesFlags","cmdOpts.AddressesFlags","cmdOpts.PlBinaryFlag","cmdOpts.PlSourcesFlag","cmdOpts.ConfigFlag","cmdOpts.LicenseFlags","cmdOpts.StorageFlag","cmdOpts.StoragePrimaryURLFlag","cmdOpts.StorageWorkPathFlag","cmdOpts.StorageLibraryURLFlag","cmdOpts.PlLogFileFlag","cmdOpts.PlWorkdirFlag","cmdOpts.AuthFlags","util.createLogger","platforma\n .getBinary"],"mappings":"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"}
1
+ {"version":3,"file":"s3.js","sources":["../../../../../src/commands/svc/create/local/s3.ts"],"sourcesContent":["import { Command, Args } from \"@oclif/core\";\nimport path from \"node:path\";\nimport type { createLocalS3Options } from \"../../../../core\";\nimport Core from \"../../../../core\";\nimport * as cmdOpts from \"../../../../cmd-opts\";\nimport * as util from \"../../../../util\";\nimport state from \"../../../../state\";\nimport * as platforma from \"../../../../platforma\";\nimport * as os from \"node:os\";\nimport { ArgParser } from \"../arg-parser\";\n\nexport default class Local extends Command {\n static override description =\n \"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.S3AddressesFlags,\n ...cmdOpts.AddressesFlags,\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 static override args = {\n name: Args.string({ required: true }),\n };\n\n public async run(): Promise<void> {\n // Use custom parser instead of OCLIF parse\n const parser = new ArgParser(Local.flags);\n const parsed = parser.parse(this.argv);\n\n // Validate required flags\n const errors = parser.validateRequired(parsed.knownFlags);\n if (errors.length > 0) {\n throw new Error(`Validation errors:\\n${errors.join(\"\\n\")}`);\n }\n\n const instanceName = parsed.instanceName;\n const flags = parsed.knownFlags;\n const backendCommands = parsed.unknownFlags;\n if (flags[\"log-level\"]) {\n backendCommands.push(`--log-level=${flags[\"log-level\"]}`);\n }\n\n const logger = util.createLogger(flags[\"log-level\"] || \"info\");\n const core = new Core(logger);\n core.mergeLicenseEnvs(flags);\n\n const workdir = flags[\"pl-workdir\"] ?? \".\";\n const storage = flags.storage\n ? path.join(workdir, flags.storage)\n : 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 createOptions: 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 backendCommands: backendCommands,\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: { auth: { enabled: authEnabled, drivers: authDrivers } },\n storages: {\n work: { type: \"FS\", rootPath: flags[\"storage-work\"] },\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 };\n\n logger.info(`Creating instance configuration, data directory and other stuff...`);\n core.createLocalS3(instanceName, createOptions);\n\n if (createOptions.binaryPath || createOptions.sourcesPath) {\n logger.info(`Instance '${instanceName}' was created. To start it run 'up' command`);\n return;\n }\n\n platforma\n .getBinary(logger, { version: flags.version })\n .then(() =>\n logger.info(`Instance '${instanceName}' was created. To start it run 'svc up' command`),\n )\n .catch(function (err: Error) {\n logger.error(err.message);\n });\n\n // Log unknown flags that will be passed to backend\n if (backendCommands.length > 0) {\n logger.info(`Unknown flags will be passed to backend: ${backendCommands.join(\" \")}`);\n }\n }\n}\n"],"names":["cmdOpts.GlobalFlags","cmdOpts.VersionFlag","cmdOpts.S3AddressesFlags","cmdOpts.AddressesFlags","cmdOpts.PlBinaryFlag","cmdOpts.PlSourcesFlag","cmdOpts.ConfigFlag","cmdOpts.LicenseFlags","cmdOpts.StorageFlag","cmdOpts.StoragePrimaryURLFlag","cmdOpts.StorageWorkPathFlag","cmdOpts.StorageLibraryURLFlag","cmdOpts.PlLogFileFlag","cmdOpts.PlWorkdirFlag","cmdOpts.AuthFlags","util.createLogger","platforma\n .getBinary"],"mappings":"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"}
@@ -30,8 +30,8 @@ function _interopNamespaceDefault(e) {
30
30
  var os__namespace = /*#__PURE__*/_interopNamespaceDefault(os);
31
31
 
32
32
  class Local extends core.Command {
33
- static description = 'Run Platforma Backend service as local process on current host (no docker container)';
34
- static examples = ['<%= config.bin %> <%= command.id %>'];
33
+ static description = "Run Platforma Backend service as local process on current host (no docker container)";
34
+ static examples = ["<%= config.bin %> <%= command.id %>"];
35
35
  static flags = {
36
36
  ...cmdOpts.GlobalFlags,
37
37
  ...cmdOpts.VersionFlag,
@@ -58,61 +58,61 @@ class Local extends core.Command {
58
58
  // Validate required flags
59
59
  const errors = parser.validateRequired(parsed.knownFlags);
60
60
  if (errors.length > 0) {
61
- throw new Error(`Validation errors:\n${errors.join('\n')}`);
61
+ throw new Error(`Validation errors:\n${errors.join("\n")}`);
62
62
  }
63
63
  const instanceName = parsed.instanceName;
64
64
  const flags = parsed.knownFlags;
65
65
  const backendCommands = parsed.unknownFlags;
66
- if (flags['log-level']) {
67
- backendCommands.push(`--log-level=${flags['log-level']}`);
66
+ if (flags["log-level"]) {
67
+ backendCommands.push(`--log-level=${flags["log-level"]}`);
68
68
  }
69
69
  // Set default values for flags that weren't specified
70
- if (!flags['log-level'])
71
- flags['log-level'] = 'info';
72
- if (!flags['grpc-port'])
73
- flags['grpc-port'] = 6345;
74
- if (!flags['grpc-listen'])
75
- flags['grpc-listen'] = '127.0.0.1:6345';
76
- if (!flags['monitoring-port'])
77
- flags['monitoring-port'] = 9090;
78
- if (!flags['monitoring-listen'])
79
- flags['monitoring-listen'] = '127.0.0.1:9090';
80
- if (!flags['debug-port'])
81
- flags['debug-port'] = 9091;
82
- if (!flags['debug-listen'])
83
- flags['debug-listen'] = '127.0.0.1:9091';
84
- const logger = util.createLogger(flags['log-level'] || 'info');
70
+ if (!flags["log-level"])
71
+ flags["log-level"] = "info";
72
+ if (!flags["grpc-port"])
73
+ flags["grpc-port"] = 6345;
74
+ if (!flags["grpc-listen"])
75
+ flags["grpc-listen"] = "127.0.0.1:6345";
76
+ if (!flags["monitoring-port"])
77
+ flags["monitoring-port"] = 9090;
78
+ if (!flags["monitoring-listen"])
79
+ flags["monitoring-listen"] = "127.0.0.1:9090";
80
+ if (!flags["debug-port"])
81
+ flags["debug-port"] = 9091;
82
+ if (!flags["debug-listen"])
83
+ flags["debug-listen"] = "127.0.0.1:9091";
84
+ const logger = util.createLogger(flags["log-level"] || "info");
85
85
  const core = new core$1.default(logger);
86
86
  core.mergeLicenseEnvs(flags);
87
- const authEnabled = flags['auth-enabled'];
87
+ const authEnabled = flags["auth-enabled"];
88
88
  const authOptions = authEnabled
89
89
  ? {
90
90
  enabled: authEnabled,
91
- drivers: core.initAuthDriversList(flags, '.'),
91
+ drivers: core.initAuthDriversList(flags, "."),
92
92
  }
93
93
  : undefined;
94
- const storage = flags.storage ? path.join('.', flags.storage) : state.instanceDir(instanceName);
94
+ const storage = flags.storage ? path.join(".", flags.storage) : state.instanceDir(instanceName);
95
95
  for (const p of flags.mount ?? []) {
96
96
  }
97
97
  const createOptions = {
98
- sourcesPath: flags['pl-sources'],
99
- binaryPath: flags['pl-binary'],
98
+ sourcesPath: flags["pl-sources"],
99
+ binaryPath: flags["pl-binary"],
100
100
  version: flags.version,
101
101
  configPath: flags.config,
102
- workdir: flags['pl-workdir'],
103
- primaryURL: flags['storage-primary'],
104
- libraryURL: flags['storage-library'],
102
+ workdir: flags["pl-workdir"],
103
+ primaryURL: flags["storage-primary"],
104
+ libraryURL: flags["storage-library"],
105
105
  backendCommands: backendCommands,
106
106
  configOptions: {
107
- grpc: { listen: flags['grpc-listen'] },
108
- monitoring: { listen: flags['monitoring-listen'] },
109
- debug: { listen: flags['debug-listen'] },
110
- license: { value: flags['license'], file: flags['license-file'] },
111
- log: { path: flags['pl-log-file'] },
107
+ grpc: { listen: flags["grpc-listen"] },
108
+ monitoring: { listen: flags["monitoring-listen"] },
109
+ debug: { listen: flags["debug-listen"] },
110
+ license: { value: flags["license"], file: flags["license-file"] },
111
+ log: { path: flags["pl-log-file"] },
112
112
  localRoot: storage,
113
113
  core: { auth: authOptions },
114
114
  storages: {
115
- work: { type: 'FS', rootPath: flags['storage-work'] },
115
+ work: { type: "FS", rootPath: flags["storage-work"] },
116
116
  },
117
117
  // Backend could consume a lot of CPU power,
118
118
  // we want to keep at least a couple for UI and other apps to work.
@@ -131,7 +131,7 @@ class Local extends core.Command {
131
131
  });
132
132
  // Log unknown flags that will be passed to backend
133
133
  if (backendCommands.length > 0) {
134
- logger.info(`Unknown flags will be passed to backend: ${backendCommands.join(' ')}`);
134
+ logger.info(`Unknown flags will be passed to backend: ${backendCommands.join(" ")}`);
135
135
  }
136
136
  }
137
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"local.cjs","sources":["../../../../src/commands/svc/create/local.ts"],"sourcesContent":["import { Command, Args } from '@oclif/core';\nimport path from 'node:path';\nimport type { createLocalOptions } from '../../../core';\nimport Core from '../../../core';\nimport * as cmdOpts from '../../../cmd-opts';\nimport * as util from '../../../util';\nimport state from '../../../state';\nimport * as platforma from '../../../platforma';\nimport * as os from 'node:os';\nimport type * as types from '../../../templates/types';\nimport { ArgParser } from './arg-parser';\n\nexport default class Local 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.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 static override args = {\n name: Args.string({ required: true }),\n };\n\n public async run(): Promise<void> {\n // Use custom parser instead of OCLIF parse\n const parser = new ArgParser(Local.flags);\n const parsed = parser.parse(this.argv);\n\n // Validate required flags\n const errors = parser.validateRequired(parsed.knownFlags);\n if (errors.length > 0) {\n throw new Error(`Validation errors:\\n${errors.join('\\n')}`);\n }\n\n const instanceName = parsed.instanceName;\n const flags = parsed.knownFlags;\n const backendCommands = parsed.unknownFlags;\n if (flags['log-level']) {\n backendCommands.push(`--log-level=${flags['log-level']}`);\n }\n\n // Set default values for flags that weren't specified\n if (!flags['log-level']) flags['log-level'] = 'info';\n if (!flags['grpc-port']) flags['grpc-port'] = 6345;\n if (!flags['grpc-listen']) flags['grpc-listen'] = '127.0.0.1:6345';\n if (!flags['monitoring-port']) flags['monitoring-port'] = 9090;\n if (!flags['monitoring-listen']) flags['monitoring-listen'] = '127.0.0.1:9090';\n if (!flags['debug-port']) flags['debug-port'] = 9091;\n if (!flags['debug-listen']) flags['debug-listen'] = '127.0.0.1:9091';\n\n const logger = util.createLogger(flags['log-level'] || 'info');\n const core = new Core(logger);\n core.mergeLicenseEnvs(flags);\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 createOptions: createLocalOptions = {\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 backendCommands: backendCommands,\n\n configOptions: {\n grpc: { listen: flags['grpc-listen'] },\n monitoring: { listen: flags['monitoring-listen'] },\n debug: { listen: flags['debug-listen'] },\n license: { value: flags['license'], file: flags['license-file'] },\n log: { path: flags['pl-log-file'] },\n localRoot: storage,\n core: { auth: authOptions },\n storages: {\n work: { type: 'FS', rootPath: flags['storage-work'] },\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 };\n\n core.createLocal(instanceName, createOptions);\n\n if (createOptions.binaryPath || createOptions.sourcesPath) {\n logger.info(`Instance '${instanceName}' was created. To start it run 'up' command`);\n return;\n }\n\n platforma\n .getBinary(logger, { version: flags.version })\n .then(() => logger.info(`Instance '${instanceName}' was created. To start it run 'svc up' command`))\n .catch(function (err: Error) {\n logger.error(err.message);\n });\n\n // Log unknown flags that will be passed to backend\n if (backendCommands.length > 0) {\n logger.info(`Unknown flags will be passed to backend: ${backendCommands.join(' ')}`);\n }\n }\n}\n"],"names":["Command","cmdOpts.GlobalFlags","cmdOpts.VersionFlag","cmdOpts.AddressesFlags","cmdOpts.PlBinaryFlag","cmdOpts.PlSourcesFlag","cmdOpts.ConfigFlag","cmdOpts.LicenseFlags","cmdOpts.StorageFlag","cmdOpts.StoragePrimaryURLFlag","cmdOpts.StorageWorkPathFlag","cmdOpts.StorageLibraryURLFlag","cmdOpts.PlLogFileFlag","cmdOpts.PlWorkdirFlag","cmdOpts.AuthFlags","Args","ArgParser","util.createLogger","Core","os","platforma\n .getBinary"],"mappings":"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"}
1
+ {"version":3,"file":"local.cjs","sources":["../../../../src/commands/svc/create/local.ts"],"sourcesContent":["import { Command, Args } from \"@oclif/core\";\nimport path from \"node:path\";\nimport type { createLocalOptions } from \"../../../core\";\nimport Core from \"../../../core\";\nimport * as cmdOpts from \"../../../cmd-opts\";\nimport * as util from \"../../../util\";\nimport state from \"../../../state\";\nimport * as platforma from \"../../../platforma\";\nimport * as os from \"node:os\";\nimport type * as types from \"../../../templates/types\";\nimport { ArgParser } from \"./arg-parser\";\n\nexport default class Local extends Command {\n static override description =\n \"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.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 static override args = {\n name: Args.string({ required: true }),\n };\n\n public async run(): Promise<void> {\n // Use custom parser instead of OCLIF parse\n const parser = new ArgParser(Local.flags);\n const parsed = parser.parse(this.argv);\n\n // Validate required flags\n const errors = parser.validateRequired(parsed.knownFlags);\n if (errors.length > 0) {\n throw new Error(`Validation errors:\\n${errors.join(\"\\n\")}`);\n }\n\n const instanceName = parsed.instanceName;\n const flags = parsed.knownFlags;\n const backendCommands = parsed.unknownFlags;\n if (flags[\"log-level\"]) {\n backendCommands.push(`--log-level=${flags[\"log-level\"]}`);\n }\n\n // Set default values for flags that weren't specified\n if (!flags[\"log-level\"]) flags[\"log-level\"] = \"info\";\n if (!flags[\"grpc-port\"]) flags[\"grpc-port\"] = 6345;\n if (!flags[\"grpc-listen\"]) flags[\"grpc-listen\"] = \"127.0.0.1:6345\";\n if (!flags[\"monitoring-port\"]) flags[\"monitoring-port\"] = 9090;\n if (!flags[\"monitoring-listen\"]) flags[\"monitoring-listen\"] = \"127.0.0.1:9090\";\n if (!flags[\"debug-port\"]) flags[\"debug-port\"] = 9091;\n if (!flags[\"debug-listen\"]) flags[\"debug-listen\"] = \"127.0.0.1:9091\";\n\n const logger = util.createLogger(flags[\"log-level\"] || \"info\");\n const core = new Core(logger);\n core.mergeLicenseEnvs(flags);\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 createOptions: createLocalOptions = {\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 backendCommands: backendCommands,\n\n configOptions: {\n grpc: { listen: flags[\"grpc-listen\"] },\n monitoring: { listen: flags[\"monitoring-listen\"] },\n debug: { listen: flags[\"debug-listen\"] },\n license: { value: flags[\"license\"], file: flags[\"license-file\"] },\n log: { path: flags[\"pl-log-file\"] },\n localRoot: storage,\n core: { auth: authOptions },\n storages: {\n work: { type: \"FS\", rootPath: flags[\"storage-work\"] },\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 };\n\n core.createLocal(instanceName, createOptions);\n\n if (createOptions.binaryPath || createOptions.sourcesPath) {\n logger.info(`Instance '${instanceName}' was created. To start it run 'up' command`);\n return;\n }\n\n platforma\n .getBinary(logger, { version: flags.version })\n .then(() =>\n logger.info(`Instance '${instanceName}' was created. To start it run 'svc up' command`),\n )\n .catch(function (err: Error) {\n logger.error(err.message);\n });\n\n // Log unknown flags that will be passed to backend\n if (backendCommands.length > 0) {\n logger.info(`Unknown flags will be passed to backend: ${backendCommands.join(\" \")}`);\n }\n }\n}\n"],"names":["Command","cmdOpts.GlobalFlags","cmdOpts.VersionFlag","cmdOpts.AddressesFlags","cmdOpts.PlBinaryFlag","cmdOpts.PlSourcesFlag","cmdOpts.ConfigFlag","cmdOpts.LicenseFlags","cmdOpts.StorageFlag","cmdOpts.StoragePrimaryURLFlag","cmdOpts.StorageWorkPathFlag","cmdOpts.StorageLibraryURLFlag","cmdOpts.PlLogFileFlag","cmdOpts.PlWorkdirFlag","cmdOpts.AuthFlags","Args","ArgParser","util.createLogger","Core","os","platforma\n .getBinary"],"mappings":"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"}