!! pending licensing !!
https://bugs.kde.org/show_bug.cgi?id=410779https://github.com/krisives/metalink-to-torrent
Seeing as the solution is based on metalinks and metalinks only get populated as mirrors pick up the file we may have to have a delay or generate the torrent multiple times.
Possibly a good approach would be:
- publish iso
- trigger secondary job
- generate torrent from initial metalink (which only has the master server)
- re-generate the torrent after 3 and again after 6 hours to pick up new servers
Torrent hashes are based on their `info` blob and so long as that doesn't change the torrent should be considered "the same". To inject new mirror seeds we do not need to change the info blob.
this means each ISO has 3 torrentsOpen issues:
- what to do about gpg signatures
- ktorrent kaput https://bugs.kde.org/show_bug.cgi?id=382375
- in light of ktorrent being bust, ultimately separating the swarms,should we maybe run a seed? but given we rotate isos at least weekly I doubt the swarm impact on load distribution will help to any sufficient degree compared to the web seeds from the mirror servers.it would kinda defeat the purpose of load balancing through mirrors though
TODO: research if we can add seeds to a torrent without actually breaking the swarms aparodo:
- write rigging to wrap around generator
-- sftp locate iso
-- make expected meta4 and torrent url
-- download meta4 and torrent (dont fail on latter)
-- generate
-- push new torrent file
- extend generator to update a torrent if it already exists
- add job that runs every 3 hours?
-- possibly track remote list, if it didn't change we don't need to refresh the torrent