Gunnar Wolf <gw...@debian.org> writes:

> I am still making my way through the discussion, however, and there are
> many bits I haven't understood. But the project has (mostly) decided and
> adopted Salsa as our project-wide Git "thingy". If it were feasible to
> adequate Salsa to add the ACLs needed for tag2upload to be securely
> deployable, I don't follow the need to have a second Git implementation
> we'd all have to interface with (in order to use tag2upload).

> And even if Salsa is deemed insufficiently prepared (or having a too
> large vulnerability footprint), a second, hidden Git-based server could
> be made to pull from Salsa, quietly syncing and acting when the right
> tags are found. And, of course, loudly complaining to users if any
> invalid operation (i.e. history rewrites involving published tags) were
> attempted.

I know that you already self-replied to this saying basically the same
thing, but for anyone reading the thread, I wanted to make clear that the
suggestion in your second paragraph is indeed how the dgit-repos server
works.  No one has to interact with the dgit-repos server directly.  The
signed tag is pushed only to Salsa, and the push to the dgit-repos server
is done under the hood by the tag2upload server.

The dgit-repos server offers some other features unrelated to tag2upload
that people may wish to use (such as dgit clone), but for tag2upload
purposes it can be ignored entirely for the normal workflow.  It's there
to keep a persistent append-only record of the exact Git trees that were
converted to source packages, should that be needed for later detection or
tracing of some issue.

There was more confusion about this point than I had anticipated, so I
want to emphasize that the dgit-repos server is not a forge, is not a
competitor to Salsa, doesn't replace Salsa in any way, and is not
something that people interact with the way that they interact with Salsa.
It's much closer to a Git equivalent of archive.debian.org: a persistent
historical record accessible via the Git protocol and (as I discovered
during this thread) a cgit web interface.

I think it's important to keep the dgit-repos server separate from Salsa
for the reasonsn that Ian pointed out in another part of the thread, most
of which reduce to the fact that Salsa is, necessarily, a very large and
complicated thing with a ton of functionality because it is trying to
solve a very hard problem, namely interactive development using a huge
variety of Git-based workflows.  Keeping the persistent append-only
archive separate maintains separation of duties, provides a nice security
boundary, similar in spirit to keeping off-site backups, and reduces the
lateral movement security threat by making it harder to leverage a Salsa
compromise into a compromise of the historic record of our Git trees.

-- 
Russ Allbery (r...@debian.org)              <https://www.eyrie.org/~eagle/>

Reply via email to