mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2024-12-25 00:11:06 +00:00
f1bd4b8d9b
The image manager module now uses tags instead of docker IDs as the main way to identify docker images on the engine. That is, if the target state image has a name `imageName:tag@digest`, the supervisor will always use the given `imageName` and `tag` (which may be empty) to tag the image on the engine after fetching. This PR also adds checkups to ensure consistency is maintained between the database and the engine. Using tags allows to simplify query and removal operations, since now removing the image now means removing tags matching the image name. Before this change the supervisor relied only on information in the supervisor database, and used that to remove images by docker ID. However, the docker id is not a reliable identifier, since images retain the same id between releases or between services in the same release. List of squashed commits - Remove custom type NormalizedImageInfo - Remove dependency on docker-toolbelt - Use tags to traack supervised images in docker - Ensure tag removal occurs in sequence - Only save database image after download confirmed Relates-to: #1616 #1579 Change-type: patch |
||
---|---|---|
.. | ||
application-manager-test-states.ts | ||
application-state-mock.ts | ||
db-helper.ts | ||
errors.ts | ||
helpers.ts | ||
mocked-balena-api.ts | ||
mocked-database.ts | ||
mocked-dbus.ts | ||
mocked-device-api.ts | ||
mocked-dockerode.ts | ||
mocked-iptables.ts | ||
mockerode.ts | ||
prepare.ts |