unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Christopher Allan Webber <cwebber@dustycloud.org>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Service refactoring
Date: Fri, 25 Sep 2015 17:50:36 -0500	[thread overview]
Message-ID: <87mvwartuq.fsf@dustycloud.org> (raw)
In-Reply-To: <87r3lomfgs.fsf@gnu.org>

Ludovic Courtès writes:

> "Thompson, David" <dthompson2@worcester.edu> skribis:
>
>> On Mon, Sep 21, 2015 at 12:00 PM, Ludovic Courtès <ludo@gnu.org> wrote:
>>> Andy Wingo <wingo@igalia.com> skribis:
>>>
>>>> On Sun 20 Sep 2015 15:42, ludo@gnu.org (Ludovic Courtès) writes:
>>>>
>>>>> I’m quite happy with the result, but comments are welcome!  I’ll convert
>>>>> some more services to see how it goes.
>>>>
>>>> Neat!  Sounds great.  One question: there are some services like colord
>>>> or geoclue that don't need to be managed by DMD, but are just declared
>>>> as services so that their users are created, there /var/foo directories
>>>> are created, etc.  The can be started by D-Bus as needed.  Does the new
>>>> design support services of this kind?
>>>
>>> Yes it does.
>>>
>>> ‘colord’ will “extend” the D-Bus service by giving it its package object
>>> (thus its .service files), it will extend the activation service by
>>> providing it #~(mkdir "/var/foo"), and it will extend the account
>>> service by passing it its user accounts/groups.
>>
>> I'm picturing an enhanced 'nginx-service' that is able to accept site
>> configuration files from other services (say, a MediaGoblin service)
>> and it sounds like a great feature.
>
> Yes, that’s the idea.

You've already heard me say it elsewhere, but I'm suuuuuuper excited
about this.  I've already written about it on the pumpiverse, so for
posterity, here's that link:

  https://identi.ca/cwebber/note/vNnKxmgtQBOO2W82r0ZgwA

Glad to see mediagoblin-service being used as an example too :)

>> Now, is the following scenario possible?: 'mediagoblin-service' can
>> extend both 'apache-service' and 'nginx-service', and when the system
>> configuration is realized, the web service the user has chosen is
>> extended.
>
> If it makes sense, there could be a single ‘web-service-type’ that both
> Apache httpd and NGINX would implement.  The MediaGoblin service would
> extend them by providing something like a vhost specification I suppose?

I think that's right.

> Now, perhaps we would need separate ‘httpd-service-type’ and
> ‘nginx-service-type’ if httpd and NGINX happen to be extensible in
> different ways.  I don’t really know these tools, but it would be good
> to see how we would do it.  WDYT?
>
> Ludo’.

So, nginx and apache have pretty drastically different config file
types.  However, most of the things users want I think are compatible
with both.  We probably want a "minimal" service that just accepts
whatever config files for apache and nginx, and just lets the user
specify that whole manually.  We can have more advanced procedures for
building up a config file by translating our world-of-s-expressions or
whatever schemey types into the config file format... but given "just
how much" you can do with nginx and apache that is just so wildly
different between the two, we probably want something that provides an
abastract representation of what most web applications need, some sort
of "medium common denominator" (I don't think we need to shoot for
lowest here!).  That way we can have a general way of letting
applications specify what they need from their web server, but also
allow a sysadmin to go "full on manual" if they need to with the config
file formats.

Dave / Ludo: Does that fit with what you two are thinking as well?

 - cwebb

  parent reply	other threads:[~2015-09-25 22:56 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-03 21:23 [PATCHES] Get elogind-service working as intended Mark H Weaver
2015-09-04  7:57 ` Andy Wingo
2015-09-06 21:23   ` Service refactoring Ludovic Courtès
2015-09-08  8:47     ` Andy Wingo
2015-09-08 10:12       ` Ludovic Courtès
2015-09-08 10:33         ` Andy Wingo
2015-09-08 14:48     ` Mark H Weaver
2015-09-10 16:05       ` Ludovic Courtès
2015-09-10 16:14       ` Ludovic Courtès
2015-09-20 15:42     ` Ludovic Courtès
2015-09-21  8:18       ` Andy Wingo
2015-09-21 16:00         ` Ludovic Courtès
2015-09-24  0:33           ` Thompson, David
2015-09-24  7:41             ` Ludovic Courtès
2015-09-24  9:33               ` 宋文武
2015-09-24 17:09                 ` Ludovic Courtès
2015-09-25 22:50               ` Christopher Allan Webber [this message]
2015-09-26 12:50                 ` Ludovic Courtès
2015-09-30  8:59       ` Ludovic Courtès
2015-10-10 21:01         ` Ludovic Courtès
2015-09-10 16:03 ` [PATCHES] Get elogind-service working as intended Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mvwartuq.fsf@dustycloud.org \
    --to=cwebber@dustycloud.org \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).