@balena/open-balena-api 43.1.0-build-joshbwlng-releases-0300ed426724939fe871a8e21dd6c4737a2b4859-1 → 43.1.0-build-joshbwlng-releases-f3d59f1a70f59e8aec281800171a963437654919-1
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/dist/features/images/hooks/delete-registry-images.js +5 -6
- package/dist/features/images/hooks/delete-registry-images.js.map +1 -1
- package/dist/features/images/tasks/delete-registry-images.js +10 -4
- package/dist/features/images/tasks/delete-registry-images.js.map +1 -1
- package/package.json +2 -2
|
@@ -21,13 +21,12 @@ if (ASYNC_TASKS_ENABLED && ASYNC_TASK_DELETE_REGISTRY_IMAGES_ENABLED) {
|
|
|
21
21
|
},
|
|
22
22
|
},
|
|
23
23
|
});
|
|
24
|
-
|
|
25
|
-
image.is_stored_at__image_location,
|
|
26
|
-
image.content_hash,
|
|
27
|
-
]);
|
|
28
|
-
if (imagesToCleanup.length > 0) {
|
|
24
|
+
if (images.length > 0) {
|
|
29
25
|
request.custom.imagesToCleanup =
|
|
30
|
-
|
|
26
|
+
images.map((image) => [
|
|
27
|
+
image.is_stored_at__image_location,
|
|
28
|
+
image.content_hash,
|
|
29
|
+
]);
|
|
31
30
|
}
|
|
32
31
|
},
|
|
33
32
|
POSTRUN: async ({ request, tx }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-registry-images.js","sourceRoot":"","sources":["../../../../src/features/images/hooks/delete-registry-images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EACN,wBAAwB,EACxB,4CAA4C,EAC5C,yCAAyC,EACzC,gDAAgD,EAChD,mBAAmB,GACnB,MAAM,wBAAwB,CAAC;AAMhC,IAAI,mBAAmB,IAAI,yCAAyC,EAAE,CAAC;IACtE,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;QAC7C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAC9B,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO;YACR,CAAC;YAED,6DAA6D;YAC7D,+DAA+D;YAC/D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;gBAC5B,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE;oBACR,OAAO,EAAE,CAAC,8BAA8B,EAAE,cAAc,CAAC;oBACzD,OAAO,EAAE;wBACR,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;wBACxB,YAAY,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;qBAC3B;iBACD;aACD,CAAC,CAAC;YACH,MAAM,
|
|
1
|
+
{"version":3,"file":"delete-registry-images.js","sourceRoot":"","sources":["../../../../src/features/images/hooks/delete-registry-images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EACN,wBAAwB,EACxB,4CAA4C,EAC5C,yCAAyC,EACzC,gDAAgD,EAChD,mBAAmB,GACnB,MAAM,wBAAwB,CAAC;AAMhC,IAAI,mBAAmB,IAAI,yCAAyC,EAAE,CAAC;IACtE,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;QAC7C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAC9B,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO;YACR,CAAC;YAED,6DAA6D;YAC7D,+DAA+D;YAC/D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;gBAC5B,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE;oBACR,OAAO,EAAE,CAAC,8BAA8B,EAAE,cAAc,CAAC;oBACzD,OAAO,EAAE;wBACR,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;wBACxB,YAAY,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;qBAC3B;iBACD;aACD,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,MAAoC,CAAC,eAAe;oBAC5D,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;wBACrB,KAAK,CAAC,4BAA4B;wBAClC,KAAK,CAAC,YAAa;qBACnB,CAAC,CAAC;YACL,CAAC;QACF,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;YAClC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,MAAmC,CAAC;YACxE,IAAI,eAAe,IAAI,IAAI,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7D,OAAO;YACR,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CACrB,eAAe,EACf,4CAA4C,CAC5C,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACpB,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBACxB,QAAQ,EAAE,MAAM;gBAChB,WAAW,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE;gBAC1C,IAAI,EAAE;oBACL,uBAAuB,EAAE,wBAAwB;oBACjD,+BAA+B,EAAE;wBAChC,MAAM,EAAE,KAAK;qBAC4B;oBAC1C,gCAAgC,EAAE,IAAI,IAAI,CACzC,IAAI,CAAC,GAAG,EAAE;wBACT,gDAAgD,GAAG,IAAI,CACxD;oBACD,aAAa,EAAE,wBAAwB;iBACvC;aACD,CAAC,CACF,CACD,CAAC;QACH,CAAC;KACD,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -26,9 +26,9 @@ const schema = {
|
|
|
26
26
|
},
|
|
27
27
|
required: ['images'],
|
|
28
28
|
};
|
|
29
|
-
const
|
|
30
|
-
const logHeader =
|
|
31
|
-
tasks.addTaskHandler(
|
|
29
|
+
const handlerName = 'delete_registry_images';
|
|
30
|
+
const logHeader = handlerName.replace(/_/g, '-');
|
|
31
|
+
tasks.addTaskHandler(handlerName, async (options) => {
|
|
32
32
|
try {
|
|
33
33
|
const images = options.params.images ?? [];
|
|
34
34
|
if (images.length === 0) {
|
|
@@ -62,6 +62,10 @@ tasks.addTaskHandler(name, async (options) => {
|
|
|
62
62
|
const safeToDelete = chunk.filter(([repo, hash]) => !stillReferenced.some((image) => image.is_stored_at__image_location === repo &&
|
|
63
63
|
image.content_hash === hash));
|
|
64
64
|
for (const [repo, hash] of safeToDelete) {
|
|
65
|
+
if (repo === '' || hash === '') {
|
|
66
|
+
console.warn(`[${logHeader}] Skipping deletion of image with empty repo or hash: ${repo}/${hash}`);
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
65
69
|
await markForDeletion(repo, hash);
|
|
66
70
|
}
|
|
67
71
|
}
|
|
@@ -119,12 +123,14 @@ async function markForDeletion(repo, hash) {
|
|
|
119
123
|
}
|
|
120
124
|
// Apply some jitter for good measure
|
|
121
125
|
delay += Math.random() * 1000;
|
|
122
|
-
console.warn(`[${logHeader}] Received 429 for ${repo}/${hash}. Retrying in ${delay}ms
|
|
126
|
+
console.warn(`[${logHeader}] Received 429 for ${repo}/${hash}. Retrying in ${delay}ms...`);
|
|
123
127
|
await setTimeout(delay);
|
|
124
128
|
}
|
|
125
129
|
else {
|
|
126
130
|
throw new Error(`Failed to mark ${repo}/${hash} for deletion: [${statusCode}] ${statusMessage}`);
|
|
127
131
|
}
|
|
132
|
+
// If we get here, it means we ran out of retries due to rate limiting
|
|
133
|
+
throw new Error(`Failed to mark ${repo}/${hash} for deletion: exceeded retry limit due to rate limiting`);
|
|
128
134
|
}
|
|
129
135
|
}
|
|
130
136
|
//# sourceMappingURL=delete-registry-images.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-registry-images.js","sourceRoot":"","sources":["../../../../src/features/images/tasks/delete-registry-images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACN,4CAA4C,EAC5C,cAAc,GACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;AAE1B,4BAA4B;AAC5B,MAAM,KAAK,GAAG,GAAG,CAAC;AAClB,MAAM,qBAAqB,GAAG,IAAI,CAAC;AACnC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,MAAM,MAAM,GAAG;IACd,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACX,MAAM,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACN,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACN,IAAI,EAAE,QAAQ;iBACd;gBACD,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,CAAC;aACX;SACD;KACD;IACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;CACpB,CAAC;AAMF,MAAM,
|
|
1
|
+
{"version":3,"file":"delete-registry-images.js","sourceRoot":"","sources":["../../../../src/features/images/tasks/delete-registry-images.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@balena/open-balena-api",
|
|
3
3
|
"description": "Internet of things, Made Simple",
|
|
4
|
-
"version": "43.1.0-build-joshbwlng-releases-
|
|
4
|
+
"version": "43.1.0-build-joshbwlng-releases-f3d59f1a70f59e8aec281800171a963437654919-1",
|
|
5
5
|
"license": "AGPL-3.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -175,6 +175,6 @@
|
|
|
175
175
|
"import": "@swc-node/register/esm-register"
|
|
176
176
|
},
|
|
177
177
|
"versionist": {
|
|
178
|
-
"publishedAt": "2025-10-
|
|
178
|
+
"publishedAt": "2025-10-13T02:40:30.976Z"
|
|
179
179
|
}
|
|
180
180
|
}
|