@wocker/ws 1.0.23 → 1.0.25

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 (110) hide show
  1. package/lib/AppModule.js +14 -25
  2. package/lib/controllers/DebugController.d.ts +1 -2
  3. package/lib/controllers/DebugController.js +4 -6
  4. package/lib/controllers/ExperimentalController.d.ts +1 -1
  5. package/lib/controllers/ExperimentalController.js +1 -2
  6. package/lib/controllers/PluginController.d.ts +1 -1
  7. package/lib/controllers/PluginController.js +1 -2
  8. package/lib/controllers/ProjectController.d.ts +7 -11
  9. package/lib/controllers/ProjectController.js +63 -217
  10. package/lib/controllers/index.d.ts +0 -1
  11. package/lib/controllers/index.js +0 -1
  12. package/lib/env.d.ts +2 -2
  13. package/lib/env.js +5 -5
  14. package/lib/main.js +4 -8
  15. package/lib/makes/index.d.ts +0 -1
  16. package/lib/makes/index.js +0 -1
  17. package/lib/modules/core/index.d.ts +2 -0
  18. package/lib/modules/core/index.js +45 -0
  19. package/lib/modules/docker/index.d.ts +3 -2
  20. package/lib/modules/docker/index.js +9 -5
  21. package/lib/modules/docker/services/ComposeService.d.ts +32 -0
  22. package/lib/modules/docker/services/ComposeService.js +129 -0
  23. package/lib/modules/docker/services/DockerService.d.ts +2 -2
  24. package/lib/modules/docker/services/DockerService.js +7 -29
  25. package/lib/modules/docker/services/ImageService.d.ts +2 -8
  26. package/lib/modules/docker/services/ImageService.js +15 -3
  27. package/lib/modules/docker/services/ModemService.d.ts +4 -2
  28. package/lib/modules/docker/services/ModemService.js +25 -5
  29. package/lib/modules/docker/services/ProtoService.js +2 -2
  30. package/lib/modules/docker/type/ComposeConfig.d.ts +12 -0
  31. package/lib/modules/docker/type/ComposeConfig.js +2 -0
  32. package/lib/modules/index.d.ts +3 -0
  33. package/lib/modules/index.js +3 -0
  34. package/lib/modules/keystore/controllers/KeystoreController.d.ts +1 -1
  35. package/lib/modules/keystore/controllers/KeystoreController.js +1 -2
  36. package/lib/modules/keystore/providers/FileKeystoreProvider.d.ts +3 -4
  37. package/lib/modules/keystore/providers/FileKeystoreProvider.js +4 -5
  38. package/lib/modules/keystore/services/KeystoreService.d.ts +3 -3
  39. package/lib/modules/keystore/services/KeystoreService.js +7 -6
  40. package/lib/modules/preset/controllers/PresetController.d.ts +18 -0
  41. package/lib/modules/preset/controllers/PresetController.js +158 -0
  42. package/lib/modules/preset/controllers/PresetListener.d.ts +15 -0
  43. package/lib/modules/preset/controllers/PresetListener.js +143 -0
  44. package/lib/modules/preset/index.d.ts +5 -0
  45. package/lib/modules/preset/index.js +39 -0
  46. package/lib/modules/preset/repositories/PresetRepository.d.ts +16 -0
  47. package/lib/{repositories → modules/preset/repositories}/PresetRepository.js +9 -11
  48. package/lib/{services → modules/preset/services}/PresetService.d.ts +4 -12
  49. package/lib/{services → modules/preset/services}/PresetService.js +31 -26
  50. package/lib/modules/project/controllers/ProjectController.d.ts +14 -0
  51. package/lib/modules/project/controllers/ProjectController.js +143 -0
  52. package/lib/modules/project/index.d.ts +5 -0
  53. package/lib/modules/project/index.js +39 -0
  54. package/lib/modules/project/repositories/ProjectRepository.d.ts +13 -0
  55. package/lib/modules/project/repositories/ProjectRepository.js +90 -0
  56. package/lib/modules/project/services/ProjectService.d.ts +25 -0
  57. package/lib/modules/project/services/ProjectService.js +253 -0
  58. package/lib/modules/proxy/controllers/CertController.d.ts +1 -1
  59. package/lib/modules/proxy/controllers/CertController.js +2 -2
  60. package/lib/modules/proxy/controllers/ProxyController.d.ts +4 -6
  61. package/lib/modules/proxy/controllers/ProxyController.js +9 -11
  62. package/lib/modules/proxy/index.js +3 -1
  63. package/lib/modules/proxy/services/CertService.d.ts +3 -4
  64. package/lib/modules/proxy/services/CertService.js +5 -6
  65. package/lib/modules/proxy/services/ProxyService.d.ts +3 -3
  66. package/lib/modules/proxy/services/ProxyService.js +18 -18
  67. package/lib/services/PluginService.d.ts +1 -3
  68. package/lib/services/PluginService.js +9 -13
  69. package/lib/utils/index.d.ts +0 -1
  70. package/lib/utils/index.js +0 -1
  71. package/package.json +7 -6
  72. package/lib/controllers/PresetController.d.ts +0 -27
  73. package/lib/controllers/PresetController.js +0 -364
  74. package/lib/makes/Logger.d.ts +0 -9
  75. package/lib/makes/Logger.js +0 -34
  76. package/lib/modules/app/index.d.ts +0 -2
  77. package/lib/modules/app/index.js +0 -16
  78. package/lib/repositories/PresetRepository.d.ts +0 -23
  79. package/lib/repositories/index.d.ts +0 -1
  80. package/lib/repositories/index.js +0 -17
  81. package/lib/services/AppConfigService.d.ts +0 -24
  82. package/lib/services/AppConfigService.js +0 -154
  83. package/lib/services/AppEventsService.d.ts +0 -9
  84. package/lib/services/AppEventsService.js +0 -43
  85. package/lib/services/LogService.d.ts +0 -15
  86. package/lib/services/LogService.js +0 -67
  87. package/lib/services/ProjectService.d.ts +0 -27
  88. package/lib/services/ProjectService.js +0 -206
  89. package/lib/utils/followProgress2.d.ts +0 -1
  90. package/lib/utils/followProgress2.js +0 -63
  91. package/plugins/proxmox/Dockerfile +0 -35
  92. package/plugins/proxy/Dockerfile +0 -25
  93. package/plugins/proxy/Procfile +0 -2
  94. package/plugins/proxy/bin/wocker-create-ca +0 -19
  95. package/plugins/proxy/bin/wocker-create-cert +0 -38
  96. package/plugins/proxy/bin/wocker-create-domains +0 -21
  97. package/presets/go/Dockerfile +0 -19
  98. package/presets/go/config.json +0 -14
  99. package/presets/php-fpm/Dockerfile +0 -173
  100. package/presets/php-fpm/bin/compare-version +0 -3
  101. package/presets/php-fpm/config.json +0 -55
  102. package/presets/php-fpm/etc/nginx/sites-available/default.conf +0 -36
  103. package/presets/shopify/Dockerfile +0 -160
  104. package/presets/shopify/bin/compare-version +0 -3
  105. package/presets/shopify/config.json +0 -26
  106. package/presets/shopify/etc/apache2/apache2.conf +0 -230
  107. package/presets/shopify/etc/apache2/mods-available/mpm_prefork.conf +0 -16
  108. package/presets/shopify/etc/apache2/sites-available/000-default.conf +0 -21
  109. package/proto/buildkit.proto +0 -55
  110. package/proto/solver/pb/ops.proto +0 -443
@@ -6,14 +6,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ProtoService = exports.ModemService = exports.DockerService = exports.ImageService = exports.ContainerService = exports.DockerModule = void 0;
9
+ exports.ProtoService = exports.ModemService = exports.ImageService = exports.DockerService = exports.ContainerService = exports.ComposeService = exports.DockerModule = void 0;
10
10
  const core_1 = require("@wocker/core");
11
+ const ComposeService_1 = require("./services/ComposeService");
12
+ Object.defineProperty(exports, "ComposeService", { enumerable: true, get: function () { return ComposeService_1.ComposeService; } });
11
13
  const ContainerService_1 = require("./services/ContainerService");
12
14
  Object.defineProperty(exports, "ContainerService", { enumerable: true, get: function () { return ContainerService_1.ContainerService; } });
13
- const ImageService_1 = require("./services/ImageService");
14
- Object.defineProperty(exports, "ImageService", { enumerable: true, get: function () { return ImageService_1.ImageService; } });
15
15
  const DockerService_1 = require("./services/DockerService");
16
16
  Object.defineProperty(exports, "DockerService", { enumerable: true, get: function () { return DockerService_1.DockerService; } });
17
+ const ImageService_1 = require("./services/ImageService");
18
+ Object.defineProperty(exports, "ImageService", { enumerable: true, get: function () { return ImageService_1.ImageService; } });
17
19
  const ModemService_1 = require("./services/ModemService");
18
20
  Object.defineProperty(exports, "ModemService", { enumerable: true, get: function () { return ModemService_1.ModemService; } });
19
21
  const ProtoService_1 = require("./services/ProtoService");
@@ -24,16 +26,18 @@ exports.DockerModule = DockerModule;
24
26
  exports.DockerModule = DockerModule = __decorate([
25
27
  (0, core_1.Module)({
26
28
  providers: [
29
+ ComposeService_1.ComposeService,
27
30
  ContainerService_1.ContainerService,
28
- ImageService_1.ImageService,
29
31
  DockerService_1.DockerService,
32
+ ImageService_1.ImageService,
30
33
  ModemService_1.ModemService,
31
34
  ProtoService_1.ProtoService
32
35
  ],
33
36
  exports: [
37
+ ComposeService_1.ComposeService,
34
38
  ContainerService_1.ContainerService,
35
- ImageService_1.ImageService,
36
39
  DockerService_1.DockerService,
40
+ ImageService_1.ImageService,
37
41
  ModemService_1.ModemService,
38
42
  ProtoService_1.ProtoService
39
43
  ]
@@ -0,0 +1,32 @@
1
+ import { LogService } from "@wocker/core";
2
+ import { ComposeConfig } from "../type/ComposeConfig";
3
+ type UpOptions = {
4
+ composefile: string;
5
+ context: string;
6
+ };
7
+ type DownOptions = {
8
+ composefile: string;
9
+ context: string;
10
+ };
11
+ type BuildOptions = {
12
+ composefile: string;
13
+ context: string;
14
+ };
15
+ type ExecOptions = {
16
+ service: string;
17
+ args: string[];
18
+ composefile: string;
19
+ context: string;
20
+ };
21
+ export declare class ComposeService {
22
+ protected readonly logService: LogService;
23
+ constructor(logService: LogService);
24
+ up(options: UpOptions): Promise<void>;
25
+ down(options: DownOptions): Promise<void>;
26
+ build(options: BuildOptions): Promise<void>;
27
+ exec(options: ExecOptions): Promise<void>;
28
+ protected getConfig(context: string, composefile: string): ComposeConfig;
29
+ protected getConfigAsString(context: string, composefile: string): string;
30
+ protected processChunk(chunk: Buffer<ArrayBuffer>, streamSource?: "stdout" | "stderr"): void;
31
+ }
32
+ export {};
@@ -0,0 +1,129 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.ComposeService = void 0;
49
+ const core_1 = require("@wocker/core");
50
+ const yaml_1 = __importDefault(require("yaml"));
51
+ const compose = __importStar(require("docker-compose"));
52
+ let ComposeService = class ComposeService {
53
+ constructor(logService) {
54
+ this.logService = logService;
55
+ }
56
+ async up(options) {
57
+ const { context, composefile } = options;
58
+ const res = await compose.upAll({
59
+ cwd: context,
60
+ configAsString: this.getConfigAsString(context, composefile),
61
+ callback: (chunk, streamSource) => this.processChunk(chunk, streamSource)
62
+ });
63
+ this.logService.debug("compose up", res);
64
+ }
65
+ async down(options) {
66
+ const { context, composefile } = options;
67
+ const res = await compose.downAll({
68
+ cwd: context,
69
+ configAsString: this.getConfigAsString(context, composefile),
70
+ callback: (chunk, streamSource) => this.processChunk(chunk, streamSource)
71
+ });
72
+ this.logService.debug("compose down", res);
73
+ }
74
+ async build(options) {
75
+ const { context, composefile } = options;
76
+ const res = await compose.buildAll({
77
+ cwd: context,
78
+ config: composefile,
79
+ callback: (chunk, streamSource) => this.processChunk(chunk, streamSource)
80
+ });
81
+ this.logService.debug("build", res);
82
+ }
83
+ async exec(options) {
84
+ const { service, args, context, composefile } = options;
85
+ const config = this.getConfig(context, composefile);
86
+ console.log(config);
87
+ await compose.exec(service, args, {
88
+ configAsString: this.getConfigAsString(context, composefile),
89
+ callback: (chunk, streamSource) => this.processChunk(chunk, streamSource)
90
+ });
91
+ }
92
+ getConfig(context, composefile) {
93
+ const fs = new core_1.FileSystem(context), config = fs.readYAML(composefile);
94
+ if (!config.networks) {
95
+ config.networks = {};
96
+ }
97
+ config.networks.workspace = {
98
+ external: true
99
+ };
100
+ for (const name in config.services) {
101
+ if (!config.services[name].networks) {
102
+ config.services[name].networks = [];
103
+ }
104
+ if (!config.services[name].networks.includes("workspace")) {
105
+ config.services[name].networks.push("workspace");
106
+ }
107
+ }
108
+ return config;
109
+ }
110
+ getConfigAsString(context, composefile) {
111
+ const config = this.getConfig(context, composefile);
112
+ return yaml_1.default.stringify(config);
113
+ }
114
+ processChunk(chunk, streamSource) {
115
+ switch (streamSource) {
116
+ case "stdout":
117
+ process.stdout.write(chunk);
118
+ break;
119
+ case "stderr":
120
+ process.stderr.write(chunk);
121
+ break;
122
+ }
123
+ }
124
+ };
125
+ exports.ComposeService = ComposeService;
126
+ exports.ComposeService = ComposeService = __decorate([
127
+ (0, core_1.Injectable)("DOCKER_COMPOSE_SERVICE"),
128
+ __metadata("design:paramtypes", [core_1.LogService])
129
+ ], ComposeService);
@@ -5,11 +5,11 @@ import { ContainerService } from "./ContainerService";
5
5
  import { ModemService } from "./ModemService";
6
6
  import { ImageService } from "./ImageService";
7
7
  export declare class DockerService extends CoreDockerService {
8
- protected readonly logService: LogService;
9
8
  protected readonly modemService: ModemService;
10
9
  protected readonly containerService: ContainerService;
11
10
  protected readonly imageService: ImageService;
12
- constructor(logService: LogService, modemService: ModemService, containerService: ContainerService, imageService: ImageService);
11
+ protected readonly logService: LogService;
12
+ constructor(modemService: ModemService, containerService: ContainerService, imageService: ImageService, logService: LogService);
13
13
  get docker(): Docker;
14
14
  createVolume(name: string): Promise<VolumeCreateResponse>;
15
15
  hasVolume(name: string): Promise<boolean>;
@@ -15,12 +15,12 @@ const ContainerService_1 = require("./ContainerService");
15
15
  const ModemService_1 = require("./ModemService");
16
16
  const ImageService_1 = require("./ImageService");
17
17
  let DockerService = class DockerService extends core_1.DockerService {
18
- constructor(logService, modemService, containerService, imageService) {
18
+ constructor(modemService, containerService, imageService, logService) {
19
19
  super();
20
- this.logService = logService;
21
20
  this.modemService = modemService;
22
21
  this.containerService = containerService;
23
22
  this.imageService = imageService;
23
+ this.logService = logService;
24
24
  }
25
25
  get docker() {
26
26
  return this.modemService.docker;
@@ -126,7 +126,7 @@ let DockerService = class DockerService extends core_1.DockerService {
126
126
  },
127
127
  NetworkingConfig: {
128
128
  EndpointsConfig: networkMode === "host" ? {} : {
129
- workspace: {
129
+ [networkName]: {
130
130
  Links: links,
131
131
  Aliases: aliases || (env.VIRTUAL_HOST ? env.VIRTUAL_HOST.split(",") : undefined)
132
132
  }
@@ -141,29 +141,7 @@ let DockerService = class DockerService extends core_1.DockerService {
141
141
  await this.containerService.rm(name);
142
142
  }
143
143
  async buildImage(params) {
144
- const { tag, labels = {}, buildArgs = {}, context, src } = params;
145
- const fs = new core_1.FileSystem(context);
146
- const files = await fs.readdirFiles("", {
147
- recursive: true
148
- });
149
- const stream = await this.docker.buildImage({
150
- context,
151
- src: files
152
- }, {
153
- t: tag,
154
- labels,
155
- buildargs: Object.keys(buildArgs).reduce((res, key) => {
156
- const value = buildArgs[key];
157
- if (typeof value !== "undefined") {
158
- res[key] = typeof buildArgs[key] !== "string"
159
- ? buildArgs[key].toString()
160
- : buildArgs[key];
161
- }
162
- return res;
163
- }, {}),
164
- dockerfile: src
165
- });
166
- await this.modemService.followProgress(stream);
144
+ await this.imageService.build(params);
167
145
  }
168
146
  async imageExists(tag) {
169
147
  return this.imageService.exists(tag);
@@ -261,8 +239,8 @@ let DockerService = class DockerService extends core_1.DockerService {
261
239
  exports.DockerService = DockerService;
262
240
  exports.DockerService = DockerService = __decorate([
263
241
  (0, core_1.Injectable)("DOCKER_SERVICE"),
264
- __metadata("design:paramtypes", [core_1.LogService,
265
- ModemService_1.ModemService,
242
+ __metadata("design:paramtypes", [ModemService_1.ModemService,
266
243
  ContainerService_1.ContainerService,
267
- ImageService_1.ImageService])
244
+ ImageService_1.ImageService,
245
+ core_1.LogService])
268
246
  ], DockerService);
@@ -1,18 +1,12 @@
1
1
  import type Docker from "dockerode";
2
+ import { DockerServiceParams as Params } from "@wocker/core";
2
3
  import { ModemService } from "./ModemService";
3
- type BuildParams = {
4
- tag: string;
5
- context: string;
6
- dockerfile: string;
7
- version: "1" | "2";
8
- };
9
4
  export declare class ImageService {
10
5
  protected readonly modemService: ModemService;
11
6
  constructor(modemService: ModemService);
12
7
  get docker(): Docker;
13
- build(params: BuildParams): Promise<void>;
8
+ build(params: Params.BuildImage): Promise<void>;
14
9
  exists(tag: string): Promise<boolean>;
15
10
  pull(tag: string): Promise<void>;
16
11
  rm(tag: string, force?: boolean): Promise<void>;
17
12
  }
18
- export {};
@@ -20,7 +20,10 @@ let ImageService = class ImageService {
20
20
  return this.modemService.docker;
21
21
  }
22
22
  async build(params) {
23
- const { tag, context, dockerfile, version } = params;
23
+ const { version, tag, context, labels, buildArgs } = params;
24
+ const dockerfile = "dockerfile" in params
25
+ ? params.dockerfile
26
+ : params.src;
24
27
  const files = (new core_1.FileSystem(context)).readdir("", {
25
28
  recursive: true
26
29
  });
@@ -28,9 +31,18 @@ let ImageService = class ImageService {
28
31
  context,
29
32
  src: files
30
33
  }, {
34
+ version,
31
35
  t: tag,
32
- dockerfile,
33
- version
36
+ labels,
37
+ buildargs: Object.keys(buildArgs || {}).reduce((res, key) => {
38
+ const value = buildArgs[key];
39
+ if (typeof value !== "undefined") {
40
+ res[key] = typeof value !== "string" ? value.toString() : value;
41
+ }
42
+ return res;
43
+ }, {}),
44
+ rm: true,
45
+ dockerfile
34
46
  });
35
47
  await this.modemService.followProgress(stream);
36
48
  }
@@ -1,12 +1,14 @@
1
- import { ModemService as CoreModemService } from "@wocker/core";
1
+ import { ModemService as CoreModemService, LogService } from "@wocker/core";
2
2
  import type Modem from "docker-modem";
3
3
  import type Docker from "dockerode";
4
4
  import { ProtoService } from "./ProtoService";
5
5
  export declare class ModemService extends CoreModemService {
6
6
  protected readonly protoService: ProtoService;
7
+ protected readonly logService: LogService;
7
8
  protected _modem?: Modem;
8
9
  protected _docker?: Docker;
9
- constructor(protoService: ProtoService);
10
+ protected record?: boolean;
11
+ constructor(protoService: ProtoService, logService: LogService);
10
12
  get modem(): Modem;
11
13
  get docker(): Docker;
12
14
  attachStream(stream: NodeJS.ReadWriteStream): Promise<NodeJS.ReadWriteStream>;
@@ -14,9 +14,11 @@ const core_1 = require("@wocker/core");
14
14
  const formatSizeUnits_1 = require("../utils/formatSizeUnits");
15
15
  const ProtoService_1 = require("./ProtoService");
16
16
  let ModemService = class ModemService extends core_1.ModemService {
17
- constructor(protoService) {
17
+ constructor(protoService, logService) {
18
18
  super();
19
19
  this.protoService = protoService;
20
+ this.logService = logService;
21
+ this.record = true;
20
22
  }
21
23
  get modem() {
22
24
  if (!this._modem) {
@@ -75,13 +77,30 @@ let ModemService = class ModemService extends core_1.ModemService {
75
77
  const text = chunk.toString().replace(/}\s*\{/g, "},{"), items = JSON.parse(`[${text}]`);
76
78
  for (const item of items) {
77
79
  if (item.id === "moby.buildkit.trace") {
80
+ const StatusResponse = this.protoService.lookupType("moby.buildkit.v1.StatusResponse");
81
+ const buffer = Buffer.from(item.aux, "base64");
82
+ const decoded = StatusResponse.decode(buffer);
83
+ const obj = StatusResponse.toObject(decoded, {
84
+ enums: String,
85
+ longs: String,
86
+ bytes: String,
87
+ defaults: true
88
+ });
89
+ console.dir(obj, {
90
+ depth: null
91
+ });
78
92
  }
79
- if (item.stream) {
93
+ else if (item.id === "moby.image.id") {
94
+ console.dir(item, {
95
+ depth: null
96
+ });
97
+ }
98
+ else if (item.stream) {
80
99
  process.stdout.write(`${item.stream}`);
81
100
  line += item.stream.split("\n").length - 1;
82
101
  }
83
102
  else if (item.id) {
84
- const { id, status, processDetail: { current, total, } = {} } = item;
103
+ const { id, status, processDetail: { current, total } = {} } = item;
85
104
  if (typeof mapLines[id] === "undefined") {
86
105
  mapLines[id] = line;
87
106
  }
@@ -132,6 +151,7 @@ let ModemService = class ModemService extends core_1.ModemService {
132
151
  };
133
152
  exports.ModemService = ModemService;
134
153
  exports.ModemService = ModemService = __decorate([
135
- (0, core_1.Injectable)("MODEM_SERVICE"),
136
- __metadata("design:paramtypes", [ProtoService_1.ProtoService])
154
+ (0, core_1.Injectable)("DOCKER_MODEM_SERVICE"),
155
+ __metadata("design:paramtypes", [ProtoService_1.ProtoService,
156
+ core_1.LogService])
137
157
  ], ModemService);
@@ -7,8 +7,8 @@ class ProtoService {
7
7
  get root() {
8
8
  if (!this._root) {
9
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`
10
+ `${env_1.ROOT_DIR}/fixtures/proto/solver/pb/ops.proto`,
11
+ `${env_1.ROOT_DIR}/fixtures/proto/buildkit.proto`
12
12
  ]);
13
13
  }
14
14
  return this._root;
@@ -0,0 +1,12 @@
1
+ export type ComposeConfig = {
2
+ services: {
3
+ [name: string]: {
4
+ networks?: string[];
5
+ };
6
+ };
7
+ networks?: {
8
+ [name: string]: {
9
+ external?: boolean;
10
+ };
11
+ };
12
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,3 +1,6 @@
1
+ export * from "./core";
1
2
  export * from "./docker";
2
3
  export * from "./keystore";
4
+ export * from "./preset";
5
+ export * from "./project";
3
6
  export * from "./proxy";
@@ -14,6 +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("./core"), exports);
17
18
  __exportStar(require("./docker"), exports);
18
19
  __exportStar(require("./keystore"), exports);
20
+ __exportStar(require("./preset"), exports);
21
+ __exportStar(require("./project"), exports);
19
22
  __exportStar(require("./proxy"), exports);
@@ -1,4 +1,4 @@
1
- import { AppConfigService } from "../../../services/AppConfigService";
1
+ import { AppConfigService } from "@wocker/core";
2
2
  import { KeystoreService } from "../services/KeystoreService";
3
3
  export declare class KeystoreController {
4
4
  protected readonly appConfigService: AppConfigService;
@@ -15,7 +15,6 @@ 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 AppConfigService_1 = require("../../../services/AppConfigService");
19
18
  const KeystoreService_1 = require("../services/KeystoreService");
20
19
  let KeystoreController = class KeystoreController {
21
20
  constructor(appConfigService, keystoreService) {
@@ -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", [AppConfigService_1.AppConfigService,
103
+ __metadata("design:paramtypes", [core_1.AppConfigService,
105
104
  KeystoreService_1.KeystoreService])
106
105
  ], KeystoreController);
@@ -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 appConfigService: AppConfigService;
4
+ protected readonly fs: AppFileSystemService;
6
5
  protected password?: string;
7
6
  protected encryptionKey?: Buffer;
8
7
  protected _keystore?: FileKeystore;
9
- constructor(appConfigService: AppConfigService);
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(appConfigService) {
18
+ constructor(fs) {
20
19
  super();
21
- this.appConfigService = appConfigService;
20
+ this.fs = fs;
22
21
  }
23
22
  get keystore() {
24
23
  if (!this._keystore) {
25
- const fs = this.appConfigService.fs;
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", [AppConfigService_1.AppConfigService])
95
+ __metadata("design:paramtypes", [core_1.AppFileSystemService])
97
96
  ], FileKeystoreProvider);
@@ -1,9 +1,9 @@
1
- import { KeystoreService as CoreKeystoreService, KeystoreProvider } from "@wocker/core";
2
- import { AppConfigService } from "../../../services/AppConfigService";
1
+ import { AppConfigService, AppFileSystemService, KeystoreService as CoreKeystoreService, KeystoreProvider } from "@wocker/core";
3
2
  export declare class KeystoreService extends CoreKeystoreService {
4
3
  protected readonly appConfigService: AppConfigService;
4
+ protected readonly fs: AppFileSystemService;
5
5
  protected providers: Map<string, KeystoreProvider>;
6
- constructor(appConfigService: AppConfigService);
6
+ constructor(appConfigService: AppConfigService, fs: AppFileSystemService);
7
7
  hasProvider(name: string): boolean;
8
8
  provider(name?: string): KeystoreProvider;
9
9
  get(keys: string | string[], byDefault?: string): Promise<string | undefined>;
@@ -11,13 +11,13 @@ 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 AppConfigService_1 = require("../../../services/AppConfigService");
15
- const KeytarKeystoreProvider_1 = require("./../providers/KeytarKeystoreProvider");
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(appConfigService, fs) {
19
18
  super();
20
19
  this.appConfigService = appConfigService;
20
+ this.fs = fs;
21
21
  this.providers = new Map();
22
22
  }
23
23
  hasProvider(name) {
@@ -32,7 +32,7 @@ let KeystoreService = class KeystoreService extends core_1.KeystoreService {
32
32
  }
33
33
  switch (name) {
34
34
  case "file":
35
- return new FileKeystoreProvider_1.FileKeystoreProvider(this.appConfigService);
35
+ return new FileKeystoreProvider_1.FileKeystoreProvider(this.fs);
36
36
  case "keytar":
37
37
  return new KeytarKeystoreProvider_1.KeytarKeystoreProvider();
38
38
  default:
@@ -66,5 +66,6 @@ let KeystoreService = class KeystoreService extends core_1.KeystoreService {
66
66
  exports.KeystoreService = KeystoreService;
67
67
  exports.KeystoreService = KeystoreService = __decorate([
68
68
  (0, core_1.Injectable)("KEYSTORE_SERVICE"),
69
- __metadata("design:paramtypes", [AppConfigService_1.AppConfigService])
69
+ __metadata("design:paramtypes", [core_1.AppConfigService,
70
+ core_1.AppFileSystemService])
70
71
  ], 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
+ }