docker-storage-gc 3.5.12 → 4.0.0

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.
@@ -1,3 +1,21 @@
1
+ - commits:
2
+ - subject: Update to dockerode 3.x
3
+ hash: c6b5416ef2026eba121414cbd349d0717a6d3a68
4
+ body: ""
5
+ footer:
6
+ Change-type: major
7
+ change-type: major
8
+ author: Pagan Gazzard
9
+ - subject: Convert to typescript
10
+ hash: cb4d9a210d5ab04c04757065c126c22ebe2f8f0c
11
+ body: ""
12
+ footer:
13
+ Change-type: major
14
+ change-type: major
15
+ author: Pagan Gazzard
16
+ version: 4.0.0
17
+ title: ""
18
+ date: 2023-12-04T17:24:20.893Z
1
19
  - commits:
2
20
  - subject: Update event-stream to 4.x
3
21
  hash: 5d60200c8c776fff5b93d3750df8603e64db3ebf
@@ -8,7 +26,7 @@
8
26
  author: Pagan Gazzard
9
27
  version: 3.5.12
10
28
  title: ""
11
- date: 2023-12-04T16:00:09.377Z
29
+ date: 2023-12-04T16:03:37.996Z
12
30
  - commits:
13
31
  - subject: Remove unused `@balena/node-metrics-gatherer` dependency
14
32
  hash: a1ab3e61619839799a32b629d425c67360e5fb8b
package/CHANGELOG.md CHANGED
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file
4
4
  automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
5
5
  This project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
+ # v4.0.0
8
+ ## (2023-12-04)
9
+
10
+ * Update to dockerode 3.x [Pagan Gazzard]
11
+ * Convert to typescript [Pagan Gazzard]
12
+
7
13
  # v3.5.12
8
14
  ## (2023-12-04)
9
15
 
@@ -0,0 +1,8 @@
1
+ import Bluebird from 'bluebird';
2
+ import * as es from 'event-stream';
3
+ import type Docker from 'dockerode';
4
+ export interface LayerMtimes {
5
+ [id: string]: string | number | undefined;
6
+ }
7
+ export declare const parseEventStream: (docker: Docker) => Promise<es.MapStream>;
8
+ export declare function dockerMtimeStream(docker: Docker): Bluebird<es.MapStream>;
@@ -1,51 +1,82 @@
1
- // Generated by CoffeeScript 1.12.7
2
- (function() {
3
- var Bluebird, CONTAINER_EVENTS, IMAGE_EVENTS, JSONStream, es, parseEventStream,
4
- indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
5
-
6
- Bluebird = require('bluebird');
7
-
8
- es = require('event-stream');
9
-
10
- JSONStream = require('JSONStream');
11
-
12
- IMAGE_EVENTS = ['delete', 'import', 'pull', 'push', 'tag'];
13
-
14
- CONTAINER_EVENTS = ['attach', 'commit', 'copy', 'create', 'destroy', 'die', 'exec_create', 'exec_start', 'export', 'kill', 'oom', 'pause', 'rename', 'resize', 'restart', 'start', 'stop', 'top', 'unpause'];
15
-
16
- exports.parseEventStream = parseEventStream = function(docker) {
17
- return docker.listImages({
18
- all: true
19
- }).then(function(images) {
20
- var i, image, layer_mtimes, len;
21
- layer_mtimes = {};
22
- for (i = 0, len = images.length; i < len; i++) {
23
- image = images[i];
24
- layer_mtimes[image.Id] = 0;
25
- }
26
- return es.pipeline(JSONStream.parse(), es.mapSync(function(arg) {
27
- var from, id, status, timeNano;
28
- status = arg.status, id = arg.id, from = arg.from, timeNano = arg.timeNano;
29
- if (indexOf.call(IMAGE_EVENTS, status) >= 0) {
30
- if (status === 'delete') {
31
- if (layer_mtimes[id] != null) {
32
- delete layer_mtimes[id];
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 __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.dockerMtimeStream = exports.parseEventStream = void 0;
30
+ const bluebird_1 = __importDefault(require("bluebird"));
31
+ const es = __importStar(require("event-stream"));
32
+ const JSONStream_1 = __importDefault(require("JSONStream"));
33
+ const IMAGE_EVENTS = ['delete', 'import', 'pull', 'push', 'tag'];
34
+ const CONTAINER_EVENTS = [
35
+ 'attach',
36
+ 'commit',
37
+ 'copy',
38
+ 'create',
39
+ 'destroy',
40
+ 'die',
41
+ 'exec_create',
42
+ 'exec_start',
43
+ 'export',
44
+ 'kill',
45
+ 'oom',
46
+ 'pause',
47
+ 'rename',
48
+ 'resize',
49
+ 'restart',
50
+ 'start',
51
+ 'stop',
52
+ 'top',
53
+ 'unpause',
54
+ ];
55
+ const parseEventStream = (docker) => docker.listImages({ all: true }).then(function (images) {
56
+ const layerMtimes = {};
57
+ for (const image of images) {
58
+ layerMtimes[image.Id] = 0;
59
+ }
60
+ return es.pipeline(JSONStream_1.default.parse(undefined), es.mapSync(function ({ status, id, from, timeNano }) {
61
+ if (IMAGE_EVENTS.includes(status)) {
62
+ if (status === 'delete') {
63
+ if (layerMtimes[id] != null) {
64
+ delete layerMtimes[id];
65
+ }
33
66
  }
34
- } else {
35
- layer_mtimes[id] = timeNano;
36
- }
37
- } else if (indexOf.call(CONTAINER_EVENTS, status) >= 0) {
38
- layer_mtimes[from] = timeNano;
67
+ else {
68
+ layerMtimes[id] = timeNano;
69
+ }
70
+ }
71
+ else if (CONTAINER_EVENTS.includes(status)) {
72
+ layerMtimes[from] = timeNano;
39
73
  }
40
- return layer_mtimes;
41
- }));
42
- });
43
- };
44
-
45
- exports.dockerMtimeStream = function(docker) {
46
- return Bluebird.join(docker.getEvents(), parseEventStream(docker), function(stream, streamParser) {
47
- return es.pipeline(stream, streamParser);
48
- });
49
- };
50
-
51
- }).call(this);
74
+ return layerMtimes;
75
+ }));
76
+ });
77
+ exports.parseEventStream = parseEventStream;
78
+ function dockerMtimeStream(docker) {
79
+ return bluebird_1.default.join(docker.getEvents(), (0, exports.parseEventStream)(docker), (stream, streamParser) => es.pipeline(stream, streamParser));
80
+ }
81
+ exports.dockerMtimeStream = dockerMtimeStream;
82
+ //# sourceMappingURL=docker-event-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker-event-stream.js","sourceRoot":"","sources":["../lib/docker-event-stream.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAgC;AAChC,iDAAmC;AACnC,4DAAoC;AAGpC,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAEjE,MAAM,gBAAgB,GAAG;IACxB,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,KAAK;IACL,aAAa;IACb,YAAY;IACZ,QAAQ;IACR,MAAM;IACN,KAAK;IACL,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,MAAM;IACN,KAAK;IACL,SAAS;CACT,CAAC;AA4BK,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE,CAClD,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,MAAM;IACrD,MAAM,WAAW,GAAgB,EAAE,CAAC;IAKpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,CAAC,QAAQ,CACjB,oBAAU,CAAC,KAAK,CAAC,SAAS,CAAwB,EAClD,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAe;QAC/D,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzB,IAAI,WAAW,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC7B,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;gBACxB,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,WAAW,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;YAC5B,CAAC;QACF,CAAC;aAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QAC9B,CAAC;QACD,OAAO,WAAW,CAAC;IACpB,CAAC,CAAC,CACF,CAAC;AACH,CAAC,CAAC,CAAC;AA5BS,QAAA,gBAAgB,oBA4BzB;AAEJ,SAAgB,iBAAiB,CAAC,MAAc;IAC/C,OAAO,kBAAQ,CAAC,IAAI,CACnB,MAAM,CAAC,SAAS,EAAE,EAClB,IAAA,wBAAgB,EAAC,MAAM,CAAC,EACxB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,CACxB,EAAE,CAAC,QAAQ,CAAC,MAA6B,EAAE,YAAY,CAAC,CACzD,CAAC;AACH,CAAC;AAPD,8CAOC"}
@@ -0,0 +1,15 @@
1
+ import Bluebird from 'bluebird';
2
+ import type Docker from 'dockerode';
3
+ import { LayerMtimes } from './docker-event-stream';
4
+ export declare const createNode: (id: string) => ImageNode;
5
+ export interface ImageNode {
6
+ id: string;
7
+ size: number;
8
+ repoTags: string[];
9
+ repoDigests: string[];
10
+ mtime: LayerMtimes[string];
11
+ children: Record<string, ImageNode>;
12
+ isUsedByAContainer?: boolean;
13
+ }
14
+ export declare const createTree: (images: Docker.ImageInfo[], containers: Docker.ContainerInfo[], layerMtimes: LayerMtimes) => ImageNode;
15
+ export declare function dockerImageTree(docker: Docker, layerMtimes: LayerMtimes): Bluebird<ImageNode>;
@@ -1,85 +1,66 @@
1
- // Generated by CoffeeScript 1.12.7
2
- (function() {
3
- var Bluebird, _, createNode, createTree, getMtime, getMtimeFrom, saneRepoAttrs,
4
- indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
5
-
6
- _ = require('lodash');
7
-
8
- Bluebird = require('bluebird');
9
-
10
- saneRepoAttrs = function(repoAttrs) {
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.dockerImageTree = exports.createTree = exports.createNode = void 0;
7
+ const bluebird_1 = __importDefault(require("bluebird"));
8
+ const saneRepoAttrs = function (repoAttrs) {
11
9
  if (repoAttrs == null) {
12
- return [];
10
+ return [];
13
11
  }
14
- if (indexOf.call(repoAttrs, '<none>:<none>') >= 0 || indexOf.call(repoAttrs, '<none>@<none>') >= 0) {
15
- return [];
16
- } else {
17
- return repoAttrs;
12
+ if (repoAttrs.includes('<none>:<none>') ||
13
+ repoAttrs.includes('<none>@<none>')) {
14
+ return [];
18
15
  }
19
- };
20
-
21
- exports.createNode = createNode = function(id) {
22
- return {
23
- id: id,
24
- size: 0,
25
- repoTags: [],
26
- repoDigests: [],
27
- mtime: null,
28
- children: {}
29
- };
30
- };
31
-
32
- getMtimeFrom = function(layer_mtimes, attributes) {
33
- var i, key, len;
34
- for (i = 0, len = attributes.length; i < len; i++) {
35
- key = attributes[i];
36
- if (layer_mtimes[key] != null) {
37
- return layer_mtimes[key];
38
- }
16
+ else {
17
+ return repoAttrs;
39
18
  }
40
- };
41
-
42
- getMtime = function(tree, layer_mtimes) {
43
- var mtime;
44
- mtime = layer_mtimes[tree.id];
45
- if (mtime === void 0) {
46
- mtime = getMtimeFrom(layer_mtimes, tree.repoTags);
19
+ };
20
+ const createNode = (id) => ({
21
+ id,
22
+ size: 0,
23
+ repoTags: [],
24
+ repoDigests: [],
25
+ mtime: undefined,
26
+ children: {},
27
+ });
28
+ exports.createNode = createNode;
29
+ const getMtimeFrom = function (layerMtimes, attributes) {
30
+ for (const key of attributes) {
31
+ if (layerMtimes[key] != null) {
32
+ return layerMtimes[key];
33
+ }
47
34
  }
48
- if (mtime === void 0) {
49
- mtime = getMtimeFrom(layer_mtimes, tree.repoDigests);
50
- }
51
- return mtime;
52
- };
53
-
54
- exports.createTree = createTree = function(images, containers, layer_mtimes) {
55
- var i, image, len, name, node, now, parent, parentId, ref, root, tree, usedImageIds;
56
- now = Date.now() * Math.pow(10, 6);
57
- usedImageIds = new Set(_(containers).map('ImageID'));
58
- tree = {};
59
- root = '0000000000000000000000000000000000000000000000000000000000000000';
60
- for (i = 0, len = images.length; i < len; i++) {
61
- image = images[i];
62
- node = tree[name = image.Id] != null ? tree[name] : tree[name] = createNode(image.Id);
63
- parentId = image.ParentId || root;
64
- parent = tree[parentId] != null ? tree[parentId] : tree[parentId] = createNode(parentId);
65
- node.repoTags = saneRepoAttrs(image.RepoTags);
66
- node.repoDigests = saneRepoAttrs(image.RepoDigests);
67
- node.size = image.Size;
68
- node.mtime = (ref = getMtime(node, layer_mtimes)) != null ? ref : now;
69
- node.isUsedByAContainer = usedImageIds.has(image.Id);
70
- parent.children[image.Id] = node;
35
+ };
36
+ const getMtime = function (tree, layerMtimes) {
37
+ return (layerMtimes[tree.id] ??
38
+ getMtimeFrom(layerMtimes, tree.repoTags) ??
39
+ getMtimeFrom(layerMtimes, tree.repoDigests));
40
+ };
41
+ const createTree = function (images, containers, layerMtimes) {
42
+ const now = Date.now() * Math.pow(10, 6);
43
+ const usedImageIds = new Set(containers.map((c) => c.ImageID));
44
+ const tree = {};
45
+ const root = '0000000000000000000000000000000000000000000000000000000000000000';
46
+ for (const image of images) {
47
+ const node = (tree[image.Id] ??= (0, exports.createNode)(image.Id));
48
+ const parentId = image.ParentId || root;
49
+ const parent = (tree[parentId] ??= (0, exports.createNode)(parentId));
50
+ node.repoTags = saneRepoAttrs(image.RepoTags);
51
+ node.repoDigests = saneRepoAttrs(image.RepoDigests);
52
+ node.size = image.Size;
53
+ node.mtime = getMtime(node, layerMtimes) ?? now;
54
+ node.isUsedByAContainer = usedImageIds.has(image.Id);
55
+ parent.children[image.Id] = node;
71
56
  }
72
57
  tree[root].mtime = now;
73
58
  tree[root].isUsedByAContainer = false;
74
59
  return tree[root];
75
- };
76
-
77
- exports.dockerImageTree = function(docker, layer_mtimes) {
78
- return Bluebird.join(docker.listImages({
79
- all: true
80
- }), docker.listContainers({
81
- all: true
82
- }), layer_mtimes, createTree);
83
- };
84
-
85
- }).call(this);
60
+ };
61
+ exports.createTree = createTree;
62
+ function dockerImageTree(docker, layerMtimes) {
63
+ return bluebird_1.default.join(docker.listImages({ all: true }), docker.listContainers({ all: true }), layerMtimes, exports.createTree);
64
+ }
65
+ exports.dockerImageTree = dockerImageTree;
66
+ //# sourceMappingURL=docker-image-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker-image-tree.js","sourceRoot":"","sources":["../lib/docker-image-tree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import Docker from 'dockerode';
2
+ export declare function getDocker(hostObj: Docker.DockerOptions): Promise<Docker>;
package/build/docker.js CHANGED
@@ -1,27 +1,23 @@
1
- // Generated by CoffeeScript 1.12.7
2
- (function() {
3
- var Bluebird, Docker, _, getDockerConnectOpts;
4
-
5
- Docker = require('dockerode');
6
-
7
- Bluebird = require('bluebird');
8
-
9
- _ = require('lodash');
10
-
11
- getDockerConnectOpts = function(hostObj) {
12
- if (!_.isEmpty(hostObj)) {
13
- return Bluebird.resolve(hostObj);
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getDocker = void 0;
7
+ const dockerode_1 = __importDefault(require("dockerode"));
8
+ const bluebird_1 = __importDefault(require("bluebird"));
9
+ const lodash_1 = __importDefault(require("lodash"));
10
+ const getDockerConnectOpts = function (hostObj) {
11
+ if (!lodash_1.default.isEmpty(hostObj)) {
12
+ return Promise.resolve(hostObj);
14
13
  }
15
- return Bluebird.resolve({
16
- socketPath: '/var/run/docker.sock',
17
- Promise: Bluebird
14
+ return Promise.resolve({
15
+ socketPath: '/var/run/docker.sock',
16
+ Promise: bluebird_1.default,
18
17
  });
19
- };
20
-
21
- exports.getDocker = function(hostObj) {
22
- return getDockerConnectOpts(hostObj).then(function(opts) {
23
- return new Docker(opts);
24
- });
25
- };
26
-
27
- }).call(this);
18
+ };
19
+ function getDocker(hostObj) {
20
+ return getDockerConnectOpts(hostObj).then((opts) => new dockerode_1.default(opts));
21
+ }
22
+ exports.getDocker = getDocker;
23
+ //# sourceMappingURL=docker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker.js","sourceRoot":"","sources":["../lib/docker.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA+B;AAC/B,wDAAgC;AAChC,oDAAuB;AAEvB,MAAM,oBAAoB,GAAG,UAAU,OAA6B;IACnE,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC;QACtB,UAAU,EAAE,sBAAsB;QAClC,OAAO,EAAE,kBAAqC;KAC9C,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,SAAgB,SAAS,CAAC,OAA6B;IACtD,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,mBAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACvE,CAAC;AAFD,8BAEC"}
@@ -0,0 +1,33 @@
1
+ import { EventEmitter } from 'eventemitter3';
2
+ import Docker from 'dockerode';
3
+ interface Events {
4
+ numberImagesToRemove(n: number): void;
5
+ gcRunTime(duration: number): void;
6
+ imageRemoved(removalType: string): void;
7
+ spaceReclaimed(reclaimSpace: number): void;
8
+ imageRemovalError(statusCode: string): void;
9
+ }
10
+ type Metrics = EventEmitter<Events>;
11
+ export default class DockerGC {
12
+ metrics: Metrics;
13
+ private host;
14
+ private docker;
15
+ private dockerProgress;
16
+ private currentMtimes;
17
+ private baseImagePromise;
18
+ setHostname(hostname: string): void;
19
+ setDocker(hostObj: Docker.DockerOptions): Promise<void>;
20
+ setupMtimeStream(): Promise<void>;
21
+ private removeImage;
22
+ private tryRemoveImageBy;
23
+ garbageCollect(reclaimSpace: number, attemptAll?: boolean): Promise<void>;
24
+ private getOutput;
25
+ private runDisposer;
26
+ getDaemonFreeSpace(): Promise<{
27
+ used: number;
28
+ total: number;
29
+ free: number;
30
+ }>;
31
+ private getDaemonArchitecture;
32
+ }
33
+ export {};