about summary refs log tree commit diff
path: root/tools/nixery/server/manifest
AgeCommit message (Collapse)AuthorFilesLines
2019-11-09 refactor(builder): Parameterise CPU architecture to use for imagesVincent Ambo1-4/+3
Adds the CPU architecture to the image configuration. This will make it possible to let users toggle architecture via meta-packages. Relates to #13
2019-11-03 chore: Add missing copyright headers to source filesVincent Ambo1-0/+14
2019-10-11 fix(server): Use uncompressed tarball hashes in image configVincent Ambo1-2/+4
Docker expects hashes of compressed tarballs in the manifest (as these are used to fetch from the content-addressable layer store), but for some reason it expects hashes in the configuration layer to be of uncompressed tarballs. To achieve this an additional SHA256 hash is calculcated while creating the layer tarballs, but before passing them to the gzip writer. In the current constellation the symlink layer is first compressed and then decompressed again to calculate its hash. This can be refactored in a future change.
2019-10-11 feat(server): Apply GZIP compression to all image layersVincent Ambo1-2/+2
This fixes #62
2019-10-03 feat(server): Order layers in image manifest based on merge ratingVincent Ambo1-0/+15
Image layers in manifests are now sorted in a stable (descending) order based on their merge rating, meaning that layers more likely to be shared between images come first. The reason for this change is Docker's handling of image layers on overlayfs2: Images are condensed into a single representation on disk after downloading. Due to this Docker will constantly redownload all layers that are applied in a different order in different images (layer order matters in imperatively created images), based on something it calls the 'ChainID'. Sorting the layers this way raises the likelihood of a long chain of matching layers at the beginning of an image. This relates to #39.
2019-10-03 refactor: Remove remaining MD5-hash mentions and computationsVincent Ambo1-5/+2
2019-10-03 refactor(server): Cache manifest entries for layer buildsVincent Ambo1-1/+1
MD5 hash checking is no longer performed by Nixery (it does not seem to be necessary), hence the layer cache now only keeps the SHA256 hash and size in the form of the manifest entry. This makes it possible to restructure the builder code to perform cache-fetching and cache-populating for layers in the same place.
2019-10-03 feat(server): Implement package for creating image manifestsVincent Ambo1-0/+114
The new manifest package creates image manifests and their configuration. This previously happened in Nix, but is now part of the server's workload. This relates to #50.