git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Synchronous replication on push

From
Konstantin Ryabitsev <konstantin@linuxfoundation.org>
Date
Nov 4, 2024, 14:40 UTC
Message-ID
<20241104-real-marmoset-of-success-9a6c8e@meerkat>
In-Reply-To
<20241104133544.A04D760A95@jupiter.mumble.net>
On Mon, Nov 04, 2024 at 01:35:44PM +0000, Taylor R Campbell wrote:
Show 10 quoted lines
> > > I'm asking about how to configure a _single_ frontend remote, from the
> > > perspective of developers who are pushing from their development
> > > workstations, so that it replicates to one or many backend stores.
> > > This is, for example, the usage model of Github's proprietary
> > > implementation.
> > 
> > I don't think there's built-in functionality for this and I'm not sure
> > that it can be done without additional software.
> 
> I'm happy to write some additional software.

Alternatively, you can take a look at grokmirror, which is what kernel.org uses: https://pypi.org/project/grokmirror/

It's pull-based instead of push-based, for several reasons:
1. We replicate to multiple worldwide frontends, and we expect that some of
   them may be unreachable at the time when we attempt a push
2. This allows us to propagate repository deletes
3. This allows us to propagate details like descriptions and authors

Grokmirror also has a listener daemon that can trigger a pull, so it's possible to have near-instantaneous replication by notifying the remote node that a repository has been updated and should be pulled.

-K
Previous: Taylor R CampbellNext: Taylor R Campbell
Message 6 of 10 in “Synchronous replication on push”
  1. Taylor R CampbellNov 2, 2024
  2. Matěj CeplNov 2, 2024
  3. Taylor R CampbellNov 2, 2024
  4. brian m. carlsonNov 2, 2024
  5. Taylor R CampbellNov 4, 2024
  6. Konstantin RyabitsevNov 4, 2024
  7. Taylor R CampbellNov 4, 2024
  8. brian m. carlsonNov 4, 2024
  9. Jeff KingNov 4, 2024
  10. Taylor R CampbellNov 5, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.