@milaboratories/pl-deployments 2.15.17 → 2.15.19

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 (104) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +29 -0
  2. package/dist/common/os_and_arch.cjs +22 -28
  3. package/dist/common/os_and_arch.cjs.map +1 -1
  4. package/dist/common/os_and_arch.js +23 -26
  5. package/dist/common/os_and_arch.js.map +1 -1
  6. package/dist/common/pl_binary.cjs +35 -33
  7. package/dist/common/pl_binary.cjs.map +1 -1
  8. package/dist/common/pl_binary.d.ts +13 -18
  9. package/dist/common/pl_binary.js +33 -31
  10. package/dist/common/pl_binary.js.map +1 -1
  11. package/dist/common/pl_binary_download.cjs +143 -155
  12. package/dist/common/pl_binary_download.cjs.map +1 -1
  13. package/dist/common/pl_binary_download.d.ts +15 -48
  14. package/dist/common/pl_binary_download.js +138 -133
  15. package/dist/common/pl_binary_download.js.map +1 -1
  16. package/dist/common/pl_version.cjs +5 -6
  17. package/dist/common/pl_version.cjs.map +1 -1
  18. package/dist/common/pl_version.d.ts +4 -1
  19. package/dist/common/pl_version.js +5 -4
  20. package/dist/common/pl_version.js.map +1 -1
  21. package/dist/index.cjs +21 -25
  22. package/dist/index.d.ts +6 -6
  23. package/dist/index.js +7 -6
  24. package/dist/local/pid.cjs +14 -13
  25. package/dist/local/pid.cjs.map +1 -1
  26. package/dist/local/pid.js +11 -11
  27. package/dist/local/pid.js.map +1 -1
  28. package/dist/local/pl.cjs +194 -223
  29. package/dist/local/pl.cjs.map +1 -1
  30. package/dist/local/pl.d.ts +65 -65
  31. package/dist/local/pl.js +190 -202
  32. package/dist/local/pl.js.map +1 -1
  33. package/dist/local/process.cjs +37 -59
  34. package/dist/local/process.cjs.map +1 -1
  35. package/dist/local/process.d.ts +10 -10
  36. package/dist/local/process.js +36 -57
  37. package/dist/local/process.js.map +1 -1
  38. package/dist/local/trace.cjs +14 -17
  39. package/dist/local/trace.cjs.map +1 -1
  40. package/dist/local/trace.d.ts +6 -7
  41. package/dist/local/trace.js +15 -15
  42. package/dist/local/trace.js.map +1 -1
  43. package/dist/package.cjs +12 -0
  44. package/dist/package.cjs.map +1 -0
  45. package/dist/package.js +6 -0
  46. package/dist/package.js.map +1 -0
  47. package/dist/ssh/connection_info.cjs +36 -53
  48. package/dist/ssh/connection_info.cjs.map +1 -1
  49. package/dist/ssh/connection_info.d.ts +691 -713
  50. package/dist/ssh/connection_info.js +35 -51
  51. package/dist/ssh/connection_info.js.map +1 -1
  52. package/dist/ssh/pl.cjs +551 -638
  53. package/dist/ssh/pl.cjs.map +1 -1
  54. package/dist/ssh/pl.d.ts +120 -117
  55. package/dist/ssh/pl.js +548 -636
  56. package/dist/ssh/pl.js.map +1 -1
  57. package/dist/ssh/pl_paths.cjs +22 -24
  58. package/dist/ssh/pl_paths.cjs.map +1 -1
  59. package/dist/ssh/pl_paths.js +21 -19
  60. package/dist/ssh/pl_paths.js.map +1 -1
  61. package/dist/ssh/ssh.cjs +554 -618
  62. package/dist/ssh/ssh.cjs.map +1 -1
  63. package/dist/ssh/ssh.d.ts +139 -136
  64. package/dist/ssh/ssh.js +548 -616
  65. package/dist/ssh/ssh.js.map +1 -1
  66. package/dist/ssh/ssh_errors.cjs +45 -60
  67. package/dist/ssh/ssh_errors.cjs.map +1 -1
  68. package/dist/ssh/ssh_errors.js +45 -58
  69. package/dist/ssh/ssh_errors.js.map +1 -1
  70. package/dist/ssh/supervisord.cjs +50 -68
  71. package/dist/ssh/supervisord.cjs.map +1 -1
  72. package/dist/ssh/supervisord.d.ts +11 -21
  73. package/dist/ssh/supervisord.js +50 -66
  74. package/dist/ssh/supervisord.js.map +1 -1
  75. package/package.json +10 -10
  76. package/dist/common/os_and_arch.d.ts +0 -9
  77. package/dist/common/os_and_arch.d.ts.map +0 -1
  78. package/dist/common/pl_binary.d.ts.map +0 -1
  79. package/dist/common/pl_binary_download.d.ts.map +0 -1
  80. package/dist/common/pl_version.d.ts.map +0 -1
  81. package/dist/index.cjs.map +0 -1
  82. package/dist/index.d.ts.map +0 -1
  83. package/dist/index.js.map +0 -1
  84. package/dist/local/options.d.ts +0 -31
  85. package/dist/local/options.d.ts.map +0 -1
  86. package/dist/local/pid.d.ts +0 -4
  87. package/dist/local/pid.d.ts.map +0 -1
  88. package/dist/local/pl.d.ts.map +0 -1
  89. package/dist/local/process.d.ts.map +0 -1
  90. package/dist/local/trace.d.ts.map +0 -1
  91. package/dist/package.json.cjs +0 -8
  92. package/dist/package.json.cjs.map +0 -1
  93. package/dist/package.json.js +0 -6
  94. package/dist/package.json.js.map +0 -1
  95. package/dist/ssh/__tests__/common-utils.d.ts +0 -12
  96. package/dist/ssh/__tests__/common-utils.d.ts.map +0 -1
  97. package/dist/ssh/connection_info.d.ts.map +0 -1
  98. package/dist/ssh/pl.d.ts.map +0 -1
  99. package/dist/ssh/pl_paths.d.ts +0 -20
  100. package/dist/ssh/pl_paths.d.ts.map +0 -1
  101. package/dist/ssh/ssh.d.ts.map +0 -1
  102. package/dist/ssh/ssh_errors.d.ts +0 -29
  103. package/dist/ssh/ssh_errors.d.ts.map +0 -1
  104. package/dist/ssh/supervisord.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"supervisord.cjs","sources":["../../src/ssh/supervisord.ts"],"sourcesContent":["/** Provides helper functions to work with supervisord */\n\nimport type { MiLogger } from \"@milaboratories/ts-helpers\";\nimport * as plpath from \"./pl_paths\";\nimport type { SshClient, SshExecResult } from \"./ssh\";\nimport { randomBytes } from \"node:crypto\";\n\nexport async function supervisorCtlStart(sshClient: SshClient, remoteHome: string, arch: string) {\n const result = await supervisorExec(sshClient, remoteHome, arch, \"--daemon\");\n\n if (result.stderr) {\n throw new Error(`Can not run ssh Platforma ${result.stderr}`);\n }\n}\n\nexport async function supervisorStop(sshClient: SshClient, remoteHome: string, arch: string) {\n const result = await supervisorExec(sshClient, remoteHome, arch, \"ctl shutdown\");\n\n if (result.stderr) {\n throw new Error(`Can not stop ssh Platforma ${result.stderr}`);\n }\n}\n\n/** Provides a simple true/false response got from supervisord status\n * along with a debug info that could be showed in error logs (raw response from the command, parsed response etc). */\nexport type SupervisorStatus = {\n platforma?: boolean;\n minio?: boolean;\n rawResult?: SshExecResult;\n execError?: string;\n};\n\nexport function isAllAlive(status: SupervisorStatus, shouldUseMinio: boolean) {\n if (shouldUseMinio) {\n return status.platforma && status.minio;\n }\n\n return status.platforma;\n}\n\nexport function isSupervisordRunning(status: SupervisorStatus) {\n return status.execError === undefined;\n}\n\nexport async function supervisorStatus(\n logger: MiLogger,\n sshClient: SshClient,\n remoteHome: string,\n arch: string,\n): Promise<SupervisorStatus> {\n let result: SshExecResult;\n try {\n result = await supervisorExec(sshClient, remoteHome, arch, \"ctl status\");\n } catch (e: unknown) {\n return { execError: String(e) };\n }\n\n if (result.stderr) {\n logger.info(\n `supervisord ctl status: stderr occurred: ${result.stderr}, stdout: ${result.stdout}`,\n );\n\n return { rawResult: result };\n }\n\n const platforma = isProgramRunning(result.stdout, \"platforma\");\n const minio = isProgramRunning(result.stdout, \"minio\");\n const status: SupervisorStatus = {\n rawResult: result,\n platforma,\n minio,\n };\n\n if (!status.minio) {\n logger.warn(\"Minio is not running on the server\");\n }\n\n if (!status.platforma) {\n logger.warn(\"Platforma is not running on the server\");\n }\n\n return status;\n}\n\n/** Generates the config for supervisord.\n * docs: https://github.com/ochinchina/supervisord?tab=readme-ov-file#supervised-program-settings\n */\nexport function generateSupervisordConfig(\n supervisorRemotePort: number,\n remoteWorkDir: string,\n platformaConfigPath: string,\n plPath: string,\n) {\n const password = randomBytes(16).toString(\"hex\");\n const freePort = supervisorRemotePort;\n\n return `\n[supervisord]\nlogfile=${remoteWorkDir}/supervisord.log\nloglevel=info\npidfile=${remoteWorkDir}/supervisord.pid\n\n[inet_http_server]\nport=127.0.0.1:${freePort}\nusername=default-user\npassword=${password}\n\n[supervisorctl]\nserverurl=http://127.0.0.1:${freePort}\nusername=default-user\npassword=${password}\n\n[program:platforma]\nautostart=true\ncommand=${plPath} --config ${platformaConfigPath}\ndirectory=${remoteWorkDir}\nautorestart=true\nstdout_logfile=${remoteWorkDir}/platforma_cli_logs.log\nstdout_logfile_maxbytes=10000\nstdout_logfile_backups=10\nredirect_stderr=true\n`;\n}\n\n/** @deprecated, we use minio only on old deployments that existed before we remove minio,\n * for new servers use generation of the config above. */\nexport function generateSupervisordConfigWithMinio(\n minioStorageDir: string,\n minioEnvs: Record<string, string>,\n supervisorRemotePort: number,\n remoteWorkDir: string,\n platformaConfigPath: string,\n\n minioPath: string,\n plPath: string,\n) {\n const minioEnvStr = Object.entries(minioEnvs)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(\",\");\n const password = randomBytes(16).toString(\"hex\");\n const freePort = supervisorRemotePort;\n\n return `\n[supervisord]\nlogfile=${remoteWorkDir}/supervisord.log\nloglevel=info\npidfile=${remoteWorkDir}/supervisord.pid\n\n[inet_http_server]\nport=127.0.0.1:${freePort}\nusername=default-user\npassword=${password}\n\n[supervisorctl]\nserverurl=http://127.0.0.1:${freePort}\nusername=default-user\npassword=${password}\n\n[program:platforma]\nautostart=true\ndepends_on=minio\ncommand=${plPath} --config ${platformaConfigPath}\ndirectory=${remoteWorkDir}\nautorestart=true\n\n[program:minio]\nautostart=true\nenvironment=${minioEnvStr}\ncommand=${minioPath} server ${minioStorageDir}\ndirectory=${remoteWorkDir}\nautorestart=true\n`;\n}\n\nexport async function supervisorExec(\n sshClient: SshClient,\n remoteHome: string,\n arch: string,\n command: string,\n) {\n const supervisorCmd = plpath.supervisorBin(remoteHome, arch);\n const supervisorConf = plpath.supervisorConf(remoteHome);\n\n const cmd = `${supervisorCmd} --configuration ${supervisorConf} ${command}`;\n return await sshClient.exec(cmd);\n}\n\nfunction isProgramRunning(output: string, programName: string) {\n // eslint-disable-next-line no-control-regex\n const stripAnsi = (str: string) => str.replace(/\\x1B\\[[0-9;]*m/g, \"\");\n\n const cleanedOutput = stripAnsi(output);\n\n return cleanedOutput.split(\"\\n\").some((line) => {\n const [name, status] = line.trim().split(/\\s{2,}/); // Split string by 2 spaces.\n\n return name === programName && status === \"Running\";\n });\n}\n"],"names":["randomBytes","plpath.supervisorBin","plpath.supervisorConf"],"mappings":"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"}
