From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id qJmDNRoPFGSP2wAASxT56A (envelope-from ) for ; Fri, 17 Mar 2023 07:56:26 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id gIpWNRoPFGTwggEAauVa8A (envelope-from ) for ; Fri, 17 Mar 2023 07:56:26 +0100 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 72BB210847 for ; Fri, 17 Mar 2023 07:56:26 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pd405-0002Qi-Qk; Fri, 17 Mar 2023 02:55:41 -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 1pd3zy-0002NO-33 for guix-devel@gnu.org; Fri, 17 Mar 2023 02:55:38 -0400 Received: from knopi.disroot.org ([178.21.23.139]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pd3zv-0003d8-O9; Fri, 17 Mar 2023 02:55:33 -0400 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 6B748445BF; Fri, 17 Mar 2023 07:55:25 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rGP6kYXZddN0; Fri, 17 Mar 2023 07:55:24 +0100 (CET) Message-ID: <051c5314-2880-5520-fac5-628eb6eb6227@disroot.org> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1679036124; bh=lGgEthL+AyVQoARl48S4XZPaI4IRd8GWN4Rficn0m9U=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=bVlC0NbAvdMavATe2mriagYL8S4TDc6sL/EW6OqYwsG/i3kV3xLsL6YKnQkmx66PW 8RcUImdQiUWXaWmKfO0tM7TlCBfNSvHmz06rWNIQ6H6lcwcFLARWcir7im1hYp61eb b+pd6tru7O3HAyWlblN7Vnhz2hYpvUHMQk3RgUGYIwI2Nvzw47uGpKebEeDFLhfGYA p4WMgMIO6rxp1GOCHE38yT/tttzchSQO93ZxM7djujMnpCPC2uw7CxgKtdaax584z4 aflptR7PBwm8MgBThi2Gw/xdIoAa3uCRtia2HXm5DtB1mImGwn+5v5kLW6pIujA2rp t6koABpl7QlZQ== Date: Fri, 17 Mar 2023 14:55:14 +0800 MIME-Version: 1.0 Subject: =?UTF-8?Q?Re=3a_The_=f0=9f=90=91_Shepherd_gets_a_service_collection?= To: =?UTF-8?Q?Ludovic_Court=c3=a8s?= Cc: guix-devel@gnu.org References: <874jqkeqau.fsf@gnu.org> Content-Language: en-US From: Adam Faiz In-Reply-To: <874jqkeqau.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=178.21.23.139; envelope-from=adam.faiz@disroot.org; helo=knopi.disroot.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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-Country: US X-Migadu-Flow: FLOW_IN ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=disroot.org header.s=mail header.b=bVlC0NbA; 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"; dmarc=pass (policy=reject) header.from=disroot.org ARC-Seal: i=1; s=key1; d=yhetil.org; t=1679036186; a=rsa-sha256; cv=none; b=aBzy3OjOL+q6eLsXazz0eODELy/pumxpullIch+Vu02wBQHTiQBGYasggMDt5qVPGpz2fY DAP6s9epWutRDFDHHj9TAeECVZJ/bj6K3HU+J/nDFR48F9ydvpN84NC1/+HO9l7f3sDLt5 PlUHaUStC7FRgVZipQyYkGMM2S7GiESqGE8ksRW29KzV5Gr57CDW3CHw8HFY3nI/GAsFvK eZnb6OhOOQSw3pKl8s9XNpu1Y5aN813YKC3rBKRecSte0c0STubpRXop5ZBN8IvKZxIUTS Ko1SNq9dD2RGVqutFetnBy45L2/ixttVyYBbE2nfh8nsP/fw0Hg2fpDWuBKt1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1679036186; 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=hlJbvkK8Qoc9MjCpo5CeLrtCJhKiheZphXRnlq9hfx0=; b=XDBTmwvDosA2aH+cx7St8QjGE6H4ga1lWqyI1orCMHsJQxaDE5ibs+s9BNS7gHYMegDiub K+rY1AgPhNVz3YQIrdRfjxVQtg7krWCLr7lZCcItCOnbtbLKDQvY3oxudyh2gNCeFj2B8u FIFs3B2A4hmK9qN7ASDkqab3XZab38azYkpcjISqX6ZuCvXwfZ+cdgLM5r5c3AzK5pMN+m l0g5FqlDDGGyxVcZu+ooTgK+Bv1k+GdOjUSCySrI1BnZeiGXNZBaQqvyjDXDsq4fqeB2GR tb56l/uvvn7RpOo6YyjI9tU/Bxl1X3yVVQ5bMF8CUTA5NGP1ERT3jh3qHKx0uQ== X-Migadu-Spam-Score: -6.46 X-Spam-Score: -6.46 X-Migadu-Queue-Id: 72BB210847 X-Migadu-Scanner: scn1.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=disroot.org header.s=mail header.b=bVlC0NbA; 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"; dmarc=pass (policy=reject) header.from=disroot.org X-TUID: Euru0E0fBZN9 On 3/16/23 22:14, Ludovic Courtès wrote: > The main limitation of mcron for such thing is that it’s entirely > static: it reads a list of job specs upfront and then goes on to > schedule them. There’s no communication protocol to talk to it and > add/remove jobs on the fly, which is what ‘at’ would need. Would it be easier to add dynamic job spec support to mcron than adding a new command scheduler? >> Regarding syslogd, I think a better approach is to tell the services to send their output to stdout and stderror, >> so that logs don't depend on a separate logging service in the first place. > > Yes, but: > > 1. Some daemons include syslog support even today, sometimes optional, > sometimes mandatory. > > 2. Syslog is a bit more structured than just stdout/stderr output: > there are facilities and levels, for instance—see syslog(3); > syslogd provides interesting filtering capabilities. > Thanks, it looks like syslog is still important for structured logs. Are there issues of logs sent to syslog being lost even when the syslogd service is specified as a requirement of services that use it? If not, I think it's not necessary to add a syslogd implementation to the shepherd. >> Per-service logging is already implemented in the Shepherd, but could be streamlined to have a default logs directory: >> https://skarnet.org/software/s6/s6-log.html#loggingchain > > Interesting read, thanks! > > Regarding the default logs directory, there’s /var/log already, or did > you mean something else? I do mean /var/log, I felt like #:log-file in make-forkexec-constructor could be improved. Rather than always having to specify the absolute log file path, #:log-file could just be set as #t and would then default to /var/log/$canonical-name of the service. > Thanks, > Ludo’.