unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* nar-herder design retrospective
@ 2022-02-04 12:00 Christopher Baines
  0 siblings, 0 replies; only message in thread
From: Christopher Baines @ 2022-02-04 12:00 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 3792 bytes --]

Hi!

I rushed the nar-herder [1] in to existence back in December, to address
the buildup of nars on bayfront by moving the nars to another machine
with more space to store them.

1: https://git.cbaines.net/guix/nar-herder/about/

This was something I was planning for a while though, I sent an email to
guix-devel outlining some points of the design and aims around a year
ago [2].

2: https://lists.gnu.org/archive/html/guix-devel/2021-02/msg00104.html

The nar-herder is currently in a stable state. It's packaged for guix
and there's a service to use it. There are probably some bugs, but I
think I've fixed the important initial ones.

I covered some information about the deployment of the nar-herder in
this email back in December [3] and that led to some really good
replies, I'll copy/paste some of the important bits below.

3: https://lists.gnu.org/archive/html/guix-devel/2021-12/msg00140.html

https://lists.gnu.org/archive/html/guix-devel/2021-12/msg00196.html:

> Regarding nar-herder, I think it’d be nice to have a solution to
> mirroring in Guix proper, developed similarly to other components,
> because it could be a fairly central tool.

> Usually I’m the one asking for blog posts :-), but I’d really like us as
> a project to collectively engage on the topic before we publicize this
> specific approach.

https://lists.gnu.org/archive/html/guix-devel/2021-12/msg00201.html:

> Why not extend “guix archive”?
> 
> However, without all the details so my remark is totally naive, I miss
> what “nar-herder” is doing that “guix archive”+rsync+“guix publish” is
> not doing – other said I miss why another SQL database is required to
> serve stuff from one place to another.  I have read README but I did not
> get the point.

https://lists.gnu.org/archive/html/guix-devel/2021-12/msg00204.html:

> I'm quite interested in learning more and potentially trying out the
> nar-herder! Some thoughts that I'd like to add to the design space:
> 
> I think it would be great if one of the pastures to which we herd the
> nars would be a free and open source software mirror site. In my
> experience, these are usually some static web hosting in front of a
> large disk with a place to run scripts to sync the content. A database
> server may not be available. I'd like to support this use case because I
> think it is a great way to build bridges to the communities who run or
> gather around these mirrors.
> 
> I'd also like the ability fetch nars directly from the local-to-me
> mirror rather than having them be proxied through a far way server.
> 
> One of the things that I really like and find empowering about Guix is
> that the developer/system administration tools are as available, easy
> to use, and convenient as the every day tooling. To the extent
> possible, I think that we should strive to make our syncing/mirroring
> solution practical to run for local, small setups, and not require
> project-scale infrastructure or coordination between many programs
> that are not captured in a Guix service.

So, currently the nar-herder can be used to move nars between machines,
which is what I wanted the initial implementation to be capable of. This
functionality should be sufficient for operating mirrors, although I'm
not aware of any being setup yet. I'd also like to be able to get
metrics about nar requests, but this isn't supported yet.

I'm all for having a solution to mirroring in Guix itself, although I
don't have a plan for this. Maybe the nar-herder could just be moved in
to Guix, maybe with a different name? Any other ideas?

I think moving the nar-herder repository on to Savannah is probably a
good thing to do regardless.

Thanks,

Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-02-04 12:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-04 12:00 nar-herder design retrospective Christopher Baines

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).