1
+ {"version":3,"file":"supervisord.cjs","names":[],"sources":["../../src/ssh/supervisord.ts"],"sourcesContent":["/** Provides helper functions to work with supervisord */\n\nimport type { MiLogger } from \"@milaboratories/ts-helpers\";\nimport * as plpath from \"./pl_paths\";\nimport type { SshClient, SshExecResult } from \"./ssh\";\nimport { randomBytes } from \"node:crypto\";\n\nexport async function supervisorCtlStart(sshClient: SshClient, remoteHome: string, arch: string) {\n const result = await supervisorExec(sshClient, remoteHome, arch, \"--daemon\");\n\n if (result.stderr) {\n throw new Error(`Can not run ssh Platforma ${result.stderr}`);\n }\n}\n\nexport async function supervisorStop(sshClient: SshClient, remoteHome: string, arch: string) {\n const result = await supervisorExec(sshClient, remoteHome, arch, \"ctl shutdown\");\n\n if (result.stderr) {\n throw new Error(`Can not stop ssh Platforma ${result.stderr}`);\n }\n}\n\n/** Provides a simple true/false response got from supervisord status\n * along with a debug info that could be showed in error logs (raw response from the command, parsed response etc). */\nexport type SupervisorStatus = {\n platforma?: boolean;\n minio?: boolean;\n rawResult?: SshExecResult;\n execError?: string;\n};\n\nexport function isAllAlive(status: SupervisorStatus, shouldUseMinio: boolean) {\n if (shouldUseMinio) {\n return status.platforma && status.minio;\n }\n\n return status.platforma;\n}\n\nexport function isSupervisordRunning(status: SupervisorStatus) {\n return status.execError === undefined;\n}\n\nexport async function supervisorStatus(\n logger: MiLogger,\n sshClient: SshClient,\n remoteHome: string,\n arch: string,\n): Promise<SupervisorStatus> {\n let result: SshExecResult;\n try {\n result = await supervisorExec(sshClient, remoteHome, arch, \"ctl status\");\n } catch (e: unknown) {\n return { execError: String(e) };\n }\n\n if (result.stderr) {\n logger.info(\n `supervisord ctl status: stderr occurred: ${result.stderr}, stdout: ${result.stdout}`,\n );\n\n return { rawResult: result };\n }\n\n const platforma = isProgramRunning(result.stdout, \"platforma\");\n const minio = isProgramRunning(result.stdout, \"minio\");\n const status: SupervisorStatus = {\n rawResult: result,\n platforma,\n minio,\n };\n\n if (!status.minio) {\n logger.warn(\"Minio is not running on the server\");\n }\n\n if (!status.platforma) {\n logger.warn(\"Platforma is not running on the server\");\n }\n\n return status;\n}\n\n/** Generates the config for supervisord.\n * docs: https://github.com/ochinchina/supervisord?tab=readme-ov-file#supervised-program-settings\n */\nexport function generateSupervisordConfig(\n supervisorRemotePort: number,\n remoteWorkDir: string,\n platformaConfigPath: string,\n plPath: string,\n) {\n const password = randomBytes(16).toString(\"hex\");\n const freePort = supervisorRemotePort;\n\n return `\n[supervisord]\nlogfile=${remoteWorkDir}/supervisord.log\nloglevel=info\npidfile=${remoteWorkDir}/supervisord.pid\n\n[inet_http_server]\nport=127.0.0.1:${freePort}\nusername=default-user\npassword=${password}\n\n[supervisorctl]\nserverurl=http://127.0.0.1:${freePort}\nusername=default-user\npassword=${password}\n\n[program:platforma]\nautostart=true\ncommand=${plPath} --config ${platformaConfigPath}\ndirectory=${remoteWorkDir}\nautorestart=true\nstdout_logfile=${remoteWorkDir}/platforma_cli_logs.log\nstdout_logfile_maxbytes=10000\nstdout_logfile_backups=10\nredirect_stderr=true\n`;\n}\n\n/** @deprecated, we use minio only on old deployments that existed before we remove minio,\n * for new servers use generation of the config above. */\nexport function generateSupervisordConfigWithMinio(\n minioStorageDir: string,\n minioEnvs: Record<string, string>,\n supervisorRemotePort: number,\n remoteWorkDir: string,\n platformaConfigPath: string,\n\n minioPath: string,\n plPath: string,\n) {\n const minioEnvStr = Object.entries(minioEnvs)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(\",\");\n const password = randomBytes(16).toString(\"hex\");\n const freePort = supervisorRemotePort;\n\n return `\n[supervisord]\nlogfile=${remoteWorkDir}/supervisord.log\nloglevel=info\npidfile=${remoteWorkDir}/supervisord.pid\n\n[inet_http_server]\nport=127.0.0.1:${freePort}\nusername=default-user\npassword=${password}\n\n[supervisorctl]\nserverurl=http://127.0.0.1:${freePort}\nusername=default-user\npassword=${password}\n\n[program:platforma]\nautostart=true\ndepends_on=minio\ncommand=${plPath} --config ${platformaConfigPath}\ndirectory=${remoteWorkDir}\nautorestart=true\n\n[program:minio]\nautostart=true\nenvironment=${minioEnvStr}\ncommand=${minioPath} server ${minioStorageDir}\ndirectory=${remoteWorkDir}\nautorestart=true\n`;\n}\n\nexport async function supervisorExec(\n sshClient: SshClient,\n remoteHome: string,\n arch: string,\n command: string,\n) {\n const supervisorCmd = plpath.supervisorBin(remoteHome, arch);\n const supervisorConf = plpath.supervisorConf(remoteHome);\n\n const cmd = `${supervisorCmd} --configuration ${supervisorConf} ${command}`;\n return await sshClient.exec(cmd);\n}\n\nfunction isProgramRunning(output: string, programName: string) {\n // eslint-disable-next-line no-control-regex\n const stripAnsi = (str: string) => str.replace(/\\x1B\\[[0-9;]*m/g, \"\");\n\n const cleanedOutput = stripAnsi(output);\n\n return cleanedOutput.split(\"\\n\").some((line) => {\n const [name, status] = line.trim().split(/\\s{2,}/); // Split string by 2 spaces.\n\n return name === programName && status === \"Running\";\n });\n}\n"],"mappings":";;;;;AAOA,eAAsB,mBAAmB,WAAsB,YAAoB,MAAc;CAC/F,MAAM,SAAS,MAAM,eAAe,WAAW,YAAY,MAAM,WAAW;AAE5E,KAAI,OAAO,OACT,OAAM,IAAI,MAAM,6BAA6B,OAAO,SAAS;;AAIjE,eAAsB,eAAe,WAAsB,YAAoB,MAAc;CAC3F,MAAM,SAAS,MAAM,eAAe,WAAW,YAAY,MAAM,eAAe;AAEhF,KAAI,OAAO,OACT,OAAM,IAAI,MAAM,8BAA8B,OAAO,SAAS;;AAalE,SAAgB,WAAW,QAA0B,gBAAyB;AAC5E,KAAI,eACF,QAAO,OAAO,aAAa,OAAO;AAGpC,QAAO,OAAO;;AAGhB,SAAgB,qBAAqB,QAA0B;AAC7D,QAAO,OAAO,cAAc;;AAG9B,eAAsB,iBACpB,QACA,WACA,YACA,MAC2B;CAC3B,IAAI;AACJ,KAAI;AACF,WAAS,MAAM,eAAe,WAAW,YAAY,MAAM,aAAa;UACjE,GAAY;AACnB,SAAO,EAAE,WAAW,OAAO,EAAE,EAAE;;AAGjC,KAAI,OAAO,QAAQ;AACjB,SAAO,KACL,4CAA4C,OAAO,OAAO,YAAY,OAAO,SAC9E;AAED,SAAO,EAAE,WAAW,QAAQ;;CAG9B,MAAM,YAAY,iBAAiB,OAAO,QAAQ,YAAY;CAC9D,MAAM,QAAQ,iBAAiB,OAAO,QAAQ,QAAQ;CACtD,MAAM,SAA2B;EAC/B,WAAW;EACX;EACA;EACD;AAED,KAAI,CAAC,OAAO,MACV,QAAO,KAAK,qCAAqC;AAGnD,KAAI,CAAC,OAAO,UACV,QAAO,KAAK,yCAAyC;AAGvD,QAAO;;;;;AAMT,SAAgB,0BACd,sBACA,eACA,qBACA,QACA;CACA,MAAM,wCAAuB,GAAG,CAAC,SAAS,MAAM;CAChD,MAAM,WAAW;AAEjB,QAAO;;UAEC,cAAc;;UAEd,cAAc;;;iBAGP,SAAS;;WAEf,SAAS;;;6BAGS,SAAS;;WAE3B,SAAS;;;;UAIV,OAAO,YAAY,oBAAoB;YACrC,cAAc;;iBAET,cAAc;;;;;;;;AAS/B,SAAgB,mCACd,iBACA,WACA,sBACA,eACA,qBAEA,WACA,QACA;CACA,MAAM,cAAc,OAAO,QAAQ,UAAU,CAC1C,KAAK,CAAC,KAAK,WAAW,GAAG,IAAI,IAAI,MAAM,GAAG,CAC1C,KAAK,IAAI;CACZ,MAAM,wCAAuB,GAAG,CAAC,SAAS,MAAM;CAChD,MAAM,WAAW;AAEjB,QAAO;;UAEC,cAAc;;UAEd,cAAc;;;iBAGP,SAAS;;WAEf,SAAS;;;6BAGS,SAAS;;WAE3B,SAAS;;;;;UAKV,OAAO,YAAY,oBAAoB;YACrC,cAAc;;;;;cAKZ,YAAY;UAChB,UAAU,UAAU,gBAAgB;YAClC,cAAc;;;;AAK1B,eAAsB,eACpB,WACA,YACA,MACA,SACA;CAIA,MAAM,MAAM,kCAH+B,YAAY,KAAK,CAG/B,mDAFgB,WAAW,CAEO,GAAG;AAClE,QAAO,MAAM,UAAU,KAAK,IAAI;;AAGlC,SAAS,iBAAiB,QAAgB,aAAqB;CAE7D,MAAM,aAAa,QAAgB,IAAI,QAAQ,mBAAmB,GAAG;AAIrE,QAFsB,UAAU,OAAO,CAElB,MAAM,KAAK,CAAC,MAAM,SAAS;EAC9C,MAAM,CAAC,MAAM,UAAU,KAAK,MAAM,CAAC,MAAM,SAAS;AAElD,SAAO,SAAS,eAAe,WAAW;GAC1C"}
@@ -1,25 +1,15 @@
1
- /** Provides helper functions to work with supervisord */
2
- import type { MiLogger } from "@milaboratories/ts-helpers";
3
- import type { SshClient, SshExecResult } from "./ssh";
4
- export declare function supervisorCtlStart(sshClient: SshClient, remoteHome: string, arch: string): Promise<void>;
5
- export declare function supervisorStop(sshClient: SshClient, remoteHome: string, arch: string): Promise<void>;
1
+ import { SshExecResult } from "./ssh.js";
2
+ import { MiLogger } from "@milaboratories/ts-helpers";
3
+
4
+ //#region src/ssh/supervisord.d.ts
6
5
  /** Provides a simple true/false response got from supervisord status
7
6
  * along with a debug info that could be showed in error logs (raw response from the command, parsed response etc). */
8
- export type SupervisorStatus = {
9
- platforma?: boolean;
10
- minio?: boolean;
11
- rawResult?: SshExecResult;
12
- execError?: string;
7
+ type SupervisorStatus = {
8
+ platforma?: boolean;
9
+ minio?: boolean;
10
+ rawResult?: SshExecResult;
11
+ execError?: string;
13
12
  };
14
- export declare function isAllAlive(status: SupervisorStatus, shouldUseMinio: boolean): boolean | undefined;
15
- export declare function isSupervisordRunning(status: SupervisorStatus): boolean;
16
- export declare function supervisorStatus(logger: MiLogger, sshClient: SshClient, remoteHome: string, arch: string): Promise<SupervisorStatus>;
17
- /** Generates the config for supervisord.
18
- * docs: https://github.com/ochinchina/supervisord?tab=readme-ov-file#supervised-program-settings
19
- */
20
- export declare function generateSupervisordConfig(supervisorRemotePort: number, remoteWorkDir: string, platformaConfigPath: string, plPath: string): string;
21
- /** @deprecated, we use minio only on old deployments that existed before we remove minio,
22
- * for new servers use generation of the config above. */
23
- export declare function generateSupervisordConfigWithMinio(minioStorageDir: string, minioEnvs: Record<string, string>, supervisorRemotePort: number, remoteWorkDir: string, platformaConfigPath: string, minioPath: string, plPath: string): string;
24
- export declare function supervisorExec(sshClient: SshClient, remoteHome: string, arch: string, command: string): Promise<SshExecResult>;
13
+ //#endregion
14
+ export { SupervisorStatus };
25
15
  //# sourceMappingURL=supervisord.d.ts.map
@@ -1,62 +1,51 @@
1
- import { supervisorBin, supervisorConf } from './pl_paths.js';
2
- import { randomBytes } from 'node:crypto';
1
+ import { supervisorBin, supervisorConf } from "./pl_paths.js";
2
+ import { randomBytes } from "node:crypto";
3
3
 
4
- /** Provides helper functions to work with supervisord */
4
+ //#region src/ssh/supervisord.ts
5
5
  async function supervisorCtlStart(sshClient, remoteHome, arch) {
6
- const result = await supervisorExec(sshClient, remoteHome, arch, "--daemon");
7
- if (result.stderr) {
8
- throw new Error(`Can not run ssh Platforma ${result.stderr}`);
9
- }
6
+ const result = await supervisorExec(sshClient, remoteHome, arch, "--daemon");
7
+ if (result.stderr) throw new Error(`Can not run ssh Platforma ${result.stderr}`);
10
8
  }
11
9
  async function supervisorStop(sshClient, remoteHome, arch) {
12
- const result = await supervisorExec(sshClient, remoteHome, arch, "ctl shutdown");
13
- if (result.stderr) {
14
- throw new Error(`Can not stop ssh Platforma ${result.stderr}`);
15
- }
10
+ const result = await supervisorExec(sshClient, remoteHome, arch, "ctl shutdown");
11
+ if (result.stderr) throw new Error(`Can not stop ssh Platforma ${result.stderr}`);
16
12
  }
17
13
  function isAllAlive(status, shouldUseMinio) {
18
- if (shouldUseMinio) {
19
- return status.platforma && status.minio;
20
- }
21
- return status.platforma;
14
+ if (shouldUseMinio) return status.platforma && status.minio;
15
+ return status.platforma;
22
16
  }
23
17
  function isSupervisordRunning(status) {
24
- return status.execError === undefined;
18
+ return status.execError === void 0;
25
19
  }
26
20
  async function supervisorStatus(logger, sshClient, remoteHome, arch) {
27
- let result;
28
- try {
29
- result = await supervisorExec(sshClient, remoteHome, arch, "ctl status");
30
- }
31
- catch (e) {
32
- return { execError: String(e) };
33
- }
34
- if (result.stderr) {
35
- logger.info(`supervisord ctl status: stderr occurred: ${result.stderr}, stdout: ${result.stdout}`);
36
- return { rawResult: result };
37
- }
38
- const platforma = isProgramRunning(result.stdout, "platforma");
39
- const minio = isProgramRunning(result.stdout, "minio");
40
- const status = {
41
- rawResult: result,
42
- platforma,
43
- minio,
44
- };
45
- if (!status.minio) {
46
- logger.warn("Minio is not running on the server");
47
- }
48
- if (!status.platforma) {
49
- logger.warn("Platforma is not running on the server");
50
- }
51
- return status;
21
+ let result;
22
+ try {
23
+ result = await supervisorExec(sshClient, remoteHome, arch, "ctl status");
24
+ } catch (e) {
25
+ return { execError: String(e) };
26
+ }
27
+ if (result.stderr) {
28
+ logger.info(`supervisord ctl status: stderr occurred: ${result.stderr}, stdout: ${result.stdout}`);
29
+ return { rawResult: result };
30
+ }
31
+ const platforma = isProgramRunning(result.stdout, "platforma");
32
+ const minio = isProgramRunning(result.stdout, "minio");
33
+ const status = {
34
+ rawResult: result,
35
+ platforma,
36
+ minio
37
+ };
38
+ if (!status.minio) logger.warn("Minio is not running on the server");
39
+ if (!status.platforma) logger.warn("Platforma is not running on the server");
40
+ return status;
52
41
  }
53
42
  /** Generates the config for supervisord.
54
- * docs: https://github.com/ochinchina/supervisord?tab=readme-ov-file#supervised-program-settings
55
- */
43
+ * docs: https://github.com/ochinchina/supervisord?tab=readme-ov-file#supervised-program-settings
44
+ */
56
45
  function generateSupervisordConfig(supervisorRemotePort, remoteWorkDir, platformaConfigPath, plPath) {
57
- const password = randomBytes(16).toString("hex");
58
- const freePort = supervisorRemotePort;
59
- return `
46
+ const password = randomBytes(16).toString("hex");
47
+ const freePort = supervisorRemotePort;
48
+ return `
60
49
  [supervisord]
61
50
  logfile=${remoteWorkDir}/supervisord.log
62
51
  loglevel=info
@@ -84,14 +73,12 @@ redirect_stderr=true
84
73
  `;
85
74
  }
86
75
  /** @deprecated, we use minio only on old deployments that existed before we remove minio,
87
- * for new servers use generation of the config above. */
76
+ * for new servers use generation of the config above. */
88
77
  function generateSupervisordConfigWithMinio(minioStorageDir, minioEnvs, supervisorRemotePort, remoteWorkDir, platformaConfigPath, minioPath, plPath) {
89
- const minioEnvStr = Object.entries(minioEnvs)
90
- .map(([key, value]) => `${key}="${value}"`)
91
- .join(",");
92
- const password = randomBytes(16).toString("hex");
93
- const freePort = supervisorRemotePort;
94
- return `
78
+ const minioEnvStr = Object.entries(minioEnvs).map(([key, value]) => `${key}="${value}"`).join(",");
79
+ const password = randomBytes(16).toString("hex");
80
+ const freePort = supervisorRemotePort;
81
+ return `
95
82
  [supervisord]
96
83
  logfile=${remoteWorkDir}/supervisord.log
97
84
  loglevel=info
@@ -123,20 +110,17 @@ autorestart=true
123
110
  `;
124
111
  }
125
112
  async function supervisorExec(sshClient, remoteHome, arch, command) {
126
- const supervisorCmd = supervisorBin(remoteHome, arch);
127
- const supervisorConf$1 = supervisorConf(remoteHome);
128
- const cmd = `${supervisorCmd} --configuration ${supervisorConf$1} ${command}`;
129
- return await sshClient.exec(cmd);
113
+ const cmd = `${supervisorBin(remoteHome, arch)} --configuration ${supervisorConf(remoteHome)} ${command}`;
114
+ return await sshClient.exec(cmd);
130
115
  }
131
116
  function isProgramRunning(output, programName) {
132
- // eslint-disable-next-line no-control-regex
133
- const stripAnsi = (str) => str.replace(/\x1B\[[0-9;]*m/g, "");
134
- const cleanedOutput = stripAnsi(output);
135
- return cleanedOutput.split("\n").some((line) => {
136
- const [name, status] = line.trim().split(/\s{2,}/); // Split string by 2 spaces.
137
- return name === programName && status === "Running";
138
- });
117
+ const stripAnsi = (str) => str.replace(/\x1B\[[0-9;]*m/g, "");
118
+ return stripAnsi(output).split("\n").some((line) => {
119
+ const [name, status] = line.trim().split(/\s{2,}/);
120
+ return name === programName && status === "Running";
121
+ });
139
122
  }
140
123
 
141
- export { generateSupervisordConfig, generateSupervisordConfigWithMinio, isAllAlive, isSupervisordRunning, supervisorCtlStart, supervisorExec, supervisorStatus, supervisorStop };
142
- //# sourceMappingURL=supervisord.js.map
124
+ //#endregion
125
+ export { generateSupervisordConfig, generateSupervisordConfigWithMinio, isAllAlive, isSupervisordRunning, supervisorCtlStart, supervisorStatus, supervisorStop };
126
+ //# sourceMappingURL=supervisord.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"supervisord.js","sources":["../../src/ssh/supervisord.ts"],"sourcesContent":["/** Provides helper functions to work with supervisord */\n\nimport type { MiLogger } from \"@milaboratories/ts-helpers\";\nimport * as plpath from \"./pl_paths\";\nimport type { SshClient, SshExecResult } from \"./ssh\";\nimport { randomBytes } from \"node:crypto\";\n\nexport async function supervisorCtlStart(sshClient: SshClient, remoteHome: string, arch: string) {\n const result = await supervisorExec(sshClient, remoteHome, arch, \"--daemon\");\n\n if (result.stderr) {\n throw new Error(`Can not run ssh Platforma ${result.stderr}`);\n }\n}\n\nexport async function supervisorStop(sshClient: SshClient, remoteHome: string, arch: string) {\n const result = await supervisorExec(sshClient, remoteHome, arch, \"ctl shutdown\");\n\n if (result.stderr) {\n throw new Error(`Can not stop ssh Platforma ${result.stderr}`);\n }\n}\n\n/** Provides a simple true/false response got from supervisord status\n * along with a debug info that could be showed in error logs (raw response from the command, parsed response etc). */\nexport type SupervisorStatus = {\n platforma?: boolean;\n minio?: boolean;\n rawResult?: SshExecResult;\n execError?: string;\n};\n\nexport function isAllAlive(status: SupervisorStatus, shouldUseMinio: boolean) {\n if (shouldUseMinio) {\n return status.platforma && status.minio;\n }\n\n return status.platforma;\n}\n\nexport function isSupervisordRunning(status: SupervisorStatus) {\n return status.execError === undefined;\n}\n\nexport async function supervisorStatus(\n logger: MiLogger,\n sshClient: SshClient,\n remoteHome: string,\n arch: string,\n): Promise<SupervisorStatus> {\n let result: SshExecResult;\n try {\n result = await supervisorExec(sshClient, remoteHome, arch, \"ctl status\");\n } catch (e: unknown) {\n return { execError: String(e) };\n }\n\n if (result.stderr) {\n logger.info(\n `supervisord ctl status: stderr occurred: ${result.stderr}, stdout: ${result.stdout}`,\n );\n\n return { rawResult: result };\n }\n\n const platforma = isProgramRunning(result.stdout, \"platforma\");\n const minio = isProgramRunning(result.stdout, \"minio\");\n const status: SupervisorStatus = {\n rawResult: result,\n platforma,\n minio,\n };\n\n if (!status.minio) {\n logger.warn(\"Minio is not running on the server\");\n }\n\n if (!status.platforma) {\n logger.warn(\"Platforma is not running on the server\");\n }\n\n return status;\n}\n\n/** Generates the config for supervisord.\n * docs: https://github.com/ochinchina/supervisord?tab=readme-ov-file#supervised-program-settings\n */\nexport function generateSupervisordConfig(\n supervisorRemotePort: number,\n remoteWorkDir: string,\n platformaConfigPath: string,\n plPath: string,\n) {\n const password = randomBytes(16).toString(\"hex\");\n const freePort = supervisorRemotePort;\n\n return `\n[supervisord]\nlogfile=${remoteWorkDir}/supervisord.log\nloglevel=info\npidfile=${remoteWorkDir}/supervisord.pid\n\n[inet_http_server]\nport=127.0.0.1:${freePort}\nusername=default-user\npassword=${password}\n\n[supervisorctl]\nserverurl=http://127.0.0.1:${freePort}\nusername=default-user\npassword=${password}\n\n[program:platforma]\nautostart=true\ncommand=${plPath} --config ${platformaConfigPath}\ndirectory=${remoteWorkDir}\nautorestart=true\nstdout_logfile=${remoteWorkDir}/platforma_cli_logs.log\nstdout_logfile_maxbytes=10000\nstdout_logfile_backups=10\nredirect_stderr=true\n`;\n}\n\n/** @deprecated, we use minio only on old deployments that existed before we remove minio,\n * for new servers use generation of the config above. */\nexport function generateSupervisordConfigWithMinio(\n minioStorageDir: string,\n minioEnvs: Record<string, string>,\n supervisorRemotePort: number,\n remoteWorkDir: string,\n platformaConfigPath: string,\n\n minioPath: string,\n plPath: string,\n) {\n const minioEnvStr = Object.entries(minioEnvs)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(\",\");\n const password = randomBytes(16).toString(\"hex\");\n const freePort = supervisorRemotePort;\n\n return `\n[supervisord]\nlogfile=${remoteWorkDir}/supervisord.log\nloglevel=info\npidfile=${remoteWorkDir}/supervisord.pid\n\n[inet_http_server]\nport=127.0.0.1:${freePort}\nusername=default-user\npassword=${password}\n\n[supervisorctl]\nserverurl=http://127.0.0.1:${freePort}\nusername=default-user\npassword=${password}\n\n[program:platforma]\nautostart=true\ndepends_on=minio\ncommand=${plPath} --config ${platformaConfigPath}\ndirectory=${remoteWorkDir}\nautorestart=true\n\n[program:minio]\nautostart=true\nenvironment=${minioEnvStr}\ncommand=${minioPath} server ${minioStorageDir}\ndirectory=${remoteWorkDir}\nautorestart=true\n`;\n}\n\nexport async function supervisorExec(\n sshClient: SshClient,\n remoteHome: string,\n arch: string,\n command: string,\n) {\n const supervisorCmd = plpath.supervisorBin(remoteHome, arch);\n const supervisorConf = plpath.supervisorConf(remoteHome);\n\n const cmd = `${supervisorCmd} --configuration ${supervisorConf} ${command}`;\n return await sshClient.exec(cmd);\n}\n\nfunction isProgramRunning(output: string, programName: string) {\n // eslint-disable-next-line no-control-regex\n const stripAnsi = (str: string) => str.replace(/\\x1B\\[[0-9;]*m/g, \"\");\n\n const cleanedOutput = stripAnsi(output);\n\n return cleanedOutput.split(\"\\n\").some((line) => {\n const [name, status] = line.trim().split(/\\s{2,}/); // Split string by 2 spaces.\n\n return name === programName && status === \"Running\";\n });\n}\n"],"names":["plpath.supervisorBin","supervisorConf","plpath.supervisorConf"],"mappings":"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"}
1
+ {"version":3,"file":"supervisord.js","names":["plpath.supervisorBin","plpath.supervisorConf"],"sources":["../../src/ssh/supervisord.ts"],"sourcesContent":["/** Provides helper functions to work with supervisord */\n\nimport type { MiLogger } from \"@milaboratories/ts-helpers\";\nimport * as plpath from \"./pl_paths\";\nimport type { SshClient, SshExecResult } from \"./ssh\";\nimport { randomBytes } from \"node:crypto\";\n\nexport async function supervisorCtlStart(sshClient: SshClient, remoteHome: string, arch: string) {\n const result = await supervisorExec(sshClient, remoteHome, arch, \"--daemon\");\n\n if (result.stderr) {\n throw new Error(`Can not run ssh Platforma ${result.stderr}`);\n }\n}\n\nexport async function supervisorStop(sshClient: SshClient, remoteHome: string, arch: string) {\n const result = await supervisorExec(sshClient, remoteHome, arch, \"ctl shutdown\");\n\n if (result.stderr) {\n throw new Error(`Can not stop ssh Platforma ${result.stderr}`);\n }\n}\n\n/** Provides a simple true/false response got from supervisord status\n * along with a debug info that could be showed in error logs (raw response from the command, parsed response etc). */\nexport type SupervisorStatus = {\n platforma?: boolean;\n minio?: boolean;\n rawResult?: SshExecResult;\n execError?: string;\n};\n\nexport function isAllAlive(status: SupervisorStatus, shouldUseMinio: boolean) {\n if (shouldUseMinio) {\n return status.platforma && status.minio;\n }\n\n return status.platforma;\n}\n\nexport function isSupervisordRunning(status: SupervisorStatus) {\n return status.execError === undefined;\n}\n\nexport async function supervisorStatus(\n logger: MiLogger,\n sshClient: SshClient,\n remoteHome: string,\n arch: string,\n): Promise<SupervisorStatus> {\n let result: SshExecResult;\n try {\n result = await supervisorExec(sshClient, remoteHome, arch, \"ctl status\");\n } catch (e: unknown) {\n return { execError: String(e) };\n }\n\n if (result.stderr) {\n logger.info(\n `supervisord ctl status: stderr occurred: ${result.stderr}, stdout: ${result.stdout}`,\n );\n\n return { rawResult: result };\n }\n\n const platforma = isProgramRunning(result.stdout, \"platforma\");\n const minio = isProgramRunning(result.stdout, \"minio\");\n const status: SupervisorStatus = {\n rawResult: result,\n platforma,\n minio,\n };\n\n if (!status.minio) {\n logger.warn(\"Minio is not running on the server\");\n }\n\n if (!status.platforma) {\n logger.warn(\"Platforma is not running on the server\");\n }\n\n return status;\n}\n\n/** Generates the config for supervisord.\n * docs: https://github.com/ochinchina/supervisord?tab=readme-ov-file#supervised-program-settings\n */\nexport function generateSupervisordConfig(\n supervisorRemotePort: number,\n remoteWorkDir: string,\n platformaConfigPath: string,\n plPath: string,\n) {\n const password = randomBytes(16).toString(\"hex\");\n const freePort = supervisorRemotePort;\n\n return `\n[supervisord]\nlogfile=${remoteWorkDir}/supervisord.log\nloglevel=info\npidfile=${remoteWorkDir}/supervisord.pid\n\n[inet_http_server]\nport=127.0.0.1:${freePort}\nusername=default-user\npassword=${password}\n\n[supervisorctl]\nserverurl=http://127.0.0.1:${freePort}\nusername=default-user\npassword=${password}\n\n[program:platforma]\nautostart=true\ncommand=${plPath} --config ${platformaConfigPath}\ndirectory=${remoteWorkDir}\nautorestart=true\nstdout_logfile=${remoteWorkDir}/platforma_cli_logs.log\nstdout_logfile_maxbytes=10000\nstdout_logfile_backups=10\nredirect_stderr=true\n`;\n}\n\n/** @deprecated, we use minio only on old deployments that existed before we remove minio,\n * for new servers use generation of the config above. */\nexport function generateSupervisordConfigWithMinio(\n minioStorageDir: string,\n minioEnvs: Record<string, string>,\n supervisorRemotePort: number,\n remoteWorkDir: string,\n platformaConfigPath: string,\n\n minioPath: string,\n plPath: string,\n) {\n const minioEnvStr = Object.entries(minioEnvs)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(\",\");\n const password = randomBytes(16).toString(\"hex\");\n const freePort = supervisorRemotePort;\n\n return `\n[supervisord]\nlogfile=${remoteWorkDir}/supervisord.log\nloglevel=info\npidfile=${remoteWorkDir}/supervisord.pid\n\n[inet_http_server]\nport=127.0.0.1:${freePort}\nusername=default-user\npassword=${password}\n\n[supervisorctl]\nserverurl=http://127.0.0.1:${freePort}\nusername=default-user\npassword=${password}\n\n[program:platforma]\nautostart=true\ndepends_on=minio\ncommand=${plPath} --config ${platformaConfigPath}\ndirectory=${remoteWorkDir}\nautorestart=true\n\n[program:minio]\nautostart=true\nenvironment=${minioEnvStr}\ncommand=${minioPath} server ${minioStorageDir}\ndirectory=${remoteWorkDir}\nautorestart=true\n`;\n}\n\nexport async function supervisorExec(\n sshClient: SshClient,\n remoteHome: string,\n arch: string,\n command: string,\n) {\n const supervisorCmd = plpath.supervisorBin(remoteHome, arch);\n const supervisorConf = plpath.supervisorConf(remoteHome);\n\n const cmd = `${supervisorCmd} --configuration ${supervisorConf} ${command}`;\n return await sshClient.exec(cmd);\n}\n\nfunction isProgramRunning(output: string, programName: string) {\n // eslint-disable-next-line no-control-regex\n const stripAnsi = (str: string) => str.replace(/\\x1B\\[[0-9;]*m/g, \"\");\n\n const cleanedOutput = stripAnsi(output);\n\n return cleanedOutput.split(\"\\n\").some((line) => {\n const [name, status] = line.trim().split(/\\s{2,}/); // Split string by 2 spaces.\n\n return name === programName && status === \"Running\";\n });\n}\n"],"mappings":";;;;AAOA,eAAsB,mBAAmB,WAAsB,YAAoB,MAAc;CAC/F,MAAM,SAAS,MAAM,eAAe,WAAW,YAAY,MAAM,WAAW;AAE5E,KAAI,OAAO,OACT,OAAM,IAAI,MAAM,6BAA6B,OAAO,SAAS;;AAIjE,eAAsB,eAAe,WAAsB,YAAoB,MAAc;CAC3F,MAAM,SAAS,MAAM,eAAe,WAAW,YAAY,MAAM,eAAe;AAEhF,KAAI,OAAO,OACT,OAAM,IAAI,MAAM,8BAA8B,OAAO,SAAS;;AAalE,SAAgB,WAAW,QAA0B,gBAAyB;AAC5E,KAAI,eACF,QAAO,OAAO,aAAa,OAAO;AAGpC,QAAO,OAAO;;AAGhB,SAAgB,qBAAqB,QAA0B;AAC7D,QAAO,OAAO,cAAc;;AAG9B,eAAsB,iBACpB,QACA,WACA,YACA,MAC2B;CAC3B,IAAI;AACJ,KAAI;AACF,WAAS,MAAM,eAAe,WAAW,YAAY,MAAM,aAAa;UACjE,GAAY;AACnB,SAAO,EAAE,WAAW,OAAO,EAAE,EAAE;;AAGjC,KAAI,OAAO,QAAQ;AACjB,SAAO,KACL,4CAA4C,OAAO,OAAO,YAAY,OAAO,SAC9E;AAED,SAAO,EAAE,WAAW,QAAQ;;CAG9B,MAAM,YAAY,iBAAiB,OAAO,QAAQ,YAAY;CAC9D,MAAM,QAAQ,iBAAiB,OAAO,QAAQ,QAAQ;CACtD,MAAM,SAA2B;EAC/B,WAAW;EACX;EACA;EACD;AAED,KAAI,CAAC,OAAO,MACV,QAAO,KAAK,qCAAqC;AAGnD,KAAI,CAAC,OAAO,UACV,QAAO,KAAK,yCAAyC;AAGvD,QAAO;;;;;AAMT,SAAgB,0BACd,sBACA,eACA,qBACA,QACA;CACA,MAAM,WAAW,YAAY,GAAG,CAAC,SAAS,MAAM;CAChD,MAAM,WAAW;AAEjB,QAAO;;UAEC,cAAc;;UAEd,cAAc;;;iBAGP,SAAS;;WAEf,SAAS;;;6BAGS,SAAS;;WAE3B,SAAS;;;;UAIV,OAAO,YAAY,oBAAoB;YACrC,cAAc;;iBAET,cAAc;;;;;;;;AAS/B,SAAgB,mCACd,iBACA,WACA,sBACA,eACA,qBAEA,WACA,QACA;CACA,MAAM,cAAc,OAAO,QAAQ,UAAU,CAC1C,KAAK,CAAC,KAAK,WAAW,GAAG,IAAI,IAAI,MAAM,GAAG,CAC1C,KAAK,IAAI;CACZ,MAAM,WAAW,YAAY,GAAG,CAAC,SAAS,MAAM;CAChD,MAAM,WAAW;AAEjB,QAAO;;UAEC,cAAc;;UAEd,cAAc;;;iBAGP,SAAS;;WAEf,SAAS;;;6BAGS,SAAS;;WAE3B,SAAS;;;;;UAKV,OAAO,YAAY,oBAAoB;YACrC,cAAc;;;;;cAKZ,YAAY;UAChB,UAAU,UAAU,gBAAgB;YAClC,cAAc;;;;AAK1B,eAAsB,eACpB,WACA,YACA,MACA,SACA;CAIA,MAAM,MAAM,GAHUA,cAAqB,YAAY,KAAK,CAG/B,mBAFNC,eAAsB,WAAW,CAEO,GAAG;AAClE,QAAO,MAAM,UAAU,KAAK,IAAI;;AAGlC,SAAS,iBAAiB,QAAgB,aAAqB;CAE7D,MAAM,aAAa,QAAgB,IAAI,QAAQ,mBAAmB,GAAG;AAIrE,QAFsB,UAAU,OAAO,CAElB,MAAM,KAAK,CAAC,MAAM,SAAS;EAC9C,MAAM,CAAC,MAAM,UAAU,KAAK,MAAM,CAAC,MAAM,SAAS;AAElD,SAAO,SAAS,eAAe,WAAW;GAC1C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/pl-deployments",
3
- "version": "2.15.17",
3
+ "version": "2.15.19",
4
4
  "description": "MiLaboratories Platforma Backend code service run wrapper",
5
5
  "keywords": [],
6
6
  "license": "UNLICENSED",
@@ -31,10 +31,10 @@
31
31
  "upath": "^2.0.1",
32
32
  "yaml": "^2.8.0",
33
33
  "zod": "~3.23.8",
34
- "@milaboratories/pl-model-common": "1.25.1",
35
- "@milaboratories/ts-helpers": "1.7.2",
36
- "@milaboratories/pl-config": "1.7.14",
37
- "@milaboratories/pl-http": "1.2.3"
34
+ "@milaboratories/pl-model-common": "1.25.2",
35
+ "@milaboratories/pl-config": "1.7.15",
36
+ "@milaboratories/pl-http": "1.2.4",
37
+ "@milaboratories/ts-helpers": "1.7.3"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/decompress": "^4.2.7",
@@ -42,17 +42,17 @@
42
42
  "@types/ssh2": "^1.15.5",
43
43
  "@vitest/coverage-istanbul": "^4.0.18",
44
44
  "testcontainers": "^10.18.0",
45
- "typescript": "~5.6.3",
45
+ "typescript": "~5.9.3",
46
46
  "utility-types": "^3.11.0",
47
47
  "vitest": "^4.0.18",
48
- "@milaboratories/build-configs": "1.5.0",
49
- "@milaboratories/ts-configs": "1.2.1",
50
- "@milaboratories/ts-builder": "1.2.11"
48
+ "@milaboratories/build-configs": "1.5.1",
49
+ "@milaboratories/ts-configs": "1.2.2",
50
+ "@milaboratories/ts-builder": "1.2.13"
51
51
  },
52
52
  "engines": {
53
53
  "node": ">=22.19.0"
54
54
  },
55
- "pl-version": "1.44.1",
55
+ "pl-version": "1.46.0",
56
56
  "scripts": {
57
57
  "build": "ts-builder build --target node",
58
58
  "watch": "ts-builder build --target node --watch",
@@ -1,9 +0,0 @@
1
- export declare const OSes: readonly ["linux", "macos", "windows"];
2
- export type OSType = (typeof OSes)[number];
3
- /** @param osName - should be the thing returned from either {@link os.platform())} or `uname -s` */
4
- export declare function newOs(osName: string): OSType;
5
- export declare const Arches: readonly ["amd64", "arm64"];
6
- export type ArchType = (typeof Arches)[number];
7
- /** @param arch - should be the thing returned from either {@link os.arch())} or `uname -m` */
8
- export declare function newArch(arch: string): ArchType;
9
- //# sourceMappingURL=os_and_arch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"os_and_arch.d.ts","sourceRoot":"","sources":["../../src/common/os_and_arch.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,wCAAyC,CAAC;AAC3D,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3C,oGAAoG;AACpG,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAc5C;AAED,eAAO,MAAM,MAAM,6BAA8B,CAAC;AAClD,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/C,8FAA8F;AAC9F,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAiB9C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pl_binary.d.ts","sourceRoot":"","sources":["../../src/common/pl_binary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAM3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,0CAA0C;AAC1C,MAAM,MAAM,cAAc,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;AAE1E,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,wBAAwB,IAAI,sBAAsB,CAEjE;AAED,wBAAsB,wBAAwB,CAAC,EAC7C,MAAM,EACN,WAAW,EACX,GAAG,EACH,UAAU,GACX,EAAE;IACD,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,cAAc,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBlB;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIjD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pl_binary_download.d.ts","sourceRoot":"","sources":["../../src/common/pl_binary_download.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAKzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAW3D,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAsB,uBAAuB,CAAC,EAC5C,MAAM,EACN,OAAO,EACP,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,UAAU,GACX,EAAE;IACD,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAahC;AAED,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,OAAO,EACP,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,UAAU,GACX,EAAE;IACD,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAqBhC;AA6BD,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAsB,eAAe,CAAC,EACpC,MAAM,EACN,UAAU,EACV,WAAW,EACX,UAAU,GACX,EAAE;IACD,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GAAG,OAAO,CAAC,YAAY,CAAC,CA4CxB;AAKD,wBAAsB,cAAc,CAClC,MAAM,EAAE,QAAQ,EAChB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,iBAoDlB;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pl_version.d.ts","sourceRoot":"","sources":["../../src/common/pl_version.ts"],"names":[],"mappings":"AAEA,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,31 +0,0 @@
1
- import type { SpawnOptions } from "node:child_process";
2
- import type { PlBinarySource } from "../common/pl_binary";
3
- /** Options to start a local pl-core. */
4
- export type LocalPlOptions = {
5
- /** From what directory start a process. */
6
- readonly workingDir: string;
7
- /** A string representation of yaml config. */
8
- readonly config: string;
9
- /** How to get a binary, download it or get an existing one. */
10
- readonly binary: PlBinarySource;
11
- /** Additional options for a process, environments, stdout, stderr etc. */
12
- readonly spawnOptions: SpawnOptions;
13
- /**
14
- * If the previous pl-core was started from the same directory,
15
- * we can check if it's still running and then stop it before starting a new one.
16
- */
17
- readonly closeOld: boolean;
18
- /** What should we do on closing or if the process exit with error */
19
- readonly restartMode: LocalPlRestart;
20
- };
21
- export type LocalPlRestart = LocalPlRestartSilent | LocalPlRestartHook;
22
- /** Do nothing if the error happened or a process exited. */
23
- export type LocalPlRestartSilent = {
24
- type: "silent";
25
- };
26
- /** Run a hook if the error happened or a process exited. */
27
- export type LocalPlRestartHook = {
28
- type: "hook";
29
- hook(pl: any): void;
30
- };
31
- //# sourceMappingURL=options.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/local/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG;IAC3B,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,qEAAqE;IACrE,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,kBAAkB,CAAC;AAEvE,4DAA4D;AAC5D,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEF,4DAA4D;AAC5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC;CACrB,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare function filePid(dir: string): string;
2
- export declare function readPid(filePath: string): Promise<number | undefined>;
3
- export declare function writePid(filePath: string, pid: number): Promise<void>;
4
- //# sourceMappingURL=pid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pid.d.ts","sourceRoot":"","sources":["../../src/local/pid.ts"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,UAElC;AAED,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQ3E;AAED,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAE3D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pl.d.ts","sourceRoot":"","sources":["../../src/local/pl.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/local/process.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAG3D,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,YAAY,CAO/E;AAGD,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,oBAgB/C;AA6BD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,QAE9D;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAUlE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../src/local/trace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE3D;+DAC+D;AAC/D,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExC,wBAAgB,QAAQ,IAAI,KAAK,CAEhC;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,OAGhD;AAED;sCACsC;AACtC,wBAAsB,SAAS,CAAC,CAAC,EAC/B,MAAM,EAAE,QAAQ,EAChB,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GACnE,OAAO,CAAC,CAAC,CAAC,CASZ"}
@@ -1,8 +0,0 @@
1
- 'use strict';
2
-
3
- var packageJson = {
4
- "pl-version": "1.44.1"
5
- };
6
-
7
- module.exports = packageJson;
8
- //# sourceMappingURL=package.json.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package.json.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,6 +0,0 @@
1
- var packageJson = {
2
- "pl-version": "1.44.1"
3
- };
4
-
5
- export { packageJson as default };
6
- //# sourceMappingURL=package.json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,12 +0,0 @@
1
- import type { StartedTestContainer } from "testcontainers";
2
- import type { ConnectConfig } from "ssh2";
3
- export declare const testAssetsPath: string;
4
- export declare function readPrivateKey(): string;
5
- export declare function initContainer(name: string): Promise<StartedTestContainer>;
6
- export declare function getContainerHostAndPort(container: StartedTestContainer): {
7
- port: number;
8
- host: string;
9
- };
10
- export declare function getConnectionForSsh(container: StartedTestContainer, debug?: boolean): ConnectConfig;
11
- export declare function cleanUp(container: StartedTestContainer): Promise<void>;
12
- //# sourceMappingURL=common-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common-utils.d.ts","sourceRoot":"","sources":["../../../src/ssh/__tests__/common-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAI3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAK1C,eAAO,MAAM,cAAc,QAA2D,CAAC;AASvF,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAe/E;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,oBAAoB;;;EAKtE;AAgBD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,oBAAoB,EAC/B,KAAK,GAAE,OAAe,GACrB,aAAa,CAaf;AAED,wBAAsB,OAAO,CAAC,SAAS,EAAE,oBAAoB,iBAE5D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection_info.d.ts","sourceRoot":"","sources":["../../src/ssh/connection_info.ts"],"names":[],"mappings":"AAAA;kFACkF;AAClF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,QAAQ;;;;;;;;;gCAKL,CAAC;AACjB,wCAAwC;AACxC,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMnB,kBAAkB;;;;;;;;;;;IAElB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAFlB,kBAAkB;;;;;;;;;;;IAElB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAFlB,kBAAkB;;;;;;;;;;;IAElB,kBAAkB;;;;;;;;;;;gCAGN,CAAC;AACjB,+CAA+C;AAC/C,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QATvB,kBAAkB;;;;;;;;;;;QAElB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAFlB,kBAAkB;;;;;;;;;;;QAElB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAFlB,kBAAkB;;;;;;;;;;;QAElB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAFlB,kBAAkB;;;;;;;;;;;QAElB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAFlB,kBAAkB;;;;;;;;;;;QAElB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAFlB,kBAAkB;;;;;;;;;;;QAElB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAFlB,kBAAkB;;;;;;;;;;;QAElB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAFlB,kBAAkB;;;;;;;;;;;QAElB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAFlB,kBAAkB;;;;;;;;;;;QAElB,kBAAkB;;;;;;;;;;;;;;;gCAuBN,CAAC;AACjB,iGAAiG;AACjG,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAM5D,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,UAAU,EACjB,eAAe,EAAE,OAAO,EACxB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,GACnB,cAAc,CAShB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAEnE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAEpE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pl.d.ts","sourceRoot":"","sources":["../../src/ssh/pl.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- /** Just a lot of hardcoded paths of our current ssh deployment. */
2
- export declare const minioDirName = "minio-2024-12-18T13-15-44Z";
3
- export declare const supervisordDirName = "supervisord-0.7.3";
4
- export declare const supervisordSubDirName = "supervisord_0.7.3_Linux_64-bit";
5
- export declare function workDir(remoteHome: string): string;
6
- export declare function binariesDir(remoteHome: string): string;
7
- export declare function platformaBaseDir(remoteHome: string, arch: string): string;
8
- export declare function platformaDir(remoteHome: string, arch: string): string;
9
- export declare function platformaBin(remoteHome: string, arch: string): string;
10
- export declare function platformaConf(remoteHome: string): string;
11
- export declare function platformaFreePortBin(remoteHome: string, arch: string): string;
12
- export declare function minioDir(remoteHome: string, arch: string): string;
13
- export declare function minioBin(remoteHome: string, arch: string): string;
14
- export declare function supervisorBinDir(remoteHome: string, arch: string): string;
15
- export declare function supervisorBin(remoteHome: string, arch: string): string;
16
- export declare function supervisorConf(remoteHome: string): string;
17
- export declare function connectionInfo(remoteHome: string): string;
18
- export declare function platformaCliLogs(remoteHome: string): string;
19
- export declare function platformaDbLock(remoteHome: string): string;
20
- //# sourceMappingURL=pl_paths.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pl_paths.d.ts","sourceRoot":"","sources":["../../src/ssh/pl_paths.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAMnE,eAAO,MAAM,YAAY,+BAA+B,CAAC;AACzD,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AACtD,eAAO,MAAM,qBAAqB,mCAAmC,CAAC;AAEtE,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,UAEzC;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,UAE7C;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAEhE;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAE5D;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAExD;AAED,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAExD;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAMhE;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,UAEhD;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,UAEhD;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,UAElD;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,UAEjD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ssh.d.ts","sourceRoot":"","sources":["../../src/ssh/ssh.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- export declare class SSHError extends Error {
2
- name: string;
3
- constructor(message: string, opts?: {
4
- cause: Error;
5
- });
6
- constructor(err: Error);
7
- static from(err: unknown): SSHError | undefined;
8
- }
9
- export declare class SFTPError extends SSHError {
10
- readonly code: string;
11
- name: string;
12
- constructor(code: string, // raw SFTP error code, i.e. from OpenSSH server
13
- opts?: {
14
- cause: Error;
15
- });
16
- /** Optionally wraps an error into SFTPError, if it is not already of this type */
17
- static wrap(err: Error): SFTPError;
18
- static wrap(err: undefined): undefined;
19
- static from(err: unknown): SFTPError | undefined;
20
- get isGenericFailure(): boolean;
21
- }
22
- export declare class SFTPUploadError extends SSHError {
23
- readonly localPath: string;
24
- readonly remotePath: string;
25
- name: string;
26
- constructor(err: Error, localPath: string, remotePath: string);
27
- static from(err: unknown): SFTPUploadError | undefined;
28
- }
29
- //# sourceMappingURL=ssh_errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ssh_errors.d.ts","sourceRoot":"","sources":["../../src/ssh/ssh_errors.ts"],"names":[],"mappings":"AAIA,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,SAAc;gBAEN,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE;gBACxC,GAAG,EAAE,KAAK;IAStB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS;CAGhD;AAED,qBAAa,SAAU,SAAQ,QAAQ;aAInB,IAAI,EAAE,MAAM;IAH9B,IAAI,SAAe;gBAGD,IAAI,EAAE,MAAM,EAAE,gDAAgD;IAC9E,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE;IAKzB,kFAAkF;IAClF,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,SAAS;IAClC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS;IAQtC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS;IAIhD,IAAW,gBAAgB,IAAI,OAAO,CAKrC;CACF;AAED,qBAAa,eAAgB,SAAQ,QAAQ;aAKzB,SAAS,EAAE,MAAM;aACjB,UAAU,EAAE,MAAM;IALpC,IAAI,SAAqB;gBAGvB,GAAG,EAAE,KAAK,EACM,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM;IAOpC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS;CAGvD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"supervisord.d.ts","sourceRoot":"","sources":["../../src/ssh/supervisord.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtD,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,iBAM9F;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,iBAM1F;AAED;sHACsH;AACtH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,uBAM3E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,WAE5D;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,QAAQ,EAChB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,CAAC,CAiC3B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,oBAAoB,EAAE,MAAM,EAC5B,aAAa,EAAE,MAAM,EACrB,mBAAmB,EAAE,MAAM,EAC3B,MAAM,EAAE,MAAM,UA+Bf;AAED;yDACyD;AACzD,wBAAgB,kCAAkC,CAChD,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,oBAAoB,EAAE,MAAM,EAC5B,aAAa,EAAE,MAAM,EACrB,mBAAmB,EAAE,MAAM,EAE3B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,UAsCf;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,0BAOhB"}