@taon-dev/cloud 21.0.213 → 21.0.214
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/VERIFIED-BUILD-DATA.jsonc +3 -3
- package/browser/fesm2022/cloud-browser.mjs +1 -1
- package/browser/fesm2022/cloud-browser.mjs.map +1 -1
- package/browser/package.json +1 -1
- package/browser/types/cloud-browser.d.ts +1 -1
- package/browser-prod/fesm2022/cloud-browser-prod.mjs +1 -1
- package/browser-prod/fesm2022/cloud-browser-prod.mjs.map +1 -1
- package/browser-prod/package.json +1 -1
- package/browser-prod/types/cloud-browser-prod.d.ts +1 -1
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/package.json +1 -1
- package/lib-esm/app.d.ts +3 -0
- package/lib-esm/app.electron.d.ts +1 -0
- package/lib-esm/app.electron.js +2 -0
- package/lib-esm/app.electron.js.map +1 -0
- package/lib-esm/app.hosts.d.ts +95 -0
- package/lib-esm/app.hosts.js +157 -0
- package/lib-esm/app.hosts.js.map +1 -0
- package/lib-esm/app.js +460 -0
- package/lib-esm/app.js.map +1 -0
- package/lib-esm/app.vscode.d.ts +9 -0
- package/lib-esm/app.vscode.js +37 -0
- package/lib-esm/app.vscode.js.map +1 -0
- package/lib-esm/cli.d.ts +1 -0
- package/lib-esm/cli.js +4 -0
- package/lib-esm/cli.js.map +1 -0
- package/lib-esm/index.d.ts +1 -0
- package/lib-esm/index.js +2 -0
- package/lib-esm/index.js.map +1 -0
- package/lib-esm/lib/build-info._auto-generated_.d.ts +24 -0
- package/lib-esm/lib/build-info._auto-generated_.js +27 -0
- package/lib-esm/lib/build-info._auto-generated_.js.map +1 -0
- package/lib-esm/lib/constants.d.ts +1 -0
- package/lib-esm/lib/constants.js +3 -0
- package/lib-esm/lib/constants.js.map +1 -0
- package/lib-esm/lib/env/env.angular-node-app.d.ts +67 -0
- package/lib-esm/lib/env/env.angular-node-app.js +137 -0
- package/lib-esm/lib/env/env.angular-node-app.js.map +1 -0
- package/lib-esm/lib/env/env.docs-webapp.d.ts +67 -0
- package/lib-esm/lib/env/env.docs-webapp.js +137 -0
- package/lib-esm/lib/env/env.docs-webapp.js.map +1 -0
- package/lib-esm/lib/env/env.electron-app.d.ts +67 -0
- package/lib-esm/lib/env/env.electron-app.js +137 -0
- package/lib-esm/lib/env/env.electron-app.js.map +1 -0
- package/lib-esm/lib/env/env.mobile-app.d.ts +67 -0
- package/lib-esm/lib/env/env.mobile-app.js +137 -0
- package/lib-esm/lib/env/env.mobile-app.js.map +1 -0
- package/lib-esm/lib/env/env.npm-lib-and-cli-tool.d.ts +67 -0
- package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js +137 -0
- package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js.map +1 -0
- package/lib-esm/lib/env/env.vscode-plugin.d.ts +67 -0
- package/lib-esm/lib/env/env.vscode-plugin.js +137 -0
- package/lib-esm/lib/env/env.vscode-plugin.js.map +1 -0
- package/lib-esm/lib/env/index.d.ts +6 -0
- package/lib-esm/lib/env/index.js +7 -0
- package/lib-esm/lib/env/index.js.map +1 -0
- package/lib-esm/lib/index._auto-generated_.d.ts +25 -0
- package/lib-esm/lib/index._auto-generated_.js +33 -0
- package/lib-esm/lib/index._auto-generated_.js.map +1 -0
- package/lib-esm/lib/index.d.ts +4 -0
- package/lib-esm/lib/index.js +5 -0
- package/lib-esm/lib/index.js.map +1 -0
- package/lib-esm/lib/instances/index.d.ts +4 -0
- package/lib-esm/lib/instances/index.js +6 -0
- package/lib-esm/lib/instances/index.js.map +1 -0
- package/lib-esm/lib/instances/instances.context.d.ts +19 -0
- package/lib-esm/lib/instances/instances.context.js +64 -0
- package/lib-esm/lib/instances/instances.context.js.map +1 -0
- package/lib-esm/lib/instances/instances.controller.d.ts +10 -0
- package/lib-esm/lib/instances/instances.controller.js +61 -0
- package/lib-esm/lib/instances/instances.controller.js.map +1 -0
- package/lib-esm/lib/instances/instances.d.ts +9 -0
- package/lib-esm/lib/instances/instances.defaults-values.d.ts +2 -0
- package/lib-esm/lib/instances/instances.defaults-values.js +5 -0
- package/lib-esm/lib/instances/instances.defaults-values.js.map +1 -0
- package/lib-esm/lib/instances/instances.js +40 -0
- package/lib-esm/lib/instances/instances.js.map +1 -0
- package/lib-esm/lib/instances/instances.repository.d.ts +6 -0
- package/lib-esm/lib/instances/instances.repository.js +17 -0
- package/lib-esm/lib/instances/instances.repository.js.map +1 -0
- package/lib-esm/lib/instances/instances.terminal-ui.d.ts +11 -0
- package/lib-esm/lib/instances/instances.terminal-ui.js +154 -0
- package/lib-esm/lib/instances/instances.terminal-ui.js.map +1 -0
- package/lib-esm/lib/instances/instances.worker.d.ts +18 -0
- package/lib-esm/lib/instances/instances.worker.js +42 -0
- package/lib-esm/lib/instances/instances.worker.js.map +1 -0
- package/lib-esm/lib/models.d.ts +8 -0
- package/lib-esm/lib/models.js +10 -0
- package/lib-esm/lib/models.js.map +1 -0
- package/lib-esm/lib/my-organization-proj.d.ts +1 -0
- package/lib-esm/lib/my-organization-proj.js +3 -0
- package/lib-esm/lib/my-organization-proj.js.map +1 -0
- package/lib-esm/lib/processes/index.d.ts +4 -0
- package/lib-esm/lib/processes/index.js +6 -0
- package/lib-esm/lib/processes/index.js.map +1 -0
- package/lib-esm/lib/processes/processes.context.d.ts +19 -0
- package/lib-esm/lib/processes/processes.context.js +21 -0
- package/lib-esm/lib/processes/processes.context.js.map +1 -0
- package/lib-esm/lib/processes/processes.controller.d.ts +13 -0
- package/lib-esm/lib/processes/processes.controller.js +168 -0
- package/lib-esm/lib/processes/processes.controller.js.map +1 -0
- package/lib-esm/lib/processes/processes.d.ts +24 -0
- package/lib-esm/lib/processes/processes.defaults-values.d.ts +2 -0
- package/lib-esm/lib/processes/processes.defaults-values.js +6 -0
- package/lib-esm/lib/processes/processes.defaults-values.js.map +1 -0
- package/lib-esm/lib/processes/processes.js +159 -0
- package/lib-esm/lib/processes/processes.js.map +1 -0
- package/lib-esm/lib/processes/processes.models.d.ts +33 -0
- package/lib-esm/lib/processes/processes.models.js +43 -0
- package/lib-esm/lib/processes/processes.models.js.map +1 -0
- package/lib-esm/lib/processes/processes.repository.d.ts +18 -0
- package/lib-esm/lib/processes/processes.repository.js +194 -0
- package/lib-esm/lib/processes/processes.repository.js.map +1 -0
- package/lib-esm/lib/processes/processes.terminal-ui.d.ts +19 -0
- package/lib-esm/lib/processes/processes.terminal-ui.js +378 -0
- package/lib-esm/lib/processes/processes.terminal-ui.js.map +1 -0
- package/lib-esm/lib/processes/processes.utils.d.ts +6 -0
- package/lib-esm/lib/processes/processes.utils.js +83 -0
- package/lib-esm/lib/processes/processes.utils.js.map +1 -0
- package/lib-esm/lib/processes/processes.worker.controller.d.ts +3 -0
- package/lib-esm/lib/processes/processes.worker.controller.js +13 -0
- package/lib-esm/lib/processes/processes.worker.controller.js.map +1 -0
- package/lib-esm/lib/processes/processes.worker.d.ts +18 -0
- package/lib-esm/lib/processes/processes.worker.js +52 -0
- package/lib-esm/lib/processes/processes.worker.js.map +1 -0
- package/lib-esm/lib/start-cli.d.ts +7 -0
- package/lib-esm/lib/start-cli.js +43 -0
- package/lib-esm/lib/start-cli.js.map +1 -0
- package/lib-esm/lib/traefik/traefik.models.d.ts +20 -0
- package/lib-esm/lib/traefik/traefik.models.js +2 -0
- package/lib-esm/lib/traefik/traefik.models.js.map +1 -0
- package/lib-esm/lib/traefik/traefik.provider.d.ts +42 -0
- package/lib-esm/lib/traefik/traefik.provider.js +575 -0
- package/lib-esm/lib/traefik/traefik.provider.js.map +1 -0
- package/lib-esm/lib/traefik/treafik-service.provider.d.ts +41 -0
- package/lib-esm/lib/traefik/treafik-service.provider.js +211 -0
- package/lib-esm/lib/traefik/treafik-service.provider.js.map +1 -0
- package/lib-prod/build-info._auto-generated_.d.ts +1 -1
- package/lib-prod/build-info._auto-generated_.js +1 -1
- package/lib-prod/instances/instances.context.js.map +1 -1
- package/lib-prod/instances/instances.controller.js.map +1 -1
- package/lib-prod/instances/instances.js.map +1 -1
- package/lib-prod/instances/instances.repository.js.map +1 -1
- package/lib-prod/instances/instances.terminal-ui.js.map +1 -1
- package/lib-prod/package.json +1 -1
- package/lib-prod/processes/processes.context.js.map +1 -1
- package/lib-prod/processes/processes.controller.js.map +1 -1
- package/lib-prod/processes/processes.js.map +1 -1
- package/lib-prod/processes/processes.repository.js.map +1 -1
- package/lib-prod/processes/processes.terminal-ui.js.map +1 -1
- package/lib-prod/processes/processes.utils.js.map +1 -1
- package/lib-prod/processes/processes.worker.controller.js.map +1 -1
- package/lib-prod/processes/processes.worker.js.map +1 -1
- package/lib-prod/traefik/traefik.provider.js.map +1 -1
- package/lib-prod/traefik/treafik-service.provider.js.map +1 -1
- package/package.json +1 -1
- package/src.js +4 -20
- package/websql/fesm2022/cloud-websql.mjs +1 -1
- package/websql/fesm2022/cloud-websql.mjs.map +1 -1
- package/websql/package.json +1 -1
- package/websql/types/cloud-websql.d.ts +1 -1
- package/websql-prod/fesm2022/cloud-websql-prod.mjs +1 -1
- package/websql-prod/fesm2022/cloud-websql-prod.mjs.map +1 -1
- package/websql-prod/package.json +1 -1
- package/websql-prod/types/cloud-websql-prod.d.ts +1 -1
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { debounceTime, exhaustMap, map } from 'rxjs';
|
|
2
|
+
import { UtilsTerminal, UtilsProcessLogger, Utils, } from 'tnp-core/lib';
|
|
3
|
+
export var ProcessesUtils;
|
|
4
|
+
(function (ProcessesUtils) {
|
|
5
|
+
ProcessesUtils.displayRealtimeProgressMonitor = async (processId, processesController, options) => {
|
|
6
|
+
//#region @backendFunc
|
|
7
|
+
if (!processId) {
|
|
8
|
+
throw new Error(`processId is required`);
|
|
9
|
+
}
|
|
10
|
+
if (!processesController) {
|
|
11
|
+
throw new Error(`processesController is required`);
|
|
12
|
+
}
|
|
13
|
+
options = options || {};
|
|
14
|
+
UtilsTerminal.clearConsole();
|
|
15
|
+
const wrap = UtilsProcessLogger.createStickyTopBox(`PROCESS REALTIME OUTPUT - PRESS ENTER KEY TO STOP`);
|
|
16
|
+
wrap.clear();
|
|
17
|
+
// wrap.update(`Waiting for process id=${processId} to start...`);
|
|
18
|
+
// await processesController.waitUntilProcessExists(processId);
|
|
19
|
+
// await UtilsTerminal.pressAnyKeyToContinueAsync({
|
|
20
|
+
// message: `Process started. Listening for realtime output...`,
|
|
21
|
+
// });
|
|
22
|
+
wrap.update(`PRESS ANY KEY TO STOP DISPLAYING PROGRESS...`);
|
|
23
|
+
const procData = await processesController
|
|
24
|
+
.getByProcessID(processId)
|
|
25
|
+
.request();
|
|
26
|
+
const proc = procData.body.json;
|
|
27
|
+
if (proc.outputLast40lines) {
|
|
28
|
+
await Utils.waitMilliseconds(500);
|
|
29
|
+
wrap.clear();
|
|
30
|
+
wrap.update(proc.outputLast40lines);
|
|
31
|
+
}
|
|
32
|
+
// Helpers.info(`Listening for process id=${processId} realtime output...`);
|
|
33
|
+
let displayLogs = true;
|
|
34
|
+
const unSub = await new Promise((resolve, reject) => {
|
|
35
|
+
const sub = processesController.ctx.realtimeClient
|
|
36
|
+
.listenChangesEntity(proc, {
|
|
37
|
+
property: 'outputLast40lines',
|
|
38
|
+
})
|
|
39
|
+
.pipe(debounceTime(500), exhaustMap(() => {
|
|
40
|
+
return processesController
|
|
41
|
+
.getByProcessID(proc.id)
|
|
42
|
+
.request() // @ts-ignore
|
|
43
|
+
.observable.pipe(map(r => r.body.rawJson));
|
|
44
|
+
}), map(p => {
|
|
45
|
+
return p;
|
|
46
|
+
}))
|
|
47
|
+
.subscribe(data => {
|
|
48
|
+
if (displayLogs) {
|
|
49
|
+
// UtilsTerminal.clearConsole();
|
|
50
|
+
wrap.clear();
|
|
51
|
+
wrap.update(data.outputLast40lines);
|
|
52
|
+
// process.stdout.write(data.outputLast40lines);
|
|
53
|
+
if (options.resolveWhenTextInOutput &&
|
|
54
|
+
data?.outputLast40lines
|
|
55
|
+
?.toString()
|
|
56
|
+
.includes(options.resolveWhenTextInOutput)) {
|
|
57
|
+
process.stdin.emit('data', Buffer.from('\n'));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
let closing = false;
|
|
62
|
+
process.stdin.setRawMode(true);
|
|
63
|
+
process.stdin.resume();
|
|
64
|
+
process.stdin.on('data', () => {
|
|
65
|
+
if (closing) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
displayLogs = false;
|
|
69
|
+
resolve(sub);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
UtilsTerminal.clearConsole();
|
|
73
|
+
try {
|
|
74
|
+
unSub.unsubscribe();
|
|
75
|
+
}
|
|
76
|
+
catch (error) { }
|
|
77
|
+
// console.log(`Starting started...`);
|
|
78
|
+
// await UtilsTerminal.pressAnyKeyToContinueAsync();
|
|
79
|
+
//#endregion
|
|
80
|
+
};
|
|
81
|
+
//#endregion
|
|
82
|
+
})(ProcessesUtils || (ProcessesUtils = {}));
|
|
83
|
+
//# sourceMappingURL=processes.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processes.utils.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region imports
|
|
2
|
+
import { TaonController } from 'taon/lib';
|
|
3
|
+
import { TaonBaseCliWorkerController } from 'tnp-helpers/lib';
|
|
4
|
+
//#endregion
|
|
5
|
+
let ProcessesWorkerController = class ProcessesWorkerController extends TaonBaseCliWorkerController {
|
|
6
|
+
};
|
|
7
|
+
ProcessesWorkerController = __decorate([
|
|
8
|
+
TaonController({
|
|
9
|
+
className: 'ProcessesWorkerController',
|
|
10
|
+
})
|
|
11
|
+
], ProcessesWorkerController);
|
|
12
|
+
export { ProcessesWorkerController };
|
|
13
|
+
//# sourceMappingURL=processes.worker.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processes.worker.controller.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAsB,cAAc,EAAE,MAAM,UAAU,CAAC;AAE9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAI9D,YAAY;AAKL,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,2BAA2B;CAAG,CAAA;AAAhE,yBAAyB;IAHrC,cAAc,CAAC;QACd,SAAS,EAAE,2BAA2B;KACvC,CAAC;GACW,yBAAyB,CAAuC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseCliWorker } from 'tnp-helpers/lib';
|
|
2
|
+
import { ProcessesTerminalUI } from './processes.terminal-ui';
|
|
3
|
+
import { ProcessesWorkerController } from './processes.worker.controller';
|
|
4
|
+
export declare class ProcessesWorker extends BaseCliWorker<ProcessesWorkerController, ProcessesTerminalUI> {
|
|
5
|
+
workerContextTemplate: any;
|
|
6
|
+
terminalUI: ProcessesTerminalUI;
|
|
7
|
+
controllerClass: typeof ProcessesWorkerController;
|
|
8
|
+
constructor(
|
|
9
|
+
/**
|
|
10
|
+
* unique id for service
|
|
11
|
+
*/
|
|
12
|
+
serviceID: string,
|
|
13
|
+
/**
|
|
14
|
+
* external command that will start service
|
|
15
|
+
*/
|
|
16
|
+
startCommandFn: () => string);
|
|
17
|
+
startNormallyInCurrentProcess(): Promise<void>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
//#region imports
|
|
2
|
+
import { Helpers } from 'tnp-core/lib';
|
|
3
|
+
import { BaseCliWorker } from 'tnp-helpers/lib';
|
|
4
|
+
import { CURRENT_PACKAGE_VERSION } from '../build-info._auto-generated_';
|
|
5
|
+
import { ProcessesContext } from './processes.context';
|
|
6
|
+
import { ProcessesController } from './processes.controller';
|
|
7
|
+
import { ProcessesTerminalUI } from './processes.terminal-ui';
|
|
8
|
+
import { ProcessesWorkerController } from './processes.worker.controller';
|
|
9
|
+
//#endregion
|
|
10
|
+
export class ProcessesWorker extends BaseCliWorker {
|
|
11
|
+
//#region properties
|
|
12
|
+
// TODO 'as any' for some reason is necessary
|
|
13
|
+
// TypeScript d.ts generation bug
|
|
14
|
+
workerContextTemplate = ProcessesContext;
|
|
15
|
+
// TODO ts ignore needed for some reason
|
|
16
|
+
// @ts-ignore
|
|
17
|
+
terminalUI = new ProcessesTerminalUI(this);
|
|
18
|
+
controllerClass = ProcessesWorkerController;
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region constructor
|
|
21
|
+
constructor(
|
|
22
|
+
/**
|
|
23
|
+
* unique id for service
|
|
24
|
+
*/
|
|
25
|
+
serviceID,
|
|
26
|
+
/**
|
|
27
|
+
* external command that will start service
|
|
28
|
+
*/
|
|
29
|
+
startCommandFn) {
|
|
30
|
+
// replace '0.0.0' with CURRENT_PACKAGE_VERSION for versioning
|
|
31
|
+
super(serviceID, startCommandFn, CURRENT_PACKAGE_VERSION);
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
async startNormallyInCurrentProcess() {
|
|
35
|
+
//#region @backendFunc
|
|
36
|
+
await super.startNormallyInCurrentProcess({
|
|
37
|
+
actionBeforeTerminalUI: async () => {
|
|
38
|
+
const ctx = await this.getRemoteContextFor({
|
|
39
|
+
methodOptions: {
|
|
40
|
+
calledFrom: 'processes startNormallyInCurrentProcess',
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
const processController = ctx.getInstanceBy(ProcessesController);
|
|
44
|
+
Helpers.info(`Clearing processes table before starting terminal UI`);
|
|
45
|
+
await processController.clearTable(); // clear processes from previous runs
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
// await UtilsTerminal.pressAnyKeyToContinueAsync();
|
|
49
|
+
//#endregion
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=processes.worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processes.worker.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,YAAY;AAEZ,MAAM,OAAO,eAAgB,SAAQ,aAGpC;IACC,oBAAoB;IACpB,6CAA6C;IAC7C,iCAAiC;IACjC,qBAAqB,GAAG,gBAAuB,CAAC;IAEhD,wCAAwC;IACxC,aAAa;IACb,UAAU,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAE3C,eAAe,GAAG,yBAAyB,CAAC;IAC5C,YAAY;IAEZ,qBAAqB;IACrB;IACE;;OAEG;IACH,SAAiB;IACjB;;OAEG;IACH,cAA4B;QAE5B,8DAA8D;QAC9D,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,uBAAuB,CAAC,CAAC;IAC5D,CAAC;IACD,YAAY;IAEL,KAAK,CAAC,6BAA6B;QACxC,sBAAsB;QACtB,MAAM,KAAK,CAAC,6BAA6B,CAAC;YACxC,sBAAsB,EAAE,KAAK,IAAI,EAAE;gBACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC;oBACzC,aAAa,EAAE;wBACb,UAAU,EAAE,yCAAyC;qBACtD;iBACF,CAAC,CAAC;gBACH,MAAM,iBAAiB,GAAG,GAAG,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;gBACrE,MAAM,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC,qCAAqC;YAC7E,CAAC;SACF,CAAC,CAAC;QAEH,oDAAoD;QACpD,YAAY;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
//#region tnp-helpers cli template
|
|
2
|
+
// import { Helpers, BaseCommandLineFeature } from 'tnp-helpers/src';
|
|
3
|
+
// import { BaseProject, BaseStartConfig } from 'tnp-helpers/src'; // @backend
|
|
4
|
+
// class $Version extends BaseCommandLineFeature<{}> {
|
|
5
|
+
// public _() {
|
|
6
|
+
// console.log(`Hello world from cli`);
|
|
7
|
+
// this._exit();
|
|
8
|
+
// }
|
|
9
|
+
// }
|
|
10
|
+
//#endregion
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param argsv process.argsv
|
|
14
|
+
* @param filename needed if you want ipc communicaiton
|
|
15
|
+
*/
|
|
16
|
+
export async function startCli(argsv, filename) {
|
|
17
|
+
//#region @backendFunc
|
|
18
|
+
console.log('Hello from cli');
|
|
19
|
+
console.log({ argsv });
|
|
20
|
+
process.exit(0);
|
|
21
|
+
//#region start config
|
|
22
|
+
// new BaseStartConfig({
|
|
23
|
+
// ProjectClass: BaseProject,
|
|
24
|
+
// functionsOrClasses: [
|
|
25
|
+
// {
|
|
26
|
+
// classOrFnName: '$Version',
|
|
27
|
+
// funcOrClass: $Version,
|
|
28
|
+
// },
|
|
29
|
+
// ],
|
|
30
|
+
// argsv,
|
|
31
|
+
// useStringArrForArgsFunctions: true,
|
|
32
|
+
// shortArgsReplaceConfig: {
|
|
33
|
+
// v: 'version',
|
|
34
|
+
// },
|
|
35
|
+
// callbackNotRecognizedCommand: async () => {
|
|
36
|
+
// Helpers.error(`Command not recognized`, false, true);
|
|
37
|
+
// },
|
|
38
|
+
// });
|
|
39
|
+
//#endregion
|
|
40
|
+
//#endregion
|
|
41
|
+
}
|
|
42
|
+
export default startCli;
|
|
43
|
+
//# sourceMappingURL=start-cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-cli.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,kCAAkC;AAClC,qEAAqE;AACrE,8EAA8E;AAE9E,sDAAsD;AACtD,iBAAiB;AACjB,2CAA2C;AAC3C,oBAAoB;AACpB,MAAM;AACN,IAAI;AACJ,YAAY;AAEZ;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAe,EAAE,QAAgB;IAC9D,sBAAsB;IACtB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhB,sBAAsB;IACtB,wBAAwB;IACxB,+BAA+B;IAC/B,0BAA0B;IAC1B,QAAQ;IACR,mCAAmC;IACnC,+BAA+B;IAC/B,SAAS;IACT,OAAO;IACP,WAAW;IACX,wCAAwC;IACxC,8BAA8B;IAC9B,oBAAoB;IACpB,OAAO;IACP,gDAAgD;IAChD,4DAA4D;IAC5D,OAAO;IACP,MAAM;IACN,YAAY;IACZ,YAAY;AACd,CAAC;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface TraefikConfig {
|
|
2
|
+
http: {
|
|
3
|
+
routers: Record<string, TraefikRouter>;
|
|
4
|
+
services: Record<string, TraefikService>;
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
export interface TraefikRouter {
|
|
8
|
+
rule: string;
|
|
9
|
+
service: string;
|
|
10
|
+
entryPoints: string[];
|
|
11
|
+
tls?: Record<string, any> | null;
|
|
12
|
+
}
|
|
13
|
+
export interface TraefikService {
|
|
14
|
+
loadBalancer: {
|
|
15
|
+
servers: TraefikServer[];
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface TraefikServer {
|
|
19
|
+
url: string;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traefik.models.js","sourceRoot":"","sources":[""],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { TaonCloudStatus } from '../models';
|
|
2
|
+
import { TraefikServiceProvider } from './treafik-service.provider';
|
|
3
|
+
export declare class TraefikProvider {
|
|
4
|
+
/**
|
|
5
|
+
* Path to traefik docker compose template files
|
|
6
|
+
*/
|
|
7
|
+
private readonly pathToTraefikComposeSourceTemplateFilesCwd;
|
|
8
|
+
service: TraefikServiceProvider;
|
|
9
|
+
readonly cloudIps: string[];
|
|
10
|
+
protected taonCloudStatus: TaonCloudStatus;
|
|
11
|
+
protected reverseProxyNetworkName: string;
|
|
12
|
+
get cloudIsEnabled(): boolean;
|
|
13
|
+
get isDevMode(): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Path to traefik docker compose cwd where
|
|
16
|
+
* compose will be started
|
|
17
|
+
*/
|
|
18
|
+
get pathToTraefikComposeDestCwd(): string;
|
|
19
|
+
constructor(
|
|
20
|
+
/**
|
|
21
|
+
* Path to traefik docker compose template files
|
|
22
|
+
*/
|
|
23
|
+
pathToTraefikComposeSourceTemplateFilesCwd: () => string);
|
|
24
|
+
protected setEnabledMode(): void;
|
|
25
|
+
protected checkIfDockerEnabled(): Promise<boolean>;
|
|
26
|
+
protected deleteTraefikNetwork(): Promise<void>;
|
|
27
|
+
protected makeSureTraefikNetworkCreated(): Promise<void>;
|
|
28
|
+
protected selectModeExplain(): Promise<void>;
|
|
29
|
+
protected selectMode(options?: {}): Promise<TaonCloudStatus>;
|
|
30
|
+
protected checkIfTraefikIsRunning(options?: {
|
|
31
|
+
waitUntilHealthy?: boolean;
|
|
32
|
+
maxTries?: number;
|
|
33
|
+
}): Promise<boolean>;
|
|
34
|
+
protected selectCloudIps(): Promise<boolean>;
|
|
35
|
+
protected areCloudIpsValid(): Promise<boolean>;
|
|
36
|
+
initialCloudStatusCheck(): Promise<void>;
|
|
37
|
+
restartTraefik(options?: {
|
|
38
|
+
hardRestart?: boolean;
|
|
39
|
+
}): Promise<void>;
|
|
40
|
+
startTraefik(): Promise<boolean>;
|
|
41
|
+
stopTraefik(): Promise<void>;
|
|
42
|
+
}
|