@wocker/ws 1.0.20 → 1.0.21

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 (40) hide show
  1. package/lib/AppModule.js +21 -7
  2. package/lib/controllers/PresetController.d.ts +1 -1
  3. package/lib/controllers/PresetController.js +24 -12
  4. package/lib/controllers/ProjectController.d.ts +4 -3
  5. package/lib/controllers/ProjectController.js +26 -10
  6. package/lib/controllers/ProxyController.d.ts +1 -1
  7. package/lib/controllers/ProxyController.js +38 -2
  8. package/lib/env.js +17 -7
  9. package/lib/makes/FS.d.ts +2 -2
  10. package/lib/makes/FS.js +19 -9
  11. package/lib/makes/Http.js +17 -7
  12. package/lib/plugins/MongodbPlugin.js +17 -7
  13. package/lib/plugins/elastic-search/controllers/ElasticSearchController.d.ts +10 -0
  14. package/lib/plugins/{ElasticSearchPlugin.js → elastic-search/controllers/ElasticSearchController.js} +32 -13
  15. package/lib/plugins/elastic-search/index.d.ts +2 -0
  16. package/lib/plugins/elastic-search/index.js +22 -0
  17. package/lib/plugins/index.d.ts +2 -2
  18. package/lib/plugins/index.js +2 -2
  19. package/lib/plugins/proxmox/controllers/ProxmoxController.d.ts +14 -0
  20. package/lib/plugins/proxmox/controllers/ProxmoxController.js +127 -0
  21. package/lib/plugins/proxmox/index.d.ts +2 -0
  22. package/lib/plugins/proxmox/index.js +23 -0
  23. package/lib/services/AppConfigService.js +17 -7
  24. package/lib/services/CertService.js +18 -8
  25. package/lib/services/DockerService.d.ts +2 -2
  26. package/lib/services/DockerService.js +8 -5
  27. package/lib/services/LogService.d.ts +1 -0
  28. package/lib/services/LogService.js +4 -0
  29. package/lib/services/PluginService.js +17 -7
  30. package/lib/services/PresetService.d.ts +1 -1
  31. package/lib/services/PresetService.js +18 -8
  32. package/lib/services/ProxyService.d.ts +3 -2
  33. package/lib/services/ProxyService.js +38 -20
  34. package/package.json +10 -5
  35. package/plugins/proxy/Dockerfile +17 -1
  36. package/plugins/proxy/Procfile +2 -0
  37. package/lib/plugins/ElasticSearchPlugin.d.ts +0 -15
  38. package/lib/plugins/ProxmoxPlugin.d.ts +0 -12
  39. package/lib/plugins/ProxmoxPlugin.js +0 -83
  40. package/plugins/proxy/config.json +0 -3
package/lib/AppModule.js CHANGED
@@ -21,19 +21,30 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
21
21
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
22
  return c > 3 && r && Object.defineProperty(target, key, r), r;
23
23
  };
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
31
41
  var AppModule_1;
32
42
  Object.defineProperty(exports, "__esModule", { value: true });
33
43
  exports.AppModule = void 0;
34
44
  const core_1 = require("@wocker/core");
35
45
  const controllers_1 = require("./controllers");
36
46
  const services_1 = require("./services");
47
+ const plugins_1 = require("./plugins");
37
48
  let AppModule = AppModule_1 = class AppModule {
38
49
  async load(container) {
39
50
  const appConfigService = container.getModule(AppModule_1).get(services_1.AppConfigService);
@@ -101,6 +112,9 @@ exports.AppModule = AppModule = AppModule_1 = __decorate([
101
112
  services_1.LogService,
102
113
  services_1.ProjectService,
103
114
  services_1.ProxyService
115
+ ],
116
+ imports: [
117
+ plugins_1.ElasticSearchPlugin,
104
118
  ]
105
119
  })
106
120
  ], AppModule);
@@ -13,7 +13,7 @@ export declare class PresetController {
13
13
  protected onBeforeStart(project: Project): Promise<void>;
14
14
  init(): Promise<void>;
15
15
  deinit(): Promise<void>;
16
- add(name: string): Promise<void>;
16
+ add(name: string, version?: string): Promise<void>;
17
17
  list(): Promise<string>;
18
18
  delete(name: string, confirm?: boolean): Promise<void>;
19
19
  eject(name?: string): Promise<void>;
@@ -21,13 +21,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
21
21
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
22
  return c > 3 && r && Object.defineProperty(target, key, r), r;
23
23
  };
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
31
41
  var __metadata = (this && this.__metadata) || function (k, v) {
32
42
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
43
  };
@@ -173,8 +183,8 @@ let PresetController = class PresetController {
173
183
  async deinit() {
174
184
  await this.presetService.deinit();
175
185
  }
176
- async add(name) {
177
- await this.presetService.addPreset(name);
186
+ async add(name, version) {
187
+ await this.presetService.addPreset(name, version);
178
188
  }
179
189
  async list() {
180
190
  const presets = await this.presetService.search();
@@ -219,10 +229,10 @@ let PresetController = class PresetController {
219
229
  if (!confirm) {
220
230
  return;
221
231
  }
222
- const copier = new core_1.FSManager(this.appConfigService.presetPath(preset.name), this.appConfigService.pwd());
232
+ const copier = new core_1.FileSystemManager(this.appConfigService.presetPath(preset.name), this.appConfigService.pwd());
223
233
  if (preset.dockerfile) {
224
234
  if (!copier.destination.exists(preset.dockerfile)) {
225
- await copier.copy(preset.dockerfile);
235
+ copier.copy(preset.dockerfile);
226
236
  }
227
237
  project.type = "dockerfile";
228
238
  project.dockerfile = preset.dockerfile;
@@ -288,9 +298,11 @@ __decorate([
288
298
  ], PresetController.prototype, "deinit", null);
289
299
  __decorate([
290
300
  (0, core_1.Command)("preset:add <preset>"),
301
+ (0, core_1.Command)("preset:add <preset>@<version>"),
291
302
  __param(0, (0, core_1.Param)("preset")),
303
+ __param(1, (0, core_1.Param)("version")),
292
304
  __metadata("design:type", Function),
293
- __metadata("design:paramtypes", [String]),
305
+ __metadata("design:paramtypes", [String, String]),
294
306
  __metadata("design:returntype", Promise)
295
307
  ], PresetController.prototype, "add", null);
296
308
  __decorate([
@@ -1,11 +1,12 @@
1
1
  import { ProjectType } from "@wocker/core";
2
- import { AppConfigService, AppEventsService, ProjectService, DockerService } from "../services";
2
+ import { AppConfigService, AppEventsService, ProjectService, LogService, DockerService } from "../services";
3
3
  export declare class ProjectController {
4
4
  protected readonly appConfigService: AppConfigService;
5
5
  protected readonly appEventsService: AppEventsService;
6
6
  protected readonly projectService: ProjectService;
7
+ protected readonly logService: LogService;
7
8
  protected readonly dockerService: DockerService;
8
- constructor(appConfigService: AppConfigService, appEventsService: AppEventsService, projectService: ProjectService, dockerService: DockerService);
9
+ constructor(appConfigService: AppConfigService, appEventsService: AppEventsService, projectService: ProjectService, logService: LogService, dockerService: DockerService);
9
10
  protected getProjectNames(): Promise<string[]>;
10
11
  getScriptNames(): Promise<string[]>;
11
12
  init(name: string, type: ProjectType): Promise<void>;
@@ -38,5 +39,5 @@ export declare class ProjectController {
38
39
  attach(name?: string): Promise<void>;
39
40
  exec(command?: string[], name?: string): Promise<void>;
40
41
  run(script: string, args?: string[], name?: string): Promise<void>;
41
- logs(name?: string, global?: boolean, detach?: boolean, follow?: boolean): Promise<void>;
42
+ logs(name?: string, global?: boolean, detach?: boolean, follow?: boolean, clear?: boolean): Promise<void>;
42
43
  }
@@ -21,13 +21,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
21
21
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
22
  return c > 3 && r && Object.defineProperty(target, key, r), r;
23
23
  };
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
31
41
  var __metadata = (this && this.__metadata) || function (k, v) {
32
42
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
43
  };
@@ -48,10 +58,11 @@ const async_mutex_1 = require("async-mutex");
48
58
  const makes_1 = require("../makes");
49
59
  const services_1 = require("../services");
50
60
  let ProjectController = class ProjectController {
51
- constructor(appConfigService, appEventsService, projectService, dockerService) {
61
+ constructor(appConfigService, appEventsService, projectService, logService, dockerService) {
52
62
  this.appConfigService = appConfigService;
53
63
  this.appEventsService = appEventsService;
54
64
  this.projectService = projectService;
65
+ this.logService = logService;
55
66
  this.dockerService = dockerService;
56
67
  }
57
68
  async getProjectNames() {
@@ -540,8 +551,11 @@ let ProjectController = class ProjectController {
540
551
  });
541
552
  await this.dockerService.attachStream(stream);
542
553
  }
543
- async logs(name, global, detach, follow) {
554
+ async logs(name, global, detach, follow, clear) {
544
555
  if (global) {
556
+ if (clear) {
557
+ this.logService.clear();
558
+ }
545
559
  const logFilepath = this.appConfigService.dataPath("ws.log");
546
560
  const prepareLog = (str) => {
547
561
  return str.replace(/^\[.*]\s([^:]+):\s.*$/gm, (substring, type) => {
@@ -1051,8 +1065,9 @@ __decorate([
1051
1065
  type: "boolean",
1052
1066
  alias: "f"
1053
1067
  })),
1068
+ __param(4, (0, core_1.Option)("clear", { alias: "c" })),
1054
1069
  __metadata("design:type", Function),
1055
- __metadata("design:paramtypes", [String, Boolean, Boolean, Boolean]),
1070
+ __metadata("design:paramtypes", [String, Boolean, Boolean, Boolean, Boolean]),
1056
1071
  __metadata("design:returntype", Promise)
1057
1072
  ], ProjectController.prototype, "logs", null);
1058
1073
  exports.ProjectController = ProjectController = __decorate([
@@ -1060,5 +1075,6 @@ exports.ProjectController = ProjectController = __decorate([
1060
1075
  __metadata("design:paramtypes", [services_1.AppConfigService,
1061
1076
  services_1.AppEventsService,
1062
1077
  services_1.ProjectService,
1078
+ services_1.LogService,
1063
1079
  services_1.DockerService])
1064
1080
  ], ProjectController);
@@ -10,7 +10,7 @@ export declare class ProxyController {
10
10
  onProjectStart(project: Project): Promise<void>;
11
11
  onProjectStop(project: Project): Promise<void>;
12
12
  getProjectNames(): string[];
13
- init(httpPort?: number, httpsPort?: number): Promise<void>;
13
+ init(httpPort?: number, httpsPort?: number, sshPort?: number, sshPassword?: string): Promise<void>;
14
14
  start(restart?: boolean, rebuild?: boolean): Promise<void>;
15
15
  stop(): Promise<void>;
16
16
  logs(): Promise<void>;
@@ -47,7 +47,7 @@ let ProxyController = class ProxyController {
47
47
  const projects = this.projectService.search();
48
48
  return projects.map((project) => project.name);
49
49
  }
50
- async init(httpPort, httpsPort) {
50
+ async init(httpPort, httpsPort, sshPort, sshPassword) {
51
51
  const config = this.appConfigService.getConfig();
52
52
  if (httpPort === null || typeof httpPort === "undefined" || isNaN(httpPort)) {
53
53
  httpPort = await (0, utils_1.promptText)({
@@ -67,6 +67,35 @@ let ProxyController = class ProxyController {
67
67
  });
68
68
  }
69
69
  config.setMeta("PROXY_HTTPS_PORT", httpsPort.toString());
70
+ let enableSsh = false;
71
+ if (!sshPassword && !sshPort) {
72
+ enableSsh = await (0, utils_1.promptConfirm)({
73
+ message: "Enable ssh proxy?",
74
+ default: false
75
+ });
76
+ }
77
+ if (enableSsh && !sshPassword) {
78
+ sshPassword = await (0, utils_1.promptText)({
79
+ message: "SSH Password:",
80
+ type: "string",
81
+ default: config.getMeta("PROXY_SSH_PASSWORD")
82
+ });
83
+ }
84
+ if (enableSsh && !sshPort) {
85
+ sshPort = await (0, utils_1.promptText)({
86
+ message: "SSH port:",
87
+ type: "number",
88
+ default: config.getMeta("PROXY_SSH_PORT", "22")
89
+ });
90
+ }
91
+ if (enableSsh) {
92
+ config.setMeta("PROXY_SSH_PASSWORD", sshPassword);
93
+ config.setMeta("PROXY_SSH_PORT", sshPort.toString());
94
+ }
95
+ else {
96
+ config.unsetMeta("PROXY_SSH_PASSWORD");
97
+ config.unsetMeta("PROXY_SSH_PORT");
98
+ }
70
99
  await config.save();
71
100
  }
72
101
  async start(restart, rebuild) {
@@ -97,8 +126,15 @@ __decorate([
97
126
  type: "number",
98
127
  description: "Https port"
99
128
  })),
129
+ __param(2, (0, core_1.Option)("ssh-port", {
130
+ type: "number",
131
+ description: "SSH port"
132
+ })),
133
+ __param(3, (0, core_1.Option)("ssh-password", {
134
+ description: "SSH password"
135
+ })),
100
136
  __metadata("design:type", Function),
101
- __metadata("design:paramtypes", [Number, Number]),
137
+ __metadata("design:paramtypes", [Number, Number, Number, String]),
102
138
  __metadata("design:returntype", Promise)
103
139
  ], ProxyController.prototype, "init", null);
104
140
  __decorate([
package/lib/env.js CHANGED
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.VIRTUAL_HOST_KEY = exports.DATA_DIR = exports.PLUGINS_DIR = exports.SERVICES_DIR = exports.PRESETS_DIR = exports.ROOT_DIR = exports.NODE_ENV = exports.WOCKER_VERSION = void 0;
27
37
  const OS = __importStar(require("os"));
package/lib/makes/FS.d.ts CHANGED
@@ -11,10 +11,10 @@ export declare class FS extends CoreFS {
11
11
  static mkdir(dirPath: string, options?: MakeDirectoryOptions): Promise<void>;
12
12
  static mkdirSync(path: string, options?: MakeDirectoryOptions): string;
13
13
  static readdirFiles(path: string, options?: ReaddirFilesOptions): Promise<string[]>;
14
- static appendFile(path: PathOrFileDescriptor, data: any, options?: WriteFileOptions): Promise<unknown>;
14
+ static appendFile(path: PathOrFileDescriptor, data: any, options?: WriteFileOptions): Promise<void>;
15
15
  static appendFileSync(path: PathOrFileDescriptor, data: any, options?: WriteFileOptions): void;
16
16
  static readBytes(filePath: PathLike, position?: number | bigint, size?: number | bigint): Promise<Buffer>;
17
- static readFileSync(filePath: PathLike): Buffer;
17
+ static readFileSync(filePath: PathLike): Buffer<ArrayBufferLike>;
18
18
  static writeFileSync(path: PathLike, data: any, options?: WriteFileOptions): void;
19
19
  static createWriteStream(path: PathLike): fs.WriteStream;
20
20
  static unlink(filePath: PathLike): Promise<void>;
package/lib/makes/FS.js CHANGED
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.FS = void 0;
27
37
  const core_1 = require("@wocker/core");
@@ -101,12 +111,12 @@ class FS extends core_1.FS {
101
111
  }
102
112
  static async appendFile(path, data, options) {
103
113
  return new Promise((resolve, reject) => {
104
- fs.appendFile(path, data, options, (error, data) => {
114
+ fs.appendFile(path, data, options, (error) => {
105
115
  if (error) {
106
116
  reject(error);
107
117
  }
108
118
  else {
109
- resolve(data);
119
+ resolve(undefined);
110
120
  }
111
121
  });
112
122
  });
package/lib/makes/Http.js CHANGED
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.Http = void 0;
27
37
  const axios_1 = __importStar(require("axios"));
@@ -21,13 +21,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
21
21
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
22
  return c > 3 && r && Object.defineProperty(target, key, r), r;
23
23
  };
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
31
41
  var __metadata = (this && this.__metadata) || function (k, v) {
32
42
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
43
  };
@@ -0,0 +1,10 @@
1
+ import { FileSystemManager, DockerService, AppConfigService } from "@wocker/core";
2
+ export declare class ElasticSearchController {
3
+ protected readonly appConfigService: AppConfigService;
4
+ protected readonly dockerService: DockerService;
5
+ protected containerName: string;
6
+ protected fs: FileSystemManager;
7
+ constructor(appConfigService: AppConfigService, dockerService: DockerService);
8
+ start(restart?: boolean): Promise<void>;
9
+ stop(): Promise<void>;
10
+ }
@@ -8,19 +8,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ElasticSearchPlugin = void 0;
15
+ exports.ElasticSearchController = void 0;
13
16
  const core_1 = require("@wocker/core");
14
- const services_1 = require("../services");
15
- let ElasticSearchPlugin = class ElasticSearchPlugin {
17
+ let ElasticSearchController = class ElasticSearchController {
16
18
  constructor(appConfigService, dockerService) {
17
19
  this.appConfigService = appConfigService;
18
20
  this.dockerService = dockerService;
19
21
  this.containerName = "elastic-search.workspace";
20
- this.fs = new core_1.FSManager(this.appConfigService.pluginsPath("elastic-search"), this.appConfigService.dataPath("plugins/elastic-search"));
22
+ this.fs = new core_1.FileSystemManager(this.appConfigService.pluginsPath("elastic-search"), this.appConfigService.dataPath("plugins/elastic-search"));
21
23
  }
22
- async start(options) {
23
- const { restart } = options;
24
+ async start(restart) {
24
25
  await this.dockerService.pullImage("docker.elastic.co/elasticsearch/elasticsearch:7.5.2");
25
26
  let container = await this.dockerService.getContainer(this.containerName);
26
27
  if (restart && container) {
@@ -28,7 +29,7 @@ let ElasticSearchPlugin = class ElasticSearchPlugin {
28
29
  container = null;
29
30
  }
30
31
  if (!container) {
31
- await this.fs.mkdir("data", {
32
+ this.fs.mkdir("data", {
32
33
  recursive: true
33
34
  });
34
35
  container = await this.dockerService.createContainer({
@@ -48,7 +49,7 @@ let ElasticSearchPlugin = class ElasticSearchPlugin {
48
49
  ES_JAVA_OPTS: "-Xms512m -Xmx512m"
49
50
  },
50
51
  volumes: [
51
- `${this.fs.path("data")}:/usr/share/elasticsearch/data`
52
+ `${this.fs.destination.path("data")}:/usr/share/elasticsearch/data`
52
53
  ],
53
54
  ports: [
54
55
  "9200:9200"
@@ -64,9 +65,27 @@ let ElasticSearchPlugin = class ElasticSearchPlugin {
64
65
  await this.dockerService.removeContainer(this.containerName);
65
66
  }
66
67
  };
67
- exports.ElasticSearchPlugin = ElasticSearchPlugin;
68
- exports.ElasticSearchPlugin = ElasticSearchPlugin = __decorate([
68
+ exports.ElasticSearchController = ElasticSearchController;
69
+ __decorate([
70
+ (0, core_1.Command)("elastica:start"),
71
+ (0, core_1.Description)("Start Elastic Search"),
72
+ __param(0, (0, core_1.Option)("restart", {
73
+ alias: "r",
74
+ description: "Restarting elastic search"
75
+ })),
76
+ __metadata("design:type", Function),
77
+ __metadata("design:paramtypes", [Boolean]),
78
+ __metadata("design:returntype", Promise)
79
+ ], ElasticSearchController.prototype, "start", null);
80
+ __decorate([
81
+ (0, core_1.Command)("elastica:stop"),
82
+ (0, core_1.Description)("Stop Elastic Search"),
83
+ __metadata("design:type", Function),
84
+ __metadata("design:paramtypes", []),
85
+ __metadata("design:returntype", Promise)
86
+ ], ElasticSearchController.prototype, "stop", null);
87
+ exports.ElasticSearchController = ElasticSearchController = __decorate([
69
88
  (0, core_1.Controller)(),
70
- __metadata("design:paramtypes", [services_1.AppConfigService,
71
- services_1.DockerService])
72
- ], ElasticSearchPlugin);
89
+ __metadata("design:paramtypes", [core_1.AppConfigService,
90
+ core_1.DockerService])
91
+ ], ElasticSearchController);
@@ -0,0 +1,2 @@
1
+ export declare class ElasticSearchPlugin {
2
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ElasticSearchPlugin = void 0;
10
+ const core_1 = require("@wocker/core");
11
+ const ElasticSearchController_1 = require("./controllers/ElasticSearchController");
12
+ let ElasticSearchPlugin = class ElasticSearchPlugin {
13
+ };
14
+ exports.ElasticSearchPlugin = ElasticSearchPlugin;
15
+ exports.ElasticSearchPlugin = ElasticSearchPlugin = __decorate([
16
+ (0, core_1.Plugin)({
17
+ name: "elastic-search",
18
+ controllers: [
19
+ ElasticSearchController_1.ElasticSearchController
20
+ ]
21
+ })
22
+ ], ElasticSearchPlugin);
@@ -1,3 +1,3 @@
1
- export * from "./ElasticSearchPlugin";
1
+ export * from "./elastic-search";
2
+ export * from "./proxmox";
2
3
  export * from "./MongodbPlugin";
3
- export * from "./ProxmoxPlugin";
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ElasticSearchPlugin"), exports);
17
+ __exportStar(require("./elastic-search"), exports);
18
+ __exportStar(require("./proxmox"), exports);
18
19
  __exportStar(require("./MongodbPlugin"), exports);
19
- __exportStar(require("./ProxmoxPlugin"), exports);
@@ -0,0 +1,14 @@
1
+ import { FileSystemManager, AppConfigService, DockerService } from "@wocker/core";
2
+ export declare class ProxmoxController {
3
+ protected readonly appConfigService: AppConfigService;
4
+ protected readonly dockerService: DockerService;
5
+ protected configDir: string;
6
+ protected containerName: string;
7
+ protected imageName: string;
8
+ protected fs: FileSystemManager;
9
+ constructor(appConfigService: AppConfigService, dockerService: DockerService);
10
+ pluginPath(...parts: string[]): string;
11
+ start(restart?: boolean, rebuild?: boolean): Promise<void>;
12
+ stop(): Promise<void>;
13
+ protected build(rebuild?: boolean): Promise<void>;
14
+ }