@wocker/ws 1.0.21 → 1.0.22
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/README.md +8 -0
- package/lib/AppModule.js +17 -53
- package/lib/controllers/DebugController.d.ts +2 -1
- package/lib/controllers/DebugController.js +13 -5
- package/lib/controllers/KeystoreController.d.ts +11 -0
- package/lib/controllers/KeystoreController.js +106 -0
- package/lib/controllers/PluginController.d.ts +3 -5
- package/lib/controllers/PluginController.js +11 -57
- package/lib/controllers/PresetController.d.ts +4 -2
- package/lib/controllers/PresetController.js +50 -44
- package/lib/controllers/ProjectController.d.ts +1 -0
- package/lib/controllers/ProjectController.js +45 -36
- package/lib/controllers/ProxyController.js +37 -31
- package/lib/controllers/index.d.ts +1 -1
- package/lib/controllers/index.js +1 -1
- package/lib/env.d.ts +2 -1
- package/lib/env.js +3 -2
- package/lib/keystore/KeystoreService.d.ts +12 -0
- package/lib/keystore/KeystoreService.js +70 -0
- package/lib/keystore/index.d.ts +1 -0
- package/lib/keystore/index.js +17 -0
- package/lib/keystore/providers/FileKeystoreProvider.d.ts +16 -0
- package/lib/keystore/providers/FileKeystoreProvider.js +97 -0
- package/lib/keystore/providers/KeytarKeystoreProvider.d.ts +9 -0
- package/lib/keystore/providers/KeytarKeystoreProvider.js +74 -0
- package/lib/keystore/types/Encryption.d.ts +9 -0
- package/lib/keystore/types/Encryption.js +81 -0
- package/lib/keystore/types/Encryptor.d.ts +10 -0
- package/lib/keystore/types/Encryptor.js +59 -0
- package/lib/keystore/types/FileKeystore.d.ts +17 -0
- package/lib/keystore/types/FileKeystore.js +33 -0
- package/lib/keystore/types/Keytar.d.ts +8 -0
- package/lib/keystore/types/Keytar.js +2 -0
- package/lib/keystore/utils/createEncryptionKey.d.ts +1 -0
- package/lib/keystore/utils/createEncryptionKey.js +46 -0
- package/lib/keystore/utils/createPasswordHash.d.ts +1 -0
- package/lib/keystore/utils/createPasswordHash.js +20 -0
- package/lib/keystore/utils/decrypt.d.ts +1 -0
- package/lib/keystore/utils/decrypt.js +15 -0
- package/lib/keystore/utils/encrypt.d.ts +1 -0
- package/lib/keystore/utils/encrypt.js +19 -0
- package/lib/keystore/utils/index.d.ts +5 -0
- package/lib/keystore/utils/index.js +21 -0
- package/lib/keystore/utils/verifyPasswordHash.d.ts +1 -0
- package/lib/keystore/utils/verifyPasswordHash.js +9 -0
- package/lib/main.js +10 -5
- package/lib/makes/FS.d.ts +1 -1
- package/lib/makes/GithubClient.d.ts +14 -0
- package/lib/makes/GithubClient.js +65 -0
- package/lib/makes/Plugin.d.ts +6 -0
- package/lib/makes/Plugin.js +16 -0
- package/lib/makes/index.d.ts +1 -0
- package/lib/makes/index.js +1 -0
- package/lib/plugins/index.d.ts +0 -2
- package/lib/plugins/index.js +0 -2
- package/lib/repositories/PresetRepository.d.ts +23 -0
- package/lib/repositories/PresetRepository.js +115 -0
- package/lib/repositories/index.d.ts +1 -0
- package/lib/repositories/index.js +17 -0
- package/lib/services/AppConfigService.d.ts +16 -1
- package/lib/services/AppConfigService.js +71 -55
- package/lib/services/AppEventsService.d.ts +4 -4
- package/lib/services/AppEventsService.js +14 -10
- package/lib/services/CertService.js +2 -2
- package/lib/services/DockerService.js +6 -3
- package/lib/services/LogService.d.ts +3 -1
- package/lib/services/LogService.js +12 -10
- package/lib/services/PluginService.d.ts +8 -2
- package/lib/services/PluginService.js +71 -16
- package/lib/services/PresetService.d.ts +9 -8
- package/lib/services/PresetService.js +144 -258
- package/lib/services/ProjectService.d.ts +5 -2
- package/lib/services/ProjectService.js +37 -10
- package/lib/services/ProxyService.js +6 -6
- package/lib/utils/index.d.ts +0 -2
- package/lib/utils/index.js +0 -2
- package/package.json +23 -13
- package/lib/controllers/ImageController.d.ts +0 -7
- package/lib/controllers/ImageController.js +0 -46
- package/lib/makes/Model.d.ts +0 -5
- package/lib/makes/Model.js +0 -12
- package/lib/plugins/elastic-search/controllers/ElasticSearchController.d.ts +0 -10
- package/lib/plugins/elastic-search/controllers/ElasticSearchController.js +0 -91
- package/lib/plugins/elastic-search/index.d.ts +0 -2
- package/lib/plugins/elastic-search/index.js +0 -22
- package/lib/plugins/proxmox/controllers/ProxmoxController.d.ts +0 -14
- package/lib/plugins/proxmox/controllers/ProxmoxController.js +0 -127
- package/lib/plugins/proxmox/index.d.ts +0 -2
- package/lib/plugins/proxmox/index.js +0 -23
- package/lib/utils/volumeFormat.d.ts +0 -6
- package/lib/utils/volumeFormat.js +0 -8
- package/lib/utils/volumeParse.d.ts +0 -2
- package/lib/utils/volumeParse.js +0 -13
- package/presets/bun/Dockerfile +0 -11
- package/presets/bun/config.json +0 -4
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wocker/ws",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.22",
|
|
4
4
|
"author": "Kris Papercut <krispcut@gmail.com>",
|
|
5
5
|
"description": "Docker workspace for web projects",
|
|
6
6
|
"license": "MIT",
|
|
7
|
-
"main": "lib/index.js",
|
|
8
|
-
"types": "lib/index.d.ts",
|
|
7
|
+
"main": "./lib/index.js",
|
|
8
|
+
"types": "./lib/index.d.ts",
|
|
9
9
|
"keywords": [
|
|
10
10
|
"wocker",
|
|
11
11
|
"workspace",
|
|
@@ -24,36 +24,46 @@
|
|
|
24
24
|
"url": "https://github.com/kearisp/wocker-ws/issues"
|
|
25
25
|
},
|
|
26
26
|
"scripts": {
|
|
27
|
-
"
|
|
27
|
+
"prepublishOnly": "npm run build",
|
|
28
28
|
"start": "npm run watch",
|
|
29
|
-
"build": "tsc",
|
|
30
|
-
"watch": "tsc -w"
|
|
29
|
+
"build": "tsc --project tsconfig.build.json",
|
|
30
|
+
"watch": "tsc -w --project tsconfig.build.json",
|
|
31
|
+
"test": "jest --colors",
|
|
32
|
+
"test-watch": "jest --colors --watchAll",
|
|
33
|
+
"make-coverage-badge": "make-coverage-badge"
|
|
31
34
|
},
|
|
32
35
|
"dependencies": {
|
|
33
|
-
"@wocker/core": "1.0.
|
|
34
|
-
"@wocker/utils": "^
|
|
36
|
+
"@wocker/core": "1.0.22",
|
|
37
|
+
"@wocker/utils": "^2.0.0",
|
|
35
38
|
"async-mutex": "^0.4.0",
|
|
36
39
|
"axios": "^1.6.7",
|
|
37
|
-
"chalk": "^4.1.2",
|
|
38
40
|
"child_process": "^1.0.2",
|
|
39
41
|
"cli-table3": "^0.6.2",
|
|
40
42
|
"date-fns": "^2.29.3",
|
|
41
43
|
"dockerode": "^4.0.2",
|
|
42
44
|
"fs": "^0.0.1-security",
|
|
45
|
+
"keytar": "^7.9.0",
|
|
43
46
|
"md5": "^2.3.0",
|
|
44
47
|
"os": "^0.1.2",
|
|
45
48
|
"path": "^0.12.7",
|
|
46
49
|
"readable-stream": "^4.1.0",
|
|
47
|
-
"unzipper": "^0.12.3"
|
|
50
|
+
"unzipper": "^0.12.3",
|
|
51
|
+
"yoctocolors-cjs": "^2.1.2"
|
|
48
52
|
},
|
|
49
53
|
"devDependencies": {
|
|
50
54
|
"@types/dockerode": "^3.3.23",
|
|
51
|
-
"@types/jest": "^29.5.
|
|
55
|
+
"@types/jest": "^29.5.14",
|
|
52
56
|
"@types/md5": "^2.3.2",
|
|
53
|
-
"@types/mute-stream": "^0.0.
|
|
54
|
-
"@types/node": "^
|
|
57
|
+
"@types/mute-stream": "^0.0.4",
|
|
58
|
+
"@types/node": "^22.14.1",
|
|
55
59
|
"@types/readable-stream": "^2.3.15",
|
|
56
60
|
"@types/unzipper": "^0.10.10",
|
|
61
|
+
"@wocker/testing": "^1.0.0",
|
|
62
|
+
"jest": "^29.7.0",
|
|
63
|
+
"make-coverage-badge": "^1.2.0",
|
|
64
|
+
"memfs": "^4.17.0",
|
|
65
|
+
"ts-jest": "^29.3.2",
|
|
66
|
+
"ts-node": "^10.9.2",
|
|
57
67
|
"typescript": "^5.6.3"
|
|
58
68
|
}
|
|
59
69
|
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { AppConfigService, DockerService } from "../services";
|
|
2
|
-
export declare class ImageController {
|
|
3
|
-
protected readonly appConfigService: AppConfigService;
|
|
4
|
-
protected readonly dockerService: DockerService;
|
|
5
|
-
constructor(appConfigService: AppConfigService, dockerService: DockerService);
|
|
6
|
-
list(): Promise<string>;
|
|
7
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
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
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.ImageController = void 0;
|
|
16
|
-
const core_1 = require("@wocker/core");
|
|
17
|
-
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
18
|
-
const services_1 = require("../services");
|
|
19
|
-
let ImageController = class ImageController {
|
|
20
|
-
constructor(appConfigService, dockerService) {
|
|
21
|
-
this.appConfigService = appConfigService;
|
|
22
|
-
this.dockerService = dockerService;
|
|
23
|
-
}
|
|
24
|
-
async list() {
|
|
25
|
-
const images = await this.dockerService.imageLs({});
|
|
26
|
-
const table = new cli_table3_1.default({
|
|
27
|
-
head: ["Name"]
|
|
28
|
-
});
|
|
29
|
-
for (const image of images) {
|
|
30
|
-
table.push([image.Id]);
|
|
31
|
-
}
|
|
32
|
-
return table.toString();
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
exports.ImageController = ImageController;
|
|
36
|
-
__decorate([
|
|
37
|
-
(0, core_1.Command)("images"),
|
|
38
|
-
__metadata("design:type", Function),
|
|
39
|
-
__metadata("design:paramtypes", []),
|
|
40
|
-
__metadata("design:returntype", Promise)
|
|
41
|
-
], ImageController.prototype, "list", null);
|
|
42
|
-
exports.ImageController = ImageController = __decorate([
|
|
43
|
-
(0, core_1.Controller)(),
|
|
44
|
-
__metadata("design:paramtypes", [services_1.AppConfigService,
|
|
45
|
-
services_1.DockerService])
|
|
46
|
-
], ImageController);
|
package/lib/makes/Model.d.ts
DELETED
package/lib/makes/Model.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Model = void 0;
|
|
4
|
-
class Model {
|
|
5
|
-
constructor(attributes = {}) {
|
|
6
|
-
this.attributes = {};
|
|
7
|
-
this.attributes = attributes;
|
|
8
|
-
}
|
|
9
|
-
async save() {
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.Model = Model;
|
|
@@ -1,10 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,91 +0,0 @@
|
|
|
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
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.ElasticSearchController = void 0;
|
|
16
|
-
const core_1 = require("@wocker/core");
|
|
17
|
-
let ElasticSearchController = class ElasticSearchController {
|
|
18
|
-
constructor(appConfigService, dockerService) {
|
|
19
|
-
this.appConfigService = appConfigService;
|
|
20
|
-
this.dockerService = dockerService;
|
|
21
|
-
this.containerName = "elastic-search.workspace";
|
|
22
|
-
this.fs = new core_1.FileSystemManager(this.appConfigService.pluginsPath("elastic-search"), this.appConfigService.dataPath("plugins/elastic-search"));
|
|
23
|
-
}
|
|
24
|
-
async start(restart) {
|
|
25
|
-
await this.dockerService.pullImage("docker.elastic.co/elasticsearch/elasticsearch:7.5.2");
|
|
26
|
-
let container = await this.dockerService.getContainer(this.containerName);
|
|
27
|
-
if (restart && container) {
|
|
28
|
-
await this.dockerService.removeContainer(this.containerName);
|
|
29
|
-
container = null;
|
|
30
|
-
}
|
|
31
|
-
if (!container) {
|
|
32
|
-
this.fs.mkdir("data", {
|
|
33
|
-
recursive: true
|
|
34
|
-
});
|
|
35
|
-
container = await this.dockerService.createContainer({
|
|
36
|
-
name: this.containerName,
|
|
37
|
-
image: "docker.elastic.co/elasticsearch/elasticsearch:7.5.2",
|
|
38
|
-
ulimits: {
|
|
39
|
-
memlock: {
|
|
40
|
-
hard: -1,
|
|
41
|
-
soft: -1
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
env: {
|
|
45
|
-
"node.name": "elasticsearch",
|
|
46
|
-
"cluster.name": "elasticsearch",
|
|
47
|
-
"cluster.initial_master_nodes": "elasticsearch",
|
|
48
|
-
"bootstrap.memory_lock": "false",
|
|
49
|
-
ES_JAVA_OPTS: "-Xms512m -Xmx512m"
|
|
50
|
-
},
|
|
51
|
-
volumes: [
|
|
52
|
-
`${this.fs.destination.path("data")}:/usr/share/elasticsearch/data`
|
|
53
|
-
],
|
|
54
|
-
ports: [
|
|
55
|
-
"9200:9200"
|
|
56
|
-
]
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
const { State: { Status } } = await container.inspect();
|
|
60
|
-
if (Status === "created" || Status === "exited") {
|
|
61
|
-
await container.start();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
async stop() {
|
|
65
|
-
await this.dockerService.removeContainer(this.containerName);
|
|
66
|
-
}
|
|
67
|
-
};
|
|
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([
|
|
88
|
-
(0, core_1.Controller)(),
|
|
89
|
-
__metadata("design:paramtypes", [core_1.AppConfigService,
|
|
90
|
-
core_1.DockerService])
|
|
91
|
-
], ElasticSearchController);
|
|
@@ -1,22 +0,0 @@
|
|
|
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,14 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
-
};
|
|
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
|
-
})();
|
|
41
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
42
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
43
|
-
};
|
|
44
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
45
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
46
|
-
};
|
|
47
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
-
exports.ProxmoxController = void 0;
|
|
49
|
-
const core_1 = require("@wocker/core");
|
|
50
|
-
const Path = __importStar(require("path"));
|
|
51
|
-
let ProxmoxController = class ProxmoxController {
|
|
52
|
-
constructor(appConfigService, dockerService) {
|
|
53
|
-
this.appConfigService = appConfigService;
|
|
54
|
-
this.dockerService = dockerService;
|
|
55
|
-
this.containerName = "proxmox.workspace";
|
|
56
|
-
this.imageName = "wocker-proxmox:1.0.0";
|
|
57
|
-
this.configDir = this.appConfigService.dataPath("plugins/proxmox");
|
|
58
|
-
}
|
|
59
|
-
pluginPath(...parts) {
|
|
60
|
-
return Path.join(this.appConfigService.pluginsPath("proxmox"), ...parts);
|
|
61
|
-
}
|
|
62
|
-
async start(restart, rebuild) {
|
|
63
|
-
if (restart || rebuild) {
|
|
64
|
-
await this.dockerService.removeContainer(this.containerName);
|
|
65
|
-
}
|
|
66
|
-
let container = await this.dockerService.getContainer(this.containerName);
|
|
67
|
-
if (!container) {
|
|
68
|
-
await this.build(rebuild);
|
|
69
|
-
container = await this.dockerService.createContainer({
|
|
70
|
-
name: this.containerName,
|
|
71
|
-
image: this.imageName,
|
|
72
|
-
env: {
|
|
73
|
-
VIRTUAL_HOST: this.containerName,
|
|
74
|
-
VIRTUAL_PORT: "8006"
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
const { State: { Running } } = await container.inspect();
|
|
79
|
-
if (!Running) {
|
|
80
|
-
await container.start();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
async stop() {
|
|
84
|
-
await this.dockerService.removeContainer(this.containerName);
|
|
85
|
-
}
|
|
86
|
-
async build(rebuild) {
|
|
87
|
-
if (rebuild) {
|
|
88
|
-
await this.dockerService.imageRm(this.imageName);
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
if (await this.dockerService.imageExists(this.imageName)) {
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
await this.dockerService.buildImage({
|
|
96
|
-
tag: this.imageName,
|
|
97
|
-
context: this.pluginPath(),
|
|
98
|
-
src: "./Dockerfile"
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
exports.ProxmoxController = ProxmoxController;
|
|
103
|
-
__decorate([
|
|
104
|
-
(0, core_1.Command)("proxmox:start"),
|
|
105
|
-
(0, core_1.Description)("Starting proxmox"),
|
|
106
|
-
__param(0, (0, core_1.Option)("restart", {
|
|
107
|
-
alias: "r"
|
|
108
|
-
})),
|
|
109
|
-
__param(1, (0, core_1.Option)("rebuild", {
|
|
110
|
-
alias: "b"
|
|
111
|
-
})),
|
|
112
|
-
__metadata("design:type", Function),
|
|
113
|
-
__metadata("design:paramtypes", [Boolean, Boolean]),
|
|
114
|
-
__metadata("design:returntype", Promise)
|
|
115
|
-
], ProxmoxController.prototype, "start", null);
|
|
116
|
-
__decorate([
|
|
117
|
-
(0, core_1.Command)("proxmox:stop"),
|
|
118
|
-
(0, core_1.Description)("Stopping proxmox"),
|
|
119
|
-
__metadata("design:type", Function),
|
|
120
|
-
__metadata("design:paramtypes", []),
|
|
121
|
-
__metadata("design:returntype", Promise)
|
|
122
|
-
], ProxmoxController.prototype, "stop", null);
|
|
123
|
-
exports.ProxmoxController = ProxmoxController = __decorate([
|
|
124
|
-
(0, core_1.Controller)(),
|
|
125
|
-
__metadata("design:paramtypes", [core_1.AppConfigService,
|
|
126
|
-
core_1.DockerService])
|
|
127
|
-
], ProxmoxController);
|
|
@@ -1,23 +0,0 @@
|
|
|
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.ProxmoxPlugin = void 0;
|
|
10
|
-
const core_1 = require("@wocker/core");
|
|
11
|
-
const ProxmoxController_1 = require("./controllers/ProxmoxController");
|
|
12
|
-
let ProxmoxPlugin = class ProxmoxPlugin {
|
|
13
|
-
};
|
|
14
|
-
exports.ProxmoxPlugin = ProxmoxPlugin;
|
|
15
|
-
exports.ProxmoxPlugin = ProxmoxPlugin = __decorate([
|
|
16
|
-
(0, core_1.Plugin)({
|
|
17
|
-
name: "proxmox",
|
|
18
|
-
controllers: [
|
|
19
|
-
ProxmoxController_1.ProxmoxController
|
|
20
|
-
],
|
|
21
|
-
providers: []
|
|
22
|
-
})
|
|
23
|
-
], ProxmoxPlugin);
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.volumeFormat = void 0;
|
|
4
|
-
const volumeFormat = (volume) => {
|
|
5
|
-
const { source, destination, options } = volume;
|
|
6
|
-
return `${source}:${destination}` + (options ? `:${options}` : "");
|
|
7
|
-
};
|
|
8
|
-
exports.volumeFormat = volumeFormat;
|
package/lib/utils/volumeParse.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.volumeParse = void 0;
|
|
4
|
-
const volumeParse = (volume) => {
|
|
5
|
-
const regVolume = /^([^:]+):([^:]+)(?::([^:]+))?$/;
|
|
6
|
-
const [, source, destination, options] = regVolume.exec(volume);
|
|
7
|
-
return {
|
|
8
|
-
source,
|
|
9
|
-
destination,
|
|
10
|
-
options
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
exports.volumeParse = volumeParse;
|
package/presets/bun/Dockerfile
DELETED
package/presets/bun/config.json
DELETED