iobroker.docker-manager 0.1.0 → 0.1.3

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.
@@ -10,8 +10,8 @@ const node_child_process_1 = require("node:child_process");
10
10
  const node_os_1 = require("node:os");
11
11
  const promises_1 = require("node:dns/promises");
12
12
  const node_http_1 = __importDefault(require("node:http"));
13
+ const plugin_docker_1 = require("@iobroker/plugin-docker");
13
14
  const range_check_1 = require("range_check");
14
- const DockerManager_1 = __importDefault(require("./DockerManager"));
15
15
  function isHttpResponse(url, timeout = 1000) {
16
16
  return new Promise(resolve => {
17
17
  try {
@@ -62,17 +62,32 @@ async function getIpForDomain(domain) {
62
62
  return false;
63
63
  }
64
64
  }
65
- class DockerMonitor extends DockerManager_1.default {
65
+ class DockerMonitor extends plugin_docker_1.DockerManager {
66
66
  #timers = {
67
67
  container: {},
68
68
  };
69
69
  #runningCommands = {};
70
70
  checkedURLs = {};
71
+ // Browser IPs or domain names
71
72
  #ownIps = [];
72
- #domain2ip = {};
73
+ #domain2ip = { localhost: '127.0.0.1' };
73
74
  #adapter;
74
- constructor(adapter) {
75
- super(adapter);
75
+ constructor(adapter, options) {
76
+ if (options?.host === 'localhost') {
77
+ options.host = '127.0.0.1';
78
+ }
79
+ super({
80
+ dockerApi: options,
81
+ logger: {
82
+ silly: (text) => adapter.log.silly(text),
83
+ debug: (text) => adapter.log.debug(text),
84
+ info: (text) => adapter.log.info(text),
85
+ warn: (text) => adapter.log.warn(text),
86
+ error: (text) => adapter.log.error(text),
87
+ level: adapter.log.level,
88
+ },
89
+ namespace: adapter.namespace,
90
+ });
76
91
  this.#adapter = adapter;
77
92
  }
78
93
  async imagePull(image) {
@@ -156,6 +171,22 @@ class DockerMonitor extends DockerManager_1.default {
156
171
  return { stdout: '', stderr: e.message.toString(), images: [] };
157
172
  }
158
173
  }
174
+ async imagePrune() {
175
+ try {
176
+ const result = await super.imagePrune();
177
+ const images = await this.imageList();
178
+ if (images) {
179
+ await this.#adapter.sendToGui({
180
+ command: 'images',
181
+ data: images,
182
+ });
183
+ }
184
+ return { ...result, images };
185
+ }
186
+ catch (e) {
187
+ return { stdout: '', stderr: e.message.toString() };
188
+ }
189
+ }
159
190
  async containerStop(container) {
160
191
  try {
161
192
  const result = await super.containerStop(container);
@@ -213,10 +244,26 @@ class DockerMonitor extends DockerManager_1.default {
213
244
  return { stdout: '', stderr: e.message.toString() };
214
245
  }
215
246
  }
216
- async containerList(all = true, ownIps) {
247
+ async containerPrune() {
248
+ try {
249
+ const result = await super.containerPrune();
250
+ const containers = await this.containerList();
251
+ if (containers) {
252
+ await this.#adapter.sendToGui({
253
+ command: 'containers',
254
+ data: containers,
255
+ });
256
+ }
257
+ return { ...result, containers };
258
+ }
259
+ catch (e) {
260
+ return { stdout: '', stderr: e.message.toString() };
261
+ }
262
+ }
263
+ async containerList(all = true, browserIPs) {
217
264
  try {
218
265
  const containers = await super.containerList(all);
219
- if (ownIps) {
266
+ if (browserIPs) {
220
267
  // Try to define if the provided ports are HTTP server
221
268
  for (const container of containers) {
222
269
  if (!container.ports || container.status !== 'running') {
@@ -230,35 +277,49 @@ class DockerMonitor extends DockerManager_1.default {
230
277
  const [hostIp, hostPort] = parts[0].split(':');
231
278
  const [, protocol] = parts[1].split('/');
232
279
  if (protocol === 'tcp') {
233
- // request to the port and check if we get HTTP response
234
- // create url
235
- const url = `http://${hostIp === '127.0.0.1' ? 'localhost' : hostIp}:${hostPort}`;
236
- if (this.checkedURLs[url] === undefined || this.checkedURLs[url] === 'timeout') {
237
- this.checkedURLs[url] = await isHttpResponse(url);
280
+ let url = `http://${(0, range_check_1.isV6)(hostIp) ? `[${hostIp}]` : hostIp}:${hostPort}`;
281
+ if (this.dockerApi &&
282
+ (hostIp === 'localhost' || hostIp === '127.0.0.1') &&
283
+ hostIp !== this.dockerApi.host) {
284
+ this.checkedURLs[url] = false;
285
+ continue; // skip checking localhost ports if docker API is used
286
+ }
287
+ if (this.dockerApi?.host && !(0, range_check_1.isIP)(this.dockerApi.host)) {
288
+ this.#domain2ip[this.dockerApi.host] ||= await getIpForDomain(this.dockerApi.host);
238
289
  }
239
- if (this.checkedURLs[url] === true) {
240
- if (hostIp === '0.0.0.0') {
241
- // find the local network interface IP that suits to ownIp
242
- for (const ownIp of ownIps) {
290
+ if (hostIp === '::' || hostIp === '0.0.0.0') {
291
+ // find the network interface IP that suits to hostIp
292
+ for (const ownIp of browserIPs) {
293
+ if (this.dockerApi?.host) {
294
+ const realIp = this.#domain2ip[this.dockerApi.host] || this.dockerApi.host;
295
+ url = url
296
+ .replace('0.0.0.0', (0, range_check_1.isV6)(realIp) ? `[${realIp}]` : realIp)
297
+ .replace('[::]', (0, range_check_1.isV6)(realIp) ? `[${realIp}]` : realIp);
298
+ }
299
+ else {
243
300
  const realIp = this.#domain2ip[ownIp] || ownIp;
244
301
  if ((0, range_check_1.isIP)(realIp)) {
245
302
  const hostIp = findOwnIpFor(this.#domain2ip[ownIp] || ownIp);
246
- container.httpLinks ||= {};
247
- container.httpLinks[ownIp] ||= [];
248
303
  if (hostIp) {
249
- container.httpLinks[ownIp].push(url.replace('0.0.0.0', ownIp));
250
- }
251
- else {
252
- container.httpLinks[ownIp].push(url);
304
+ url = url
305
+ .replace('0.0.0.0', (0, range_check_1.isV6)(ownIp) ? `[${ownIp}]` : ownIp)
306
+ .replace('[::]', (0, range_check_1.isV6)(ownIp) ? `[${ownIp}]` : ownIp);
253
307
  }
254
308
  }
255
309
  }
256
- }
257
- else {
258
- for (const ownIp of ownIps) {
310
+ // request to the port and check if we get HTTP response
311
+ // create url
312
+ if (!url.includes('0.0.0.0') &&
313
+ !url.includes('[::]') &&
314
+ (this.checkedURLs[url] === undefined || this.checkedURLs[url] === 'timeout')) {
315
+ this.checkedURLs[url] = await isHttpResponse(url);
316
+ }
317
+ if (this.checkedURLs[url] === true) {
259
318
  container.httpLinks ||= {};
260
319
  container.httpLinks[ownIp] ||= [];
261
- container.httpLinks[ownIp].push(url);
320
+ if (!container.httpLinks[ownIp].includes(url)) {
321
+ container.httpLinks[ownIp].push(url);
322
+ }
262
323
  }
263
324
  }
264
325
  }
@@ -270,7 +331,7 @@ class DockerMonitor extends DockerManager_1.default {
270
331
  return containers;
271
332
  }
272
333
  catch (e) {
273
- this.adapter.log.debug(`Cannot list containers: ${e.message}`);
334
+ this.log.debug(`Cannot list containers: ${e.message}`);
274
335
  return [];
275
336
  }
276
337
  }
@@ -297,7 +358,7 @@ class DockerMonitor extends DockerManager_1.default {
297
358
  const hasTTY = process.stdin.isTTY && process.stdout.isTTY;
298
359
  const args = ['exec'];
299
360
  if (!command) {
300
- this.adapter.log.error('No command specified for exec');
361
+ this.log.error('No command specified for exec');
301
362
  return;
302
363
  }
303
364
  if (hasTTY) {
@@ -308,11 +369,11 @@ class DockerMonitor extends DockerManager_1.default {
308
369
  let p;
309
370
  try {
310
371
  if (this.needSudo) {
311
- this.adapter.log.debug(`Executing: sudo docker ${args.join(' ')}`);
372
+ this.log.debug(`Executing: sudo docker ${args.join(' ')}`);
312
373
  p = (0, node_child_process_1.spawn)('sudo', ['docker', ...args], { stdio: ['pipe', 'pipe', 'pipe'] });
313
374
  }
314
375
  else {
315
- this.adapter.log.debug(`Executing: docker ${args.join(' ')}`);
376
+ this.log.debug(`Executing: docker ${args.join(' ')}`);
316
377
  p = (0, node_child_process_1.spawn)('docker', args, { stdio: ['pipe', 'pipe', 'pipe'] });
317
378
  }
318
379
  }
@@ -339,7 +400,7 @@ class DockerMonitor extends DockerManager_1.default {
339
400
  }
340
401
  });
341
402
  p.on('close', code => {
342
- this.adapter.log.debug(`Command finished with code ${code}`);
403
+ this.log.debug(`Command finished with code ${code}`);
343
404
  const killTimeout = this.#runningCommands[sid]?.killTimeout;
344
405
  if (killTimeout) {
345
406
  clearTimeout(killTimeout);
@@ -350,7 +411,7 @@ class DockerMonitor extends DockerManager_1.default {
350
411
  delete this.#runningCommands[sid];
351
412
  });
352
413
  }
353
- async networkCreat(networkName, driver) {
414
+ async networkCreate(networkName, driver) {
354
415
  try {
355
416
  const result = await super.networkCreate(networkName, driver);
356
417
  if (result.networks) {
@@ -380,6 +441,68 @@ class DockerMonitor extends DockerManager_1.default {
380
441
  return { stdout: '', stderr: e.message.toString() };
381
442
  }
382
443
  }
444
+ async networkPrune() {
445
+ try {
446
+ const result = await super.networkPrune();
447
+ const networks = await this.networkList();
448
+ if (networks) {
449
+ await this.#adapter.sendToGui({
450
+ command: 'networks',
451
+ data: networks,
452
+ });
453
+ }
454
+ return { ...result, networks };
455
+ }
456
+ catch (e) {
457
+ return { stdout: '', stderr: e.message.toString() };
458
+ }
459
+ }
460
+ async volumeCreate(volumeName, driver, volume) {
461
+ try {
462
+ const result = await super.volumeCreate(volumeName, driver, volume);
463
+ if (result.volumes) {
464
+ await this.#adapter.sendToGui({
465
+ command: 'volumes',
466
+ data: result.volumes,
467
+ });
468
+ }
469
+ return result;
470
+ }
471
+ catch (e) {
472
+ return { stdout: '', stderr: e.message.toString() };
473
+ }
474
+ }
475
+ async volumeRemove(volumeName) {
476
+ try {
477
+ const result = await super.volumeRemove(volumeName);
478
+ if (result.volumes) {
479
+ await this.#adapter.sendToGui({
480
+ command: 'volumes',
481
+ data: result.volumes,
482
+ });
483
+ }
484
+ return result;
485
+ }
486
+ catch (e) {
487
+ return { stdout: '', stderr: e.message.toString() };
488
+ }
489
+ }
490
+ async volumePrune() {
491
+ try {
492
+ const result = await super.volumePrune();
493
+ const volumes = await this.volumeList();
494
+ if (volumes) {
495
+ await this.#adapter.sendToGui({
496
+ command: 'volumes',
497
+ data: volumes,
498
+ });
499
+ }
500
+ return { ...result, volumes };
501
+ }
502
+ catch (e) {
503
+ return { stdout: '', stderr: e.message.toString() };
504
+ }
505
+ }
383
506
  async #pollingInfo() {
384
507
  await this.isReady();
385
508
  if (!this.installed) {
@@ -426,6 +549,21 @@ class DockerMonitor extends DockerManager_1.default {
426
549
  data,
427
550
  });
428
551
  }
552
+ async #pollingVolumes() {
553
+ await this.isReady();
554
+ if (!this.installed) {
555
+ await this.#adapter.sendToGui({
556
+ command: 'volumes',
557
+ error: 'not installed',
558
+ });
559
+ return;
560
+ }
561
+ const data = await this.volumeList();
562
+ await this.#adapter.sendToGui({
563
+ command: 'volumes',
564
+ data,
565
+ });
566
+ }
429
567
  async #pollingContainers() {
430
568
  await this.isReady();
431
569
  if (!this.installed) {
@@ -486,7 +624,17 @@ class DockerMonitor extends DockerManager_1.default {
486
624
  clearInterval(this.#timers.networks);
487
625
  this.#timers.networks = undefined;
488
626
  }
489
- if (scan.containers) {
627
+ if (scan.volumes) {
628
+ this.#timers.volumes ||= setInterval(async () => {
629
+ await this.#pollingVolumes();
630
+ }, 10_000);
631
+ setTimeout(() => void this.#pollingVolumes(), 50); // do it immediately, too
632
+ }
633
+ else if (this.#timers.volumes) {
634
+ clearInterval(this.#timers.volumes);
635
+ this.#timers.volumes = undefined;
636
+ }
637
+ if (scan.containers?.length) {
490
638
  this.#ownIps = scan.containers;
491
639
  // try to find for all domain names the own IP
492
640
  for (const ipOrDomain of scan.containers) {
@@ -535,6 +683,10 @@ class DockerMonitor extends DockerManager_1.default {
535
683
  clearInterval(this.#timers.images);
536
684
  delete this.#timers.images;
537
685
  }
686
+ if (this.#timers.volumes) {
687
+ clearInterval(this.#timers.volumes);
688
+ delete this.#timers.volumes;
689
+ }
538
690
  if (this.#timers.networks) {
539
691
  clearInterval(this.#timers.networks);
540
692
  delete this.#timers.networks;
@@ -1 +1 @@
1
- {"version":3,"file":"DockerMonitor.js","sourceRoot":"","sources":["../../src/lib/DockerMonitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DockerMonitor.js","sourceRoot":"","sources":["../../src/lib/DockerMonitor.ts"],"names":[],"mappings":"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"}