#12 Updated by intrigeri over 4 years ago
The aptly feature set, semantics and user interface looks very close to what (I believe) we need:
aptly mirror createmirrors a remote repo; one can select distributions, components, and architectures; and then
aptly mirror updateactually downloads stuff. Note that:
- Apparently the filter feature doesn't support reading a file for input, so it's not suitable for listing lots of packages => need to mirror entire distributions (which should be simpler anyway, by avoiding having to deal e.g. with topic branches pulling in more packages).
- By default, aptly merges components into a single one (do we want to do that?), but it can also do multi-component publishing
- So far, aptly always re-signs mirrored indices. Re-publishing them as-is, with the original signature, is part of upstream's plans. Now, of course this won't be compatible with
apt snapshot pullor any other operation that modifies a snapshot.
aptly snapshot createcreates a named snapshot from the current state of a mirror or local repo; the snapshot can then be published with
aptly publish snapshot
aptly snapshot pullallows us to pull selected packages (optionally, with their dependencies) from a mirror into an existing (immutable) snapshot, creating a new snapshot as a result; and then
aptly publish switchupdates a published repo to a new snapshot. The combination of those is probably what we need in order to pull selected package upgrades from Debian during a freeze.
=> even if reprepro would work as well, I must say that aptly is very tempting. In particular, separating our own APT repo from mirrors/snapshots of remote repos is appealing: it decreases chances that the one affects the other (e.g. automatic cleanup operations).
- aptly generates a directory structure that can be served as-is with any web server.
aptly taskcan chain commands into a single one, which can be useful when writing wrappers. It's said to be experimental, though.
- There's an API and a CLI tool to interact with it
- There's at least one Puppet module for the initial setup and very basic functionality (mirror and local repo creation). It can also manage the aptly API's web service, but currently only supports upstream.
#17 Updated by intrigeri over 4 years ago
- Status changed from In Progress to Resolved
- Assignee deleted (
- Target version changed from 246 to Tails_1.7
- % Done changed from 10 to 100
We've quickly hit one problem that reflects what I see as a blocker (lack of maturity): the generated
Release files have no
Valid-Until field. The list of bugs, including ones that cause data loss, we've seen on GitHub, is a bit scary. We've decided to stick to reprepro for now. Too bad, the interface looked very nice.