From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id qCSQAtgNxWauTQAAe85BDQ:P1 (envelope-from ) for ; Tue, 20 Aug 2024 21:42:48 +0000 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id qCSQAtgNxWauTQAAe85BDQ (envelope-from ) for ; Tue, 20 Aug 2024 23:42:48 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=retrospec.tv header.s=fm3 header.b=G+K7S6Dm; dkim=pass header.d=messagingengine.com header.s=fm1 header.b="L JZKslJ"; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1724190167; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=ZOMSCeZxecprIoQI0etP5wokf4PKGWy8KI3o87CzD0k=; b=NK5dVG2U3dfAAX5mweNlvzIdl3B0iyK+T872H8Bkx+zugmxWUk7ShkwRRk8H10IumQvSld 331AhwHXkqdxTWLwFpmRqcDwo4pN33/NI3uadh4rLdB0LrTC1gPflbRvHOJmvt4dlJ6mOw sYwstliKkq13v6OyJqy8gFqFjyrHIJCRYzY+kcy6CbfOzMN71zzjeCLxQtLrX13KcEV+z3 qPpA4hvbGU6hLmAgwHwZuoRcn4ltyIyH86gMr6GmcyvUBwlYS7OUBsmeOwT6imAhRAxqnX vnbnoHJ4YrmcrvNfbTzdF25Jmc0ijbLizfJ7jeKqDx0sWp2upZMXaETvEqPh2w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1724190167; a=rsa-sha256; cv=none; b=BZA6VMjL6Jv81jRvDHjJtsuefPFr+1cScElgGBjBKaVPapjobUltZx8AAwUS8ticix4I6s g77SPpSYAFu/27sAunX9yBdE7XQi9jvfpU2uxqNZxheu1KFKy6tT1R5Y+0/XytPx8iUcQX r/iyJLWo8gPbpVkrOpXJxzXLEB+ExuQqCTPVCtHtzTAjYqwHVF5z79mVCqP1MxmmCfOqD9 cMkj0V12M2J3XKym6yzS3S3G5XqlJQoiogTV90+ILa522g2q6JxE6WIgVzQkuZhSsy5M6J 7rDyJtvDpOqEEP6rUfUghqmwj9BBH3BY8IfGElQ0Oa8nEYBLAvmSKLDTeZu2CQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=retrospec.tv header.s=fm3 header.b=G+K7S6Dm; dkim=pass header.d=messagingengine.com header.s=fm1 header.b="L JZKslJ"; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id DAA647D171 for ; Tue, 20 Aug 2024 23:42:47 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sgWcE-0004SM-Bh; Tue, 20 Aug 2024 17:42:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sgWcB-0004Ry-CG for guix-devel@gnu.org; Tue, 20 Aug 2024 17:42:07 -0400 Received: from fhigh5-smtp.messagingengine.com ([103.168.172.156]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sgWc9-0001KY-3A for guix-devel@gnu.org; Tue, 20 Aug 2024 17:42:07 -0400 Received: from phl-compute-06.internal (phl-compute-06.nyi.internal [10.202.2.46]) by mailfhigh.nyi.internal (Postfix) with ESMTP id 85B1A114B020; Tue, 20 Aug 2024 17:42:03 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-06.internal (MEProxy); Tue, 20 Aug 2024 17:42:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=retrospec.tv; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1724190123; x=1724276523; bh=ZOMSCeZxecprIoQI0etP5wokf4PKGWy8KI3o87CzD0k=; b= G+K7S6DmbDfHOQJahTKAxHJvYojctNyUMyKqfJe33sOFir5rQwvqXBb6ElwYOhWm gSpuame6YGmst8WLsEciUG+yV4Fplm3gmKU2cXO5Rwj1yEhuzrzoAxsMn1d0QSTm u5g+x23dbttgTIXRvL7pqFw20SiyfPgO+ebsMpDx5RNnc1wDo2lGrrznE2y+VL78 88m3TWfA/A3g6ei2dvd300Mt55ahA1Xu3bKhUwnPA3xQ7iFGfJDULOsuTxO8ZkaC mb/rUUnIPXmyQ6wuGL+1vgUThuKyYO1jx87ugMPURsokQ3a7qi8EBCGQEXmWHjDx IjfCspqSfdn5bmUajzpfjw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1724190123; x= 1724276523; bh=ZOMSCeZxecprIoQI0etP5wokf4PKGWy8KI3o87CzD0k=; b=L JZKslJzzMtVrn9xqeqejCzV3FS8ewI/e6QbhrF9SfqefLn4RY8WFIYPCcw9asp7S C/Hegv09TYg6K51jf0uTNPDOd2mPHWFkZO1Aw+e2tulLzUwTaSpAsulRLqWz0LU0 Liopc/Mxis1fO5lPjk4wf/E5MhMSQalY8zudyNF5deX8FEzfNnW1il/xOIiTVfgf 9sn3OMXLbESB6VpKljA720/1TqpSBdd6wqEIwVYcZFb9xJLzprpxzJ2cu4dz1nbC OdQElWtVdwVtaHoz8pOMeOhQ/a50jk5Uxy2J1DR0TCcoU90CM5lLg6MpXkQTp9ra vq3pPWnc05xqZA4h95TLQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddruddujedgtdduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpehffgfhvf evufffjgfkgggtgfesthhqredttderjeenucfhrhhomhepkfgrnhcugfhurhgvuceoihgr nhesrhgvthhrohhsphgvtgdrthhvqeenucggtffrrghtthgvrhhnpefhhfegieekfeegue ehfeelteejhfeugfelvdeggfduvdevteelleetkeelffdtkeenucffohhmrghinhepghhn uhdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhroh hmpehirghnsehrvghtrhhoshhpvggtrdhtvhdpnhgspghrtghpthhtohepvddpmhhouggv pehsmhhtphhouhhtpdhrtghpthhtohepghhuihigqdguvghvvghlsehgnhhurdhorhhgpd hrtghpthhtohepmhgrihhlsegtsggrihhnvghsrdhnvght X-ME-Proxy: Feedback-ID: id9014242:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 20 Aug 2024 17:42:02 -0400 (EDT) References: <878qwu6bfz.fsf@meson> <8734n2utg6.fsf@cbaines.net> User-agent: mu4e 1.8.13; emacs 28.2 From: Ian Eure To: Christopher Baines Cc: guix-devel Subject: Re: Static hosting of substitutes Date: Tue, 20 Aug 2024 14:37:38 -0700 In-reply-to: <8734n2utg6.fsf@cbaines.net> Message-ID: <875xru50t1.fsf@meson> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=103.168.172.156; envelope-from=ian@retrospec.tv; helo=fhigh5-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -5.15 X-Spam-Score: -5.15 X-Migadu-Queue-Id: DAA647D171 X-Migadu-Scanner: mx11.migadu.com X-TUID: UitBe1rvsR9N Christopher Baines writes: > [[PGP Signed Part:Undecided]] > Ian Eure writes: > >> I=E2=80=99d like to provide substitutes for packages in my personal=20 >> channel. >> The ideal setup for this would be for a machine on my internal=20 >> net to >> perform the builds, then upload the results to another system=20 >> on the >> open internet. That could be a machine running a web server=20 >> pointed >> at a directory where the NARs get uploaded, or an S3-like=20 >> object >> store, or something like that -- dirt simple, just shifting=20 >> bytes off >> disk and out a socket. >> >> It seems that nothing like this exists, all the public=20 >> substitute >> servers appear to use `guix publish'. That=E2=80=99s not an option for= =20 >> me, >> since it requires significantly more disk and compute than I=20 >> have on >> any public-facing system, and I can=E2=80=99t justify the cost of=20 >> bigger >> machines. >> >> What would it take to make a system like this work? > > I've run a few substitute servers like this, the required code=20 > is > actually quite simple and the build coordinator includes the=20 > necessary > bits in the form of some included hooks [1]. > > 1: build-success-publish-hook and build-success-s3-publish-hook=20 > in > https://git.savannah.gnu.org/cgit/guix/build-coordinator.git/tree/guix-bu= ild-coordinator/hooks.scm > > bordeaux.guix.gnu.org used to use the build-success-publish-hook=20 > to > populate a directory with the narinfo and nar files, and NGinx=20 > simply > served this directory, although now it uses the nar-herder to=20 > manage the > nars (it still doesn't use guix publish). > Thank you for the pointer. Does this integrate with Cuirass at=20 all? I have a box running cuirass and guix publish which I=E2=80=99m=20 using for my internal builds & substitutes -- ideally, I=E2=80=99d like=20 NARs to get uploaded to a public host when Cuirass completes a=20 build. Thanks, =E2=80=94 Ian