@wocker/ws 1.0.22 → 1.0.24
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/lib/{AppModule.d.ts → RootModule.d.ts} +1 -1
- package/lib/RootModule.js +93 -0
- package/lib/controllers/DebugController.d.ts +1 -1
- package/lib/controllers/DebugController.js +7 -9
- package/lib/controllers/ExperimentalController.d.ts +8 -0
- package/lib/controllers/ExperimentalController.js +76 -0
- package/lib/controllers/PluginController.d.ts +2 -1
- package/lib/controllers/PluginController.js +3 -3
- package/lib/controllers/ProjectController.d.ts +8 -7
- package/lib/controllers/ProjectController.js +123 -240
- package/lib/controllers/index.d.ts +1 -4
- package/lib/controllers/index.js +1 -4
- package/lib/env.d.ts +2 -3
- package/lib/env.js +3 -4
- package/lib/main.js +8 -8
- package/lib/makes/Plugin.d.ts +0 -1
- package/lib/makes/Plugin.js +0 -1
- package/lib/makes/index.d.ts +0 -2
- package/lib/makes/index.js +0 -2
- package/lib/modules/app/index.d.ts +2 -0
- package/lib/modules/app/index.js +32 -0
- package/lib/modules/docker/index.d.ts +8 -0
- package/lib/modules/docker/index.js +41 -0
- package/lib/modules/docker/services/ContainerService.d.ts +14 -0
- package/lib/modules/docker/services/ContainerService.js +115 -0
- package/lib/{services → modules/docker/services}/DockerService.d.ts +12 -5
- package/lib/{services → modules/docker/services}/DockerService.js +27 -114
- package/lib/modules/docker/services/ImageService.d.ts +18 -0
- package/lib/modules/docker/services/ImageService.js +68 -0
- package/lib/modules/docker/services/ModemService.d.ts +15 -0
- package/lib/modules/docker/services/ModemService.js +138 -0
- package/lib/modules/docker/services/ProtoService.d.ts +6 -0
- package/lib/modules/docker/services/ProtoService.js +20 -0
- package/lib/modules/index.d.ts +6 -0
- package/lib/{keystore → modules}/index.js +6 -1
- package/lib/{controllers → modules/keystore/controllers}/KeystoreController.d.ts +2 -2
- package/lib/{controllers → modules/keystore/controllers}/KeystoreController.js +4 -5
- package/lib/modules/keystore/index.d.ts +4 -0
- package/lib/modules/keystore/index.js +29 -0
- package/lib/{keystore → modules/keystore}/providers/FileKeystoreProvider.d.ts +3 -4
- package/lib/{keystore → modules/keystore}/providers/FileKeystoreProvider.js +4 -5
- package/lib/{keystore → modules/keystore}/providers/KeytarKeystoreProvider.js +1 -1
- package/lib/{keystore → modules/keystore/services}/KeystoreService.d.ts +4 -3
- package/lib/{keystore → modules/keystore/services}/KeystoreService.js +9 -6
- package/lib/modules/preset/controllers/PresetController.d.ts +18 -0
- package/lib/modules/preset/controllers/PresetController.js +157 -0
- package/lib/modules/preset/controllers/PresetListener.d.ts +14 -0
- package/lib/modules/preset/controllers/PresetListener.js +140 -0
- package/lib/modules/preset/index.d.ts +5 -0
- package/lib/modules/preset/index.js +39 -0
- package/lib/modules/preset/repositories/PresetRepository.d.ts +16 -0
- package/lib/{repositories → modules/preset/repositories}/PresetRepository.js +9 -11
- package/lib/{services → modules/preset/services}/PresetService.d.ts +4 -12
- package/lib/{services → modules/preset/services}/PresetService.js +22 -27
- package/lib/modules/project/controllers/ProjectController.d.ts +13 -0
- package/lib/modules/project/controllers/ProjectController.js +127 -0
- package/lib/modules/project/index.d.ts +5 -0
- package/lib/modules/project/index.js +39 -0
- package/lib/modules/project/repositories/ProjectRepository.d.ts +13 -0
- package/lib/modules/project/repositories/ProjectRepository.js +90 -0
- package/lib/modules/project/services/ProjectService.d.ts +21 -0
- package/lib/modules/project/services/ProjectService.js +211 -0
- package/lib/{controllers → modules/proxy/controllers}/CertController.d.ts +2 -1
- package/lib/{controllers → modules/proxy/controllers}/CertController.js +4 -3
- package/lib/{controllers → modules/proxy/controllers}/ProxyController.d.ts +5 -4
- package/lib/{controllers → modules/proxy/controllers}/ProxyController.js +12 -11
- package/lib/modules/proxy/index.d.ts +5 -0
- package/lib/modules/proxy/index.js +41 -0
- package/lib/{services → modules/proxy/services}/CertService.d.ts +5 -6
- package/lib/{services → modules/proxy/services}/CertService.js +13 -14
- package/lib/{services → modules/proxy/services}/ProxyService.d.ts +4 -4
- package/lib/{services → modules/proxy/services}/ProxyService.js +27 -20
- package/lib/services/PluginService.d.ts +1 -3
- package/lib/services/PluginService.js +12 -18
- package/lib/utils/followProgress2.d.ts +1 -0
- package/lib/utils/followProgress2.js +63 -0
- package/lib/utils/index.d.ts +1 -2
- package/lib/utils/index.js +1 -2
- package/package.json +7 -8
- package/proto/buildkit.proto +55 -0
- package/proto/solver/pb/ops.proto +443 -0
- package/lib/AppModule.js +0 -84
- package/lib/controllers/PresetController.d.ts +0 -23
- package/lib/controllers/PresetController.js +0 -361
- package/lib/keystore/index.d.ts +0 -1
- package/lib/keystore/types/Encryption.d.ts +0 -9
- package/lib/keystore/types/Encryption.js +0 -81
- package/lib/keystore/types/Encryptor.d.ts +0 -10
- package/lib/keystore/types/Encryptor.js +0 -59
- package/lib/makes/FS.d.ts +0 -27
- package/lib/makes/FS.js +0 -284
- package/lib/makes/LineConvertStream.d.ts +0 -11
- package/lib/makes/LineConvertStream.js +0 -42
- package/lib/makes/Logger.d.ts +0 -9
- package/lib/makes/Logger.js +0 -34
- package/lib/plugins/MongodbPlugin.d.ts +0 -20
- package/lib/plugins/MongodbPlugin.js +0 -288
- package/lib/plugins/index.d.ts +0 -1
- package/lib/plugins/index.js +0 -17
- package/lib/repositories/PresetRepository.d.ts +0 -23
- package/lib/repositories/index.d.ts +0 -1
- package/lib/repositories/index.js +0 -17
- package/lib/services/AppConfigService.d.ts +0 -35
- package/lib/services/AppConfigService.js +0 -163
- package/lib/services/AppEventsService.d.ts +0 -9
- package/lib/services/AppEventsService.js +0 -43
- package/lib/services/LogService.d.ts +0 -15
- package/lib/services/LogService.js +0 -67
- package/lib/services/ProjectService.d.ts +0 -27
- package/lib/services/ProjectService.js +0 -207
- package/lib/services/index.d.ts +0 -10
- package/lib/services/index.js +0 -26
- package/lib/utils/followProgress.d.ts +0 -1
- package/lib/utils/followProgress.js +0 -73
- package/presets/go/Dockerfile +0 -19
- package/presets/go/config.json +0 -14
- package/presets/php-fpm/Dockerfile +0 -173
- package/presets/php-fpm/bin/compare-version +0 -3
- package/presets/php-fpm/config.json +0 -55
- package/presets/php-fpm/etc/nginx/sites-available/default.conf +0 -36
- /package/lib/{utils/format-size-units.d.ts → modules/docker/utils/formatSizeUnits.d.ts} +0 -0
- /package/lib/{utils/format-size-units.js → modules/docker/utils/formatSizeUnits.js} +0 -0
- /package/lib/{keystore → modules/keystore}/providers/KeytarKeystoreProvider.d.ts +0 -0
- /package/lib/{keystore → modules/keystore}/types/FileKeystore.d.ts +0 -0
- /package/lib/{keystore → modules/keystore}/types/FileKeystore.js +0 -0
- /package/lib/{keystore → modules/keystore}/types/Keytar.d.ts +0 -0
- /package/lib/{keystore → modules/keystore}/types/Keytar.js +0 -0
- /package/lib/{keystore → modules/keystore}/utils/createEncryptionKey.d.ts +0 -0
- /package/lib/{keystore → modules/keystore}/utils/createEncryptionKey.js +0 -0
- /package/lib/{keystore → modules/keystore}/utils/createPasswordHash.d.ts +0 -0
- /package/lib/{keystore → modules/keystore}/utils/createPasswordHash.js +0 -0
- /package/lib/{keystore → modules/keystore}/utils/decrypt.d.ts +0 -0
- /package/lib/{keystore → modules/keystore}/utils/decrypt.js +0 -0
- /package/lib/{keystore → modules/keystore}/utils/encrypt.d.ts +0 -0
- /package/lib/{keystore → modules/keystore}/utils/encrypt.js +0 -0
- /package/lib/{keystore → modules/keystore}/utils/index.d.ts +0 -0
- /package/lib/{keystore → modules/keystore}/utils/index.js +0 -0
- /package/lib/{keystore → modules/keystore}/utils/verifyPasswordHash.d.ts +0 -0
- /package/lib/{keystore → modules/keystore}/utils/verifyPasswordHash.js +0 -0
|
@@ -0,0 +1,138 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ModemService = void 0;
|
|
13
|
+
const core_1 = require("@wocker/core");
|
|
14
|
+
const formatSizeUnits_1 = require("../utils/formatSizeUnits");
|
|
15
|
+
const ProtoService_1 = require("./ProtoService");
|
|
16
|
+
let ModemService = class ModemService extends core_1.ModemService {
|
|
17
|
+
constructor(protoService) {
|
|
18
|
+
super();
|
|
19
|
+
this.protoService = protoService;
|
|
20
|
+
this.record = true;
|
|
21
|
+
}
|
|
22
|
+
get modem() {
|
|
23
|
+
if (!this._modem) {
|
|
24
|
+
const Modem = require("docker-modem");
|
|
25
|
+
this._modem = new Modem({
|
|
26
|
+
socketPath: "/var/run/docker.sock"
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return this._modem;
|
|
30
|
+
}
|
|
31
|
+
get docker() {
|
|
32
|
+
if (!this._docker) {
|
|
33
|
+
const Docker = require("dockerode");
|
|
34
|
+
this._docker = new Docker({
|
|
35
|
+
modem: this.modem
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
return this._docker;
|
|
39
|
+
}
|
|
40
|
+
async attachStream(stream) {
|
|
41
|
+
if (process.stdin.isTTY) {
|
|
42
|
+
process.stdin.setRawMode(true);
|
|
43
|
+
}
|
|
44
|
+
process.stdin.resume();
|
|
45
|
+
process.stdin.setEncoding("utf8");
|
|
46
|
+
process.stdin.pipe(stream);
|
|
47
|
+
stream.setEncoding("utf8");
|
|
48
|
+
stream.pipe(process.stdout);
|
|
49
|
+
try {
|
|
50
|
+
await new Promise((resolve, reject) => {
|
|
51
|
+
stream.on("end", resolve);
|
|
52
|
+
stream.on("error", reject);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
finally {
|
|
56
|
+
process.stdin.pause();
|
|
57
|
+
if (process.stdin.isTTY) {
|
|
58
|
+
process.stdin.setRawMode(false);
|
|
59
|
+
}
|
|
60
|
+
process.stdin.unpipe(stream);
|
|
61
|
+
stream.unpipe(process.stdout);
|
|
62
|
+
}
|
|
63
|
+
return stream;
|
|
64
|
+
}
|
|
65
|
+
async followProgress(stream) {
|
|
66
|
+
let isEnded = false, line = 0;
|
|
67
|
+
const mapLines = {};
|
|
68
|
+
return new Promise((resolve, reject) => {
|
|
69
|
+
const handleEnd = () => {
|
|
70
|
+
if (!isEnded) {
|
|
71
|
+
resolve();
|
|
72
|
+
}
|
|
73
|
+
isEnded = true;
|
|
74
|
+
};
|
|
75
|
+
stream.on("data", (chunk) => {
|
|
76
|
+
const text = chunk.toString().replace(/}\s*\{/g, "},{"), items = JSON.parse(`[${text}]`);
|
|
77
|
+
for (const item of items) {
|
|
78
|
+
if (item.id === "moby.buildkit.trace") {
|
|
79
|
+
}
|
|
80
|
+
if (item.stream) {
|
|
81
|
+
process.stdout.write(`${item.stream}`);
|
|
82
|
+
line += item.stream.split("\n").length - 1;
|
|
83
|
+
}
|
|
84
|
+
else if (item.id) {
|
|
85
|
+
const { id, status, processDetail: { current, total, } = {} } = item;
|
|
86
|
+
if (typeof mapLines[id] === "undefined") {
|
|
87
|
+
mapLines[id] = line;
|
|
88
|
+
}
|
|
89
|
+
const targetLine = typeof mapLines[id] !== "undefined"
|
|
90
|
+
? mapLines[id]
|
|
91
|
+
: line;
|
|
92
|
+
const dy = line - targetLine;
|
|
93
|
+
if (dy > 0) {
|
|
94
|
+
process.stdout.write("\x1b[s");
|
|
95
|
+
process.stdout.write(`\x1b[${dy}A`);
|
|
96
|
+
}
|
|
97
|
+
process.stdout.write("\x1b[2K");
|
|
98
|
+
let str = `${id}: ${status}\n`;
|
|
99
|
+
if (status === "Downloading") {
|
|
100
|
+
const width = process.stdout.columns;
|
|
101
|
+
const sizeWidth = 19, totalWidth = width - id.length - status.length - sizeWidth - 7, currentWidth = Math.floor(totalWidth * (current / total)), formatSize = `${(0, formatSizeUnits_1.formatSizeUnits)(current)}/${(0, formatSizeUnits_1.formatSizeUnits)(total)}`;
|
|
102
|
+
str = `${id}: ${status} [${"█".repeat(currentWidth)}${"░".repeat(totalWidth - currentWidth)}] ${formatSize}\n`;
|
|
103
|
+
}
|
|
104
|
+
process.stdout.write(str);
|
|
105
|
+
if (dy > 0) {
|
|
106
|
+
process.stdout.write("\x1b[u");
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
line++;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else if (typeof item.aux === "object") {
|
|
113
|
+
const str = `auxID: ${item.aux.ID}`;
|
|
114
|
+
process.stdout.write(`${str}\n`);
|
|
115
|
+
line += Math.ceil(str.length / process.stdout.columns);
|
|
116
|
+
}
|
|
117
|
+
else if (item.status) {
|
|
118
|
+
process.stdout.write(`${item.status}\n`);
|
|
119
|
+
line += Math.ceil(item.status.length / process.stdout.columns);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
console.info("Unexpected data", item);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
stream.on("end", handleEnd);
|
|
127
|
+
stream.on("close", handleEnd);
|
|
128
|
+
stream.on("error", (err) => {
|
|
129
|
+
reject(err);
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
exports.ModemService = ModemService;
|
|
135
|
+
exports.ModemService = ModemService = __decorate([
|
|
136
|
+
(0, core_1.Injectable)("MODEM_SERVICE"),
|
|
137
|
+
__metadata("design:paramtypes", [ProtoService_1.ProtoService])
|
|
138
|
+
], ModemService);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProtoService = void 0;
|
|
4
|
+
const protobufjs_1 = require("protobufjs");
|
|
5
|
+
const env_1 = require("../../../env");
|
|
6
|
+
class ProtoService {
|
|
7
|
+
get root() {
|
|
8
|
+
if (!this._root) {
|
|
9
|
+
this._root = (0, protobufjs_1.loadSync)([
|
|
10
|
+
`${env_1.ROOT_DIR}/proto/solver/pb/ops.proto`,
|
|
11
|
+
`${env_1.ROOT_DIR}/proto/buildkit.proto`
|
|
12
|
+
]);
|
|
13
|
+
}
|
|
14
|
+
return this._root;
|
|
15
|
+
}
|
|
16
|
+
lookupType(path) {
|
|
17
|
+
return this.root.lookupType(path);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.ProtoService = ProtoService;
|
|
@@ -14,4 +14,9 @@ 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("./
|
|
17
|
+
__exportStar(require("./app"), exports);
|
|
18
|
+
__exportStar(require("./docker"), exports);
|
|
19
|
+
__exportStar(require("./keystore"), exports);
|
|
20
|
+
__exportStar(require("./preset"), exports);
|
|
21
|
+
__exportStar(require("./project"), exports);
|
|
22
|
+
__exportStar(require("./proxy"), exports);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AppConfigService } from "
|
|
2
|
-
import { KeystoreService } from "../
|
|
1
|
+
import { AppConfigService } from "@wocker/core";
|
|
2
|
+
import { KeystoreService } from "../services/KeystoreService";
|
|
3
3
|
export declare class KeystoreController {
|
|
4
4
|
protected readonly appConfigService: AppConfigService;
|
|
5
5
|
protected readonly keystoreService: KeystoreService;
|
|
@@ -15,8 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.KeystoreController = void 0;
|
|
16
16
|
const core_1 = require("@wocker/core");
|
|
17
17
|
const utils_1 = require("@wocker/utils");
|
|
18
|
-
const
|
|
19
|
-
const keystore_1 = require("../keystore");
|
|
18
|
+
const KeystoreService_1 = require("../services/KeystoreService");
|
|
20
19
|
let KeystoreController = class KeystoreController {
|
|
21
20
|
constructor(appConfigService, keystoreService) {
|
|
22
21
|
this.appConfigService = appConfigService;
|
|
@@ -34,7 +33,7 @@ let KeystoreController = class KeystoreController {
|
|
|
34
33
|
return;
|
|
35
34
|
}
|
|
36
35
|
this.appConfigService.config.keystore = provider;
|
|
37
|
-
this.appConfigService.
|
|
36
|
+
this.appConfigService.save();
|
|
38
37
|
}
|
|
39
38
|
async add(name, provider) {
|
|
40
39
|
const value = await (0, utils_1.promptInput)({
|
|
@@ -101,6 +100,6 @@ __decorate([
|
|
|
101
100
|
exports.KeystoreController = KeystoreController = __decorate([
|
|
102
101
|
(0, core_1.Controller)(),
|
|
103
102
|
(0, core_1.Description)("Keystore commands"),
|
|
104
|
-
__metadata("design:paramtypes", [
|
|
105
|
-
|
|
103
|
+
__metadata("design:paramtypes", [core_1.AppConfigService,
|
|
104
|
+
KeystoreService_1.KeystoreService])
|
|
106
105
|
], KeystoreController);
|
|
@@ -0,0 +1,29 @@
|
|
|
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.KeystoreService = exports.KeystoreModule = void 0;
|
|
10
|
+
const core_1 = require("@wocker/core");
|
|
11
|
+
const KeystoreController_1 = require("./controllers/KeystoreController");
|
|
12
|
+
const KeystoreService_1 = require("./services/KeystoreService");
|
|
13
|
+
Object.defineProperty(exports, "KeystoreService", { enumerable: true, get: function () { return KeystoreService_1.KeystoreService; } });
|
|
14
|
+
let KeystoreModule = class KeystoreModule {
|
|
15
|
+
};
|
|
16
|
+
exports.KeystoreModule = KeystoreModule;
|
|
17
|
+
exports.KeystoreModule = KeystoreModule = __decorate([
|
|
18
|
+
(0, core_1.Module)({
|
|
19
|
+
controllers: [
|
|
20
|
+
KeystoreController_1.KeystoreController
|
|
21
|
+
],
|
|
22
|
+
providers: [
|
|
23
|
+
KeystoreService_1.KeystoreService
|
|
24
|
+
],
|
|
25
|
+
exports: [
|
|
26
|
+
KeystoreService_1.KeystoreService
|
|
27
|
+
]
|
|
28
|
+
})
|
|
29
|
+
], KeystoreModule);
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { KeystoreProvider } from "@wocker/core";
|
|
2
|
-
import { AppConfigService } from "../../services/AppConfigService";
|
|
1
|
+
import { AppFileSystemService, KeystoreProvider } from "@wocker/core";
|
|
3
2
|
import { FileKeystore } from "../types/FileKeystore";
|
|
4
3
|
export declare class FileKeystoreProvider extends KeystoreProvider {
|
|
5
|
-
protected readonly
|
|
4
|
+
protected readonly fs: AppFileSystemService;
|
|
6
5
|
protected password?: string;
|
|
7
6
|
protected encryptionKey?: Buffer;
|
|
8
7
|
protected _keystore?: FileKeystore;
|
|
9
|
-
constructor(
|
|
8
|
+
constructor(fs: AppFileSystemService);
|
|
10
9
|
protected get keystore(): FileKeystore;
|
|
11
10
|
protected get passwordHash(): string | undefined;
|
|
12
11
|
protected getEncryptionKey(): Promise<Buffer>;
|
|
@@ -12,17 +12,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.FileKeystoreProvider = void 0;
|
|
13
13
|
const core_1 = require("@wocker/core");
|
|
14
14
|
const utils_1 = require("@wocker/utils");
|
|
15
|
-
const AppConfigService_1 = require("../../services/AppConfigService");
|
|
16
15
|
const FileKeystore_1 = require("../types/FileKeystore");
|
|
17
16
|
const utils_2 = require("../utils");
|
|
18
17
|
let FileKeystoreProvider = class FileKeystoreProvider extends core_1.KeystoreProvider {
|
|
19
|
-
constructor(
|
|
18
|
+
constructor(fs) {
|
|
20
19
|
super();
|
|
21
|
-
this.
|
|
20
|
+
this.fs = fs;
|
|
22
21
|
}
|
|
23
22
|
get keystore() {
|
|
24
23
|
if (!this._keystore) {
|
|
25
|
-
const fs = this.
|
|
24
|
+
const fs = this.fs;
|
|
26
25
|
let data = {
|
|
27
26
|
secrets: {}
|
|
28
27
|
};
|
|
@@ -93,5 +92,5 @@ let FileKeystoreProvider = class FileKeystoreProvider extends core_1.KeystorePro
|
|
|
93
92
|
exports.FileKeystoreProvider = FileKeystoreProvider;
|
|
94
93
|
exports.FileKeystoreProvider = FileKeystoreProvider = __decorate([
|
|
95
94
|
(0, core_1.Injectable)(),
|
|
96
|
-
__metadata("design:paramtypes", [
|
|
95
|
+
__metadata("design:paramtypes", [core_1.AppFileSystemService])
|
|
97
96
|
], FileKeystoreProvider);
|
|
@@ -41,7 +41,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
42
|
exports.KeytarKeystoreProvider = void 0;
|
|
43
43
|
const core_1 = require("@wocker/core");
|
|
44
|
-
const env_1 = require("
|
|
44
|
+
const env_1 = require("../../../env");
|
|
45
45
|
let KeytarKeystoreProvider = class KeytarKeystoreProvider extends core_1.KeystoreProvider {
|
|
46
46
|
async get(key, defaultValue) {
|
|
47
47
|
const keytar = await this.getKeytar();
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { KeystoreService as CoreKeystoreService, KeystoreProvider } from "@wocker/core";
|
|
2
|
-
import { AppConfigService } from "../services/AppConfigService";
|
|
1
|
+
import { AppService, AppConfigService, AppFileSystemService, KeystoreService as CoreKeystoreService, KeystoreProvider } from "@wocker/core";
|
|
3
2
|
export declare class KeystoreService extends CoreKeystoreService {
|
|
3
|
+
protected readonly appService: AppService;
|
|
4
4
|
protected readonly appConfigService: AppConfigService;
|
|
5
|
+
protected readonly fs: AppFileSystemService;
|
|
5
6
|
protected providers: Map<string, KeystoreProvider>;
|
|
6
|
-
constructor(appConfigService: AppConfigService);
|
|
7
|
+
constructor(appService: AppService, appConfigService: AppConfigService, fs: AppFileSystemService);
|
|
7
8
|
hasProvider(name: string): boolean;
|
|
8
9
|
provider(name?: string): KeystoreProvider;
|
|
9
10
|
get(keys: string | string[], byDefault?: string): Promise<string | undefined>;
|
|
@@ -11,13 +11,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.KeystoreService = void 0;
|
|
13
13
|
const core_1 = require("@wocker/core");
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const FileKeystoreProvider_1 = require("./providers/FileKeystoreProvider");
|
|
14
|
+
const KeytarKeystoreProvider_1 = require("../providers/KeytarKeystoreProvider");
|
|
15
|
+
const FileKeystoreProvider_1 = require("../providers/FileKeystoreProvider");
|
|
17
16
|
let KeystoreService = class KeystoreService extends core_1.KeystoreService {
|
|
18
|
-
constructor(appConfigService) {
|
|
17
|
+
constructor(appService, appConfigService, fs) {
|
|
19
18
|
super();
|
|
19
|
+
this.appService = appService;
|
|
20
20
|
this.appConfigService = appConfigService;
|
|
21
|
+
this.fs = fs;
|
|
21
22
|
this.providers = new Map();
|
|
22
23
|
}
|
|
23
24
|
hasProvider(name) {
|
|
@@ -32,7 +33,7 @@ let KeystoreService = class KeystoreService extends core_1.KeystoreService {
|
|
|
32
33
|
}
|
|
33
34
|
switch (name) {
|
|
34
35
|
case "file":
|
|
35
|
-
return new FileKeystoreProvider_1.FileKeystoreProvider(this.
|
|
36
|
+
return new FileKeystoreProvider_1.FileKeystoreProvider(this.fs);
|
|
36
37
|
case "keytar":
|
|
37
38
|
return new KeytarKeystoreProvider_1.KeytarKeystoreProvider();
|
|
38
39
|
default:
|
|
@@ -66,5 +67,7 @@ let KeystoreService = class KeystoreService extends core_1.KeystoreService {
|
|
|
66
67
|
exports.KeystoreService = KeystoreService;
|
|
67
68
|
exports.KeystoreService = KeystoreService = __decorate([
|
|
68
69
|
(0, core_1.Injectable)("KEYSTORE_SERVICE"),
|
|
69
|
-
__metadata("design:paramtypes", [
|
|
70
|
+
__metadata("design:paramtypes", [core_1.AppService,
|
|
71
|
+
core_1.AppConfigService,
|
|
72
|
+
core_1.AppFileSystemService])
|
|
70
73
|
], KeystoreService);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AppConfigService } from "@wocker/core";
|
|
2
|
+
import { DockerService } from "../../docker";
|
|
3
|
+
import { PresetRepository } from "../repositories/PresetRepository";
|
|
4
|
+
import { PresetService } from "../services/PresetService";
|
|
5
|
+
export declare class PresetController {
|
|
6
|
+
protected readonly appConfigService: AppConfigService;
|
|
7
|
+
protected readonly dockerService: DockerService;
|
|
8
|
+
protected readonly presetRepository: PresetRepository;
|
|
9
|
+
protected readonly presetService: PresetService;
|
|
10
|
+
constructor(appConfigService: AppConfigService, dockerService: DockerService, presetRepository: PresetRepository, presetService: PresetService);
|
|
11
|
+
init(): Promise<void>;
|
|
12
|
+
list(): Promise<string>;
|
|
13
|
+
add(name: string, version?: string): Promise<void>;
|
|
14
|
+
destroy(): Promise<void>;
|
|
15
|
+
delete(name: string, confirm?: boolean): Promise<void>;
|
|
16
|
+
build(presetName: string, rebuild?: boolean): Promise<void>;
|
|
17
|
+
presets(): Promise<string[]>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
+
};
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.PresetController = void 0;
|
|
19
|
+
const core_1 = require("@wocker/core");
|
|
20
|
+
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
21
|
+
const utils_1 = require("@wocker/utils");
|
|
22
|
+
const docker_1 = require("../../docker");
|
|
23
|
+
const PresetRepository_1 = require("../repositories/PresetRepository");
|
|
24
|
+
const PresetService_1 = require("../services/PresetService");
|
|
25
|
+
let PresetController = class PresetController {
|
|
26
|
+
constructor(appConfigService, dockerService, presetRepository, presetService) {
|
|
27
|
+
this.appConfigService = appConfigService;
|
|
28
|
+
this.dockerService = dockerService;
|
|
29
|
+
this.presetRepository = presetRepository;
|
|
30
|
+
this.presetService = presetService;
|
|
31
|
+
}
|
|
32
|
+
async init() {
|
|
33
|
+
await this.presetService.init();
|
|
34
|
+
}
|
|
35
|
+
async list() {
|
|
36
|
+
const presets = this.presetRepository.search();
|
|
37
|
+
const table = new cli_table3_1.default({
|
|
38
|
+
head: [
|
|
39
|
+
"Name",
|
|
40
|
+
"Source",
|
|
41
|
+
"Path"
|
|
42
|
+
]
|
|
43
|
+
});
|
|
44
|
+
for (const preset of presets) {
|
|
45
|
+
table.push([
|
|
46
|
+
preset.name,
|
|
47
|
+
preset.source,
|
|
48
|
+
preset.source === core_1.PRESET_SOURCE_EXTERNAL ? preset.path : ""
|
|
49
|
+
]);
|
|
50
|
+
}
|
|
51
|
+
return table.toString();
|
|
52
|
+
}
|
|
53
|
+
async add(name, version) {
|
|
54
|
+
await this.presetService.addPreset(name, version);
|
|
55
|
+
}
|
|
56
|
+
async destroy() {
|
|
57
|
+
await this.presetService.deinit();
|
|
58
|
+
}
|
|
59
|
+
async delete(name, confirm) {
|
|
60
|
+
const preset = this.presetService.get(name);
|
|
61
|
+
if (typeof confirm === "undefined" || confirm === null) {
|
|
62
|
+
confirm = await (0, utils_1.promptConfirm)({
|
|
63
|
+
message: `Delete preset ${name}?`,
|
|
64
|
+
default: false
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
if (!confirm) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
console.info("Deleting...");
|
|
71
|
+
preset.delete();
|
|
72
|
+
}
|
|
73
|
+
async build(presetName, rebuild) {
|
|
74
|
+
const preset = this.presetService.get(presetName);
|
|
75
|
+
let buildArgs = {};
|
|
76
|
+
if (preset.buildArgsOptions) {
|
|
77
|
+
buildArgs = await this.presetService.prompt(preset.buildArgsOptions);
|
|
78
|
+
}
|
|
79
|
+
const imageName = this.presetService.getImageName(preset, buildArgs);
|
|
80
|
+
if (rebuild) {
|
|
81
|
+
await this.dockerService.imageRm(imageName);
|
|
82
|
+
}
|
|
83
|
+
await this.dockerService.buildImage({
|
|
84
|
+
tag: imageName,
|
|
85
|
+
labels: {
|
|
86
|
+
presetName: preset.name
|
|
87
|
+
},
|
|
88
|
+
buildArgs: buildArgs,
|
|
89
|
+
context: preset.path,
|
|
90
|
+
src: preset.dockerfile
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
async presets() {
|
|
94
|
+
const presets = this.presetRepository.search();
|
|
95
|
+
return presets.map((preset) => {
|
|
96
|
+
return preset.name;
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
exports.PresetController = PresetController;
|
|
101
|
+
__decorate([
|
|
102
|
+
(0, core_1.Command)("preset:init"),
|
|
103
|
+
(0, core_1.Description)("Creates preset config for current dir"),
|
|
104
|
+
__metadata("design:type", Function),
|
|
105
|
+
__metadata("design:paramtypes", []),
|
|
106
|
+
__metadata("design:returntype", Promise)
|
|
107
|
+
], PresetController.prototype, "init", null);
|
|
108
|
+
__decorate([
|
|
109
|
+
(0, core_1.Command)("preset:ls"),
|
|
110
|
+
(0, core_1.Description)("List of all available presets"),
|
|
111
|
+
__metadata("design:type", Function),
|
|
112
|
+
__metadata("design:paramtypes", []),
|
|
113
|
+
__metadata("design:returntype", Promise)
|
|
114
|
+
], PresetController.prototype, "list", null);
|
|
115
|
+
__decorate([
|
|
116
|
+
(0, core_1.Command)("preset:install <preset>"),
|
|
117
|
+
(0, core_1.Command)("preset:install <preset>@<version>"),
|
|
118
|
+
(0, core_1.Description)("Adding preset from github repository"),
|
|
119
|
+
__param(0, (0, core_1.Param)("preset")),
|
|
120
|
+
__param(1, (0, core_1.Param)("version")),
|
|
121
|
+
__metadata("design:type", Function),
|
|
122
|
+
__metadata("design:paramtypes", [String, String]),
|
|
123
|
+
__metadata("design:returntype", Promise)
|
|
124
|
+
], PresetController.prototype, "add", null);
|
|
125
|
+
__decorate([
|
|
126
|
+
(0, core_1.Command)("preset:destroy"),
|
|
127
|
+
__metadata("design:type", Function),
|
|
128
|
+
__metadata("design:paramtypes", []),
|
|
129
|
+
__metadata("design:returntype", Promise)
|
|
130
|
+
], PresetController.prototype, "destroy", null);
|
|
131
|
+
__decorate([
|
|
132
|
+
(0, core_1.Command)("preset:delete <preset>"),
|
|
133
|
+
__param(0, (0, core_1.Param)("preset")),
|
|
134
|
+
__param(1, (0, core_1.Option)("yes", "y")),
|
|
135
|
+
__param(1, (0, core_1.Description)("Confirm deletion")),
|
|
136
|
+
__metadata("design:type", Function),
|
|
137
|
+
__metadata("design:paramtypes", [String, Boolean]),
|
|
138
|
+
__metadata("design:returntype", Promise)
|
|
139
|
+
], PresetController.prototype, "delete", null);
|
|
140
|
+
__decorate([
|
|
141
|
+
(0, core_1.Command)("preset:build <preset>"),
|
|
142
|
+
(0, core_1.Description)("Build docker image form a preset"),
|
|
143
|
+
__param(0, (0, core_1.Param)("preset")),
|
|
144
|
+
__param(1, (0, core_1.Option)("rebuild", "r")),
|
|
145
|
+
__param(1, (0, core_1.Description)("Rebuild image")),
|
|
146
|
+
__metadata("design:type", Function),
|
|
147
|
+
__metadata("design:paramtypes", [String, Boolean]),
|
|
148
|
+
__metadata("design:returntype", Promise)
|
|
149
|
+
], PresetController.prototype, "build", null);
|
|
150
|
+
exports.PresetController = PresetController = __decorate([
|
|
151
|
+
(0, core_1.Controller)(),
|
|
152
|
+
(0, core_1.Description)("Preset commands"),
|
|
153
|
+
__metadata("design:paramtypes", [core_1.AppConfigService,
|
|
154
|
+
docker_1.DockerService,
|
|
155
|
+
PresetRepository_1.PresetRepository,
|
|
156
|
+
PresetService_1.PresetService])
|
|
157
|
+
], PresetController);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EventService, Project } from "@wocker/core";
|
|
2
|
+
import { DockerService } from "../../docker";
|
|
3
|
+
import { PresetRepository } from "../repositories/PresetRepository";
|
|
4
|
+
import { PresetService } from "../services/PresetService";
|
|
5
|
+
export declare class PresetListener {
|
|
6
|
+
protected readonly eventService: EventService;
|
|
7
|
+
protected readonly dockerService: DockerService;
|
|
8
|
+
protected readonly presetRepository: PresetRepository;
|
|
9
|
+
protected readonly presetService: PresetService;
|
|
10
|
+
constructor(eventService: EventService, dockerService: DockerService, presetRepository: PresetRepository, presetService: PresetService);
|
|
11
|
+
onInit(project: Project): Promise<void>;
|
|
12
|
+
protected onRebuild(project: Project): Promise<void>;
|
|
13
|
+
protected onBeforeStart(project: Project): Promise<void>;
|
|
14
|
+
}
|