From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [PATCH] services: nginx: Allow for server extensions. Date: Wed, 02 Dec 2015 10:07:23 +0200 Message-ID: <87r3j51dfo.fsf@gnu.org> References: <874mg2tg7s.fsf@izanagi.i-did-not-set--mail-host-address--so-tickle-me> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43586) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a452i-0006gb-QO for guix-devel@gnu.org; Wed, 02 Dec 2015 05:53:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a452h-00036h-TE for guix-devel@gnu.org; Wed, 02 Dec 2015 05:53:48 -0500 In-Reply-To: <874mg2tg7s.fsf@izanagi.i-did-not-set--mail-host-address--so-tickle-me> (David Thompson's message of "Tue, 01 Dec 2015 09:07:35 -0500") 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+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: David Thompson Cc: guix-devel@gnu.org David Thompson skribis: > Looking for some feedback on my first stab at making the nginx service > extensible. With this extension mechanism, future web applications > (such as GNU MediaGoblin) that use nginx as a front-end web server will > be able to extend nginx with the server configuration that they need in > order to work. Excellent! > Here's a useless service that adds nginx configuration to serve the > contents of /tmp: > > (define server > (plain-file "foo.conf" > " > server { > listen 80; > root /tmp; > index index.html; > server_name dthompson.us; > } > ")) Do you think it would make sense to provide Scheme bindings for those =E2=80=98server=E2=80=99 configuration snippets, or would we lose too much expressiveness? > From 108db2d183526c42b53060e55f7fb292b53663cb Mon Sep 17 00:00:00 2001 > From: David Thompson > Date: Mon, 30 Nov 2015 08:49:08 -0500 > Subject: [PATCH] services: nginx: Allow for server extensions. > > * gnu/services/web.scm ()[servers]: New field. > (nginx-configuration-servers): New accessor. > (default-nginx-config): Delete. > (nginx-configuration-file*): New procedure. > (nginx-activation): Perform the syntax check on the full computed > configuration file. > (nginx-dmd-service): Use the full computed configuration file when > starting the service. > (extend-nginx): New procedure. > (nginx-service-type): Specify extension procedures. > (nginx-service): Add #:servers argument. [...] > +(define (nginx-configuration-file* config) =E2=80=98nginx-configuration->file=E2=80=99 maybe? Otherwise LGTM! As an exercise, and while waiting for Chris to finish packaging MediaGoblin ;-), it might make sense to try to use nginx in =E2=80=98guix-publish-service=E2=80=99 or a variant thereof. Thank you! Ludo=E2=80=99.