Hi,
I'm copying here, for reference, an IRC log from #debian-admin:
19:38 <@jcristau> lucas: right, so the importer would indeed somehow need to
learn about copying stuff to other locations/backends.
the python/web bit in practice doesn't matter, i think,
because it's not used for /file/... requests, those are
serviced by apache directly
(https://salsa.debian.org/dsa-team/mirror/dsa-puppet/-/blob/production/modules/roles/templates/snapshot/snapshot.debian.org.conf.erb#L76)
19:42 <@jcristau> lucas: the way the copying of stuff to the replica happens
currently is very async
(https://salsa.debian.org/snapshot-team/snapshot/-/blob/master/master/import-run#L47-L52)
which means we just hope
things are eventually consistent, but there's a window where
the replica would 404 for new files. that might be ok,
because in practice users probably aren't requesting the very
latest mirror run, but
19:42 <@jcristau> it might be nice to somehow keep track of what's synced where
and what's new, also to reduce how much time we're
spending walking directories.
21:38 < lucas> ah right, apache could just redirect to S3 or act as a proxy, or
the web app could point to S3 directly
21:40 < lucas> re replica, I wonder if we shouldn't instead aim for several
parallel instances of snapshot (at least 2), each living
its own life (not in a master/slave setup)
03:46 <@pabs> lucas: then you would get different snapshot timestamps?
07:47 < lucas> pabs: do we care?
07:52 <@pabs> having multiple sets of timestamps served from different servers
seems confusing for end-users
08:38 < lucas> ah, my idea was more that they would be exposed as different
services, with one being used for snapshot.debian.org
08:40 < lucas> the snapshot services could actually share timestamps afterwards
(for example to cover a period of downtime)
15:26 <@jcristau> lucas: my idea would be to add the s3 bucket as a backend in
https://salsa.debian.org/dsa-team/mirror/cdn-fastly/-/blob/master/services/snapshot.yaml
and use that for /file/
21:14 < lucas> jcristau: I'm not familiar with how CDNs work. could you tell
fastly to fallback to other backends if the first one
replied with 404?
21:57 <@Mithrandir> we can do that
21:57 <@Mithrandir> it might not be wise