docker-storage-gc 4.1.2 → 4.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.
- package/.versionbot/CHANGELOG.yml +12 -1
- package/CHANGELOG.md +6 -1
- package/build/index.js +5 -3
- package/build/index.js.map +1 -1
- package/lib/index.ts +5 -3
- package/package.json +9 -9
- package/test/docker-event-stream.ts +4 -2
- package/test/docker-image-tree.ts +4 -2
- package/test/index.ts +1 -1
- package/tools/graphviz.ts +1 -1
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
- commits:
|
|
2
|
+
- subject: Update dependencies and fix lint warnings
|
|
3
|
+
hash: e29f5cf40b682ef953afc7a2a87c367508de9b26
|
|
4
|
+
body: ""
|
|
5
|
+
footer:
|
|
6
|
+
Change-type: patch
|
|
7
|
+
change-type: patch
|
|
8
|
+
author: Pagan Gazzard
|
|
9
|
+
version: 4.1.3
|
|
10
|
+
title: ""
|
|
11
|
+
date: 2024-07-23T08:57:41.718Z
|
|
1
12
|
- commits:
|
|
2
13
|
- subject: Retry reconnecting the mtime stream with an exponential backoff
|
|
3
14
|
hash: db39fe8688e89267f2f46f8253313fd2f5ff3909
|
|
@@ -8,7 +19,7 @@
|
|
|
8
19
|
author: Pagan Gazzard
|
|
9
20
|
version: 4.1.2
|
|
10
21
|
title: ""
|
|
11
|
-
date: 2024-07-
|
|
22
|
+
date: 2024-07-23T00:21:38.799Z
|
|
12
23
|
- commits:
|
|
13
24
|
- subject: Listen for errors on the mtime stream and set it back up as necessary
|
|
14
25
|
hash: f9ef13a27f6759bbec093c458430dc5874525f28
|
package/CHANGELOG.md
CHANGED
|
@@ -4,8 +4,13 @@ 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.1.3
|
|
8
|
+
## (2024-07-23)
|
|
9
|
+
|
|
10
|
+
* Update dependencies and fix lint warnings [Pagan Gazzard]
|
|
11
|
+
|
|
7
12
|
# v4.1.2
|
|
8
|
-
## (2024-07-
|
|
13
|
+
## (2024-07-23)
|
|
9
14
|
|
|
10
15
|
* Retry reconnecting the mtime stream with an exponential backoff [Pagan Gazzard]
|
|
11
16
|
|
package/build/index.js
CHANGED
|
@@ -67,7 +67,9 @@ const streamToString = (stream) => new Promise(function (resolve, reject) {
|
|
|
67
67
|
stream
|
|
68
68
|
.on('error', reject)
|
|
69
69
|
.on('data', (chunk) => chunks.push(chunk))
|
|
70
|
-
.on('end', () =>
|
|
70
|
+
.on('end', () => {
|
|
71
|
+
resolve(Buffer.concat(chunks).toString());
|
|
72
|
+
});
|
|
71
73
|
});
|
|
72
74
|
const recordGcRunTime = function (t0, metrics) {
|
|
73
75
|
const dt = process.hrtime(t0);
|
|
@@ -130,8 +132,8 @@ class DockerGC {
|
|
|
130
132
|
});
|
|
131
133
|
}
|
|
132
134
|
removeImage(image) {
|
|
133
|
-
return (this.tryRemoveImageBy(image, image.repoTags, 'tag')
|
|
134
|
-
this.tryRemoveImageBy(image, image.repoDigests, 'digest')
|
|
135
|
+
return (this.tryRemoveImageBy(image, image.repoTags, 'tag') ??
|
|
136
|
+
this.tryRemoveImageBy(image, image.repoDigests, 'digest') ??
|
|
135
137
|
this.tryRemoveImageBy(image, [image.id], 'id'));
|
|
136
138
|
}
|
|
137
139
|
tryRemoveImageBy(image, attributes, removalType) {
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
|
package/lib/index.ts
CHANGED
|
@@ -104,7 +104,9 @@ const streamToString = (stream: NodeJS.ReadableStream) =>
|
|
|
104
104
|
stream
|
|
105
105
|
.on('error', reject)
|
|
106
106
|
.on('data', (chunk) => chunks.push(chunk))
|
|
107
|
-
.on('end', () =>
|
|
107
|
+
.on('end', () => {
|
|
108
|
+
resolve(Buffer.concat(chunks).toString());
|
|
109
|
+
});
|
|
108
110
|
});
|
|
109
111
|
|
|
110
112
|
const recordGcRunTime = function (
|
|
@@ -179,8 +181,8 @@ export default class DockerGC {
|
|
|
179
181
|
|
|
180
182
|
private removeImage(image: RemovableImageNode) {
|
|
181
183
|
return (
|
|
182
|
-
this.tryRemoveImageBy(image, image.repoTags, 'tag')
|
|
183
|
-
this.tryRemoveImageBy(image, image.repoDigests, 'digest')
|
|
184
|
+
this.tryRemoveImageBy(image, image.repoTags, 'tag') ??
|
|
185
|
+
this.tryRemoveImageBy(image, image.repoDigests, 'digest') ??
|
|
184
186
|
this.tryRemoveImageBy(image, [image.id], 'id')
|
|
185
187
|
);
|
|
186
188
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "docker-storage-gc",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.3",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"lint": "balena-lint -t tsconfig.dev.json -e ts -e js lib test tools",
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
"license": "Apache 2.0",
|
|
15
15
|
"description": "Automatically cleanup unused images based on various cache replacement algorithms",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@types/dockerode": "3.3.24",
|
|
17
|
+
"@types/dockerode": "^3.3.24",
|
|
18
18
|
"@types/event-stream": "^4.0.5",
|
|
19
19
|
"@types/JSONStream": "npm:@types/jsonstream@^0.8.33",
|
|
20
|
-
"@types/node": "^16.18.
|
|
20
|
+
"@types/node": "^16.18.103",
|
|
21
21
|
"docker-progress": "^5.2.3",
|
|
22
22
|
"dockerode": "^4.0.2",
|
|
23
23
|
"event-stream": "^4.0.1",
|
|
@@ -25,16 +25,16 @@
|
|
|
25
25
|
"JSONStream": "^1.3.5"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@balena/lint": "^
|
|
29
|
-
"@types/chai": "^4.3.
|
|
30
|
-
"@types/mocha": "^10.0.
|
|
28
|
+
"@balena/lint": "^8.2.7",
|
|
29
|
+
"@types/chai": "^4.3.16",
|
|
30
|
+
"@types/mocha": "^10.0.7",
|
|
31
31
|
"chai": "^4.4.1",
|
|
32
|
-
"mocha": "^10.
|
|
32
|
+
"mocha": "^10.7.0",
|
|
33
33
|
"timekeeper": "^2.3.1",
|
|
34
34
|
"ts-node": "^10.9.2",
|
|
35
|
-
"typescript": "^5.
|
|
35
|
+
"typescript": "^5.5.3"
|
|
36
36
|
},
|
|
37
37
|
"versionist": {
|
|
38
|
-
"publishedAt": "2024-07-
|
|
38
|
+
"publishedAt": "2024-07-23T08:57:41.833Z"
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -12,7 +12,7 @@ describe('parseEventStream', function () {
|
|
|
12
12
|
});
|
|
13
13
|
|
|
14
14
|
it('should return updated mtimes', async () => {
|
|
15
|
-
const docker =
|
|
15
|
+
const docker = getDocker({});
|
|
16
16
|
const streamParser = await parseEventStream(docker);
|
|
17
17
|
const data = await new Promise<LayerMtimes>(function (resolve, reject) {
|
|
18
18
|
let mtimes: LayerMtimes;
|
|
@@ -22,7 +22,9 @@ describe('parseEventStream', function () {
|
|
|
22
22
|
.pipe(streamParser)
|
|
23
23
|
.on('error', reject)
|
|
24
24
|
.pipe(es.mapSync(($data: LayerMtimes) => (mtimes = $data)))
|
|
25
|
-
.on('end', () =>
|
|
25
|
+
.on('end', () => {
|
|
26
|
+
resolve(mtimes);
|
|
27
|
+
})
|
|
26
28
|
.on('error', reject);
|
|
27
29
|
});
|
|
28
30
|
expect(data)
|
|
@@ -9,7 +9,7 @@ import { createTree } from '../build/docker-image-tree';
|
|
|
9
9
|
import { getDocker } from '../build/docker';
|
|
10
10
|
|
|
11
11
|
const getLayerMtimes = async () => {
|
|
12
|
-
const docker =
|
|
12
|
+
const docker = getDocker({});
|
|
13
13
|
const streamParser = await parseEventStream(docker);
|
|
14
14
|
return await new Promise<LayerMtimes>(function (resolve, reject) {
|
|
15
15
|
let mtimes: LayerMtimes;
|
|
@@ -18,7 +18,9 @@ const getLayerMtimes = async () => {
|
|
|
18
18
|
.pipe(streamParser)
|
|
19
19
|
.on('error', reject)
|
|
20
20
|
.pipe(es.mapSync((data: LayerMtimes) => (mtimes = data)))
|
|
21
|
-
.on('end', () =>
|
|
21
|
+
.on('end', () => {
|
|
22
|
+
resolve(mtimes);
|
|
23
|
+
})
|
|
22
24
|
.on('error', reject);
|
|
23
25
|
});
|
|
24
26
|
};
|
package/test/index.ts
CHANGED
package/tools/graphviz.ts
CHANGED
|
@@ -4,7 +4,7 @@ const id = (tree: ImageNode) => `foo_${tree.id.slice(0, 7)}`;
|
|
|
4
4
|
|
|
5
5
|
const label = function (tree: ImageNode) {
|
|
6
6
|
const name = tree.repoTags[0] || '\\<none\\>:\\<none\\>';
|
|
7
|
-
const mtime = new Date(tree.mtime
|
|
7
|
+
const mtime = new Date(tree.mtime).toISOString();
|
|
8
8
|
|
|
9
9
|
return `label="{ ${tree.id.slice(0, 13)} | ${name} | { ${mtime} | ${
|
|
10
10
|
tree.size
|