supervision - discussion about system services, daemon supervision, init, runlevel management, and tools such as s6 and runit
 help / color / mirror / Atom feed
  • * nosh version 1.30
           [not found] <54430B41.3010301@NTLWorld.com>
           [not found] ` <54B86FD5.3090203@NTLWorld.com>
    @ 2016-12-31 23:53 ` Jonathan de Boyne Pollard
      2017-01-14 11:26   ` nosh version 1.31 Jonathan de Boyne Pollard
      2018-02-18  6:49   ` nosh version 1.37 Jonathan de Boyne Pollard via freebsd-hackers
      1 sibling, 2 replies; 40+ messages in thread
    From: Jonathan de Boyne Pollard @ 2016-12-31 23:53 UTC (permalink / raw)
      To: FreeBSD Hackers, Debian users, Supervision
    
    The nosh package is now up to version 1.30 .
    
    * http://jdebp.eu./Softwares/nosh/
    * 
    https://www.freebsd.org/news/status/report-2015-07-2015-09.html#The-nosh-Project
    * http://jdebp.info./Softwares/nosh/
    
    service bundles
    ---------------
    
    As usual, there are more service bundles, including for the UWSGI 
    "Emperor" and the new services in FreeBSD/TrueOS 11 such as ypldap. 
    There are now services to run Sendmail in the same manner as the 
    services that run exim.  Note that this is slightly different to the old 
    FreeBSD division of labour.  There are individually controllable 
    services for SMTP Submission, SMTP Relay, the Submission queue runner, 
    and the Relay queue runner.
    
    doco
    ----
    
    The Guide has been extended with several new chapters, including a 
    gazetteer of interesting directories, a chapter on log file 
    post-processing, a chapter on logging security, a chapter on per-user 
    service management, and some notes for individual services.  The 
    commands list has moved from the blurb into the Guide, too, as it seems 
    like something that an administrator might find handy to have available 
    when there's no Internet connection.
    
    * http://jdebp.eu./Softwares/nosh/guide.html
    
    service management
    ------------------
    
    There's now a hardlimit chain-loading command, analogous to softlimit.  
    The convert-systemd-services utility now makes use of this and permits 
    setting separate hard and soft limits, or only one or the other, with 
    settings like LimitOFILE=32:128 and LimitNPROC=:infinity .
    
    There's now a local-reaper chain-loading command, that can turn "local 
    reaper" status for the current process on or off.  Have a care when 
    using this, per the note on the manual page.  There is a 
    LocalReaper=true extension to systemd service units for this.
    
    netlink-datagram-socket-listen is now available on the BSDs for script 
    compatibility.  It always aborts with an address family error.
    
    There's a new hangup subcommand of system-control, equivalent to the 
    existing -H option to svc .
    
    enhancements to system-control stop/start/reset and single-shot services
    ------------------------------------------------------------------------
    
    This is the first big item for 1.30 :
    
    The start and stop subcommands of system-control now operate more 
    quickly.  Instead of polling once per second, they monitor the 
    supervise/status files of each service that is in the process of being 
    started and stopped, with kevent().
    
    In addition, system-control now supports the notion of services that 
    become ready when their main process has exited, marked with a new flag 
    file in the service directory.  convert-systemd-units has been modified 
    to convert "oneshot" services to this, instead of to services that put 
    all of the run code into the start program.  Thus "oneshot" services 
    that are running their actual main programs are reported as "running" by 
    svstat, rather than as "starting".
    
    This takes advantage of the extended status information that 
    service-manager has been writing to the status file since version 1.28.  
    The sharp-eyed may have noticed that in version 1.28 the output of 
    "svstat"/"system-control status" gained information about the exit 
    statuses of the start, run, restart, and stop programs. This is what 
    system-control now uses to detect whether ready-after-run services ran 
    before they stopped.  (Detection of ready-after-run services that are 
    running with no processes, because they are "remain" services, can be 
    and is done with just the daemontools-encore-compatible status information.)
    
    Old-style "oneshot"s will continue to work as before, as of course they 
    become ready as soon as the run process is spawned, which is after they 
    have run their programs as part of start.
    
    The benefit of this new style, apart from reporting a running service as 
    actually "running", which should help with nagios monitoring and the 
    like, is that "oneshot" services converted from systemd no longer have 
    to be marked as RemainAfterExit=true in order to avoid a dummy "pause" 
    process hanging around.  This is the case for old-style "oneshot" 
    services.  They have to run something in run, after all, and that 
    something has to keep running in order for the service to be considered 
    ready and services ordered after it to be unblocked.  A ready-after-run 
    service, however, unblocks ordered-after services if it has reached the 
    stopped state via a run, thus puts its programs in run, thus doesn't 
    have to have a dummy pause process, and can be RemainAfterExit=false 
    without adding to the process list.
    
    log file management
    -------------------
    
    export-to-rsyslog had a bug that caused it to skip old log files (the 
    @nnnnnnnnnnnnnnnnnnnnnnnn.s ones) in catch-up mode.  This has been 
    corrected.  There is now a follow-log-directories command that can 
    substitute for tail -F .  It knows the actual structure of log 
    directories, operates using one or more cursors like export-to-rsyslog 
    does, and copes correctly with cyclog/multilog log rotation (which GNU 
    tail, at least, apparently has problems with when the timing is 
    particularly wrong on a loaded system).
    
    See also http://jdebp.eu./FGA/do-not-use-logrotate.html
    
    build
    -----
    
    More warnings are now turned on with clang++ during the build, and a lot 
    of the resultant warnings have been eliminated where appropriate.  The 
    check for eg++ in preference to g++ is now limited to OpenBSD, where (at 
    least on OpenBSD 5.9) eg++ is still ahead of g++ by a wide margin.
    
    Per-user service management
    ---------------------------
    
    Changes in per-user service management are the second big item for 1.30 :
    
    The per-user service manager instances are now invoked via userenv, so 
    all per-user services that you run under nosh service management, D-BUS 
    servers or otherwise, will have your own HOME, SHELL, and USER set.  
    Several per-user daemon softwares were expecting HOME to be set.
    
    To match what the Desktop Bus people are doing, the dbus socket path for 
    the per-user D-BUS broker has changed from 
    "/run/user/$USER/dbus/user_bus_socket" to "/run/user/$USER/bus".  In 
    theory, this is addressable (in D-BUS speak) as "unix:runtime=yes". In 
    practice, there is no version of D-BUS available on stable/release 
    FreeBSD, TrueOS, or Debian that understands this address syntax.  So one 
    still has to use "unix:path=/run/user/$USER/bus".
    
    The Desktop Bus people and the desktop environments people are also 
    switching from per-login D-BUS brokers to per-user D-BUS brokers. The 
    nosh toolset has already had this for over a year, since the middle of 
    2015.  Each real-person user account has an optional per-user service 
    management service (e.g. user-services@fred).  What is new is that 
    per-user service bundle areas are now populated with a whole load of 
    service bundles for real services, many relating to GUI desktop 
    environments, and the per-user D-BUS broker has moved to there, from 
    being a system-level service bundle.
    
    The configuration import subsystem creates these new per-user service 
    bundles in the home directories of individual real users, under 
    ~fred/.config/service-bundles/services/ and 
    ~fred/.config/service-bundles/targets/ (for user fred).  These run 
    per-user services for a whole load of things, from GNOME editor and 
    emacs through dconf and KDE Notify to urxvtd and GNOME Terminal.
    
    The configuration import subsystem also sets up a bypass for D-BUS's 
    broken "bus activation" mechanism, so that instead of attempting to run 
    these D-BUS servers directly, the D-BUS broker instead tells the nosh 
    per-user service manager to run them.  This takes the form of a 
    replacement dbus-daemon-launch-helper, and the per-user D-BUS brokers 
    now employ a modified configuration file that invokes it.
    
    There's a full explanation of how this all works in the new chapter on 
    demand-starting user-level Desktop Bus services in the nosh Guide.
    
    Notes:
       * For emacs as a per-user service, you must have a very recent emacs 
    with its very-late-to-the-party --new-daemon option.
       * GNOME Weather and its interaction with GeoClue2 are only partly 
    tested, because the versions of them available for the test platforms 
    were attempting to contact a weather service that the U.S. Government 
    discontinued in June 2016; and this was hardwired into their code.
    _______________________________________________
    freebsd-hackers@freebsd.org mailing list
    https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
    To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
    
    
    ^ permalink raw reply	[flat|nested] 40+ messages in thread

  • end of thread, other threads:[~2019-03-20 10:21 UTC | newest]
    
    Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
    -- links below jump to the message on this page --
         [not found] <54430B41.3010301@NTLWorld.com>
         [not found] ` <54B86FD5.3090203@NTLWorld.com>
         [not found]   ` <554E53EF.4080600@NTLWorld.com>
    2015-05-09 23:09     ` nosh version 1.14 Jonathan de Boyne Pollard
    2015-06-01  0:02       ` nosh version 1.16 Jonathan de Boyne Pollard
    2015-06-28 15:19         ` redo version 1.2 Jonathan de Boyne Pollard
    2018-02-18  6:39           ` redo version 1.4 Jonathan de Boyne Pollard via freebsd-hackers
    2015-06-28 16:39         ` nosh version 1.17 Jonathan de Boyne Pollard
    2015-06-28 16:55           ` pflog(8) manual page bug Jonathan de Boyne Pollard
    2015-06-28 20:55             ` Warren Block
    2015-08-20 13:01           ` nosh version 1.18 Jonathan de Boyne Pollard
    2015-08-22 18:04             ` nosh version 1.19 Jonathan de Boyne Pollard
         [not found]               ` <CADQ2Nw-506S3Gm4s40t+WzJu3Wzpwp=wPBWCFoQGZ2yrctCM_w@mail.gmail.com>
    2015-09-28  1:05                 ` nosh version 1.20 Jonathan de Boyne Pollard
    2015-09-28  1:33                   ` Joe Maloney
    2015-09-28  7:27                     ` Jonathan de Boyne Pollard
    2015-10-05  5:39                   ` nosh version 1.21 Jonathan de Boyne Pollard
    2015-11-02  2:15                     ` nosh version 1.22 Jonathan de Boyne Pollard
    2015-12-17 13:50                       ` nosh version 1.23 Jonathan de Boyne Pollard
    2016-01-13  9:25                         ` nosh version 1.24 Jonathan de Boyne Pollard
    2016-02-01  1:03                           ` nosh version 1.25 Jonathan de Boyne Pollard
    2016-05-06 23:19                             ` nosh version 1.27 Jonathan de Boyne Pollard
    2016-08-06 17:30                               ` nosh version 1.28 Jonathan de Boyne Pollard
         [not found]                                 ` <a1646fa5-e64c-5b2d-b057-aa347d1f30a1@freebsd.org>
    2016-08-21 11:04                                   ` Jonathan de Boyne Pollard
    2016-08-30 15:58                                     ` Joe Nosay
         [not found]                                 ` <0c339dcb-d09b-f234-d37f-9521d97146b1@NTLWorld.com>
         [not found]                                   ` <d9dddf06-257f-2f5e-c7dd-99cfd6aba187@NTLWorld.com>
         [not found]                                     ` <CADQ2Nw8YbeHp-yOUxTBXn6H8_OrU74ab1nb5=gc-+xeBL4FWFw@mail.gmail.com>
         [not found]                                       ` <159edb67-0288-a07e-c2cb-76574d0d2b98@NTLWorld.com>
         [not found]                                         ` <CADQ2Nw-XksEtP_wrXtaRFKw0yM=A-0okfXxFOpyDiCQGptQEww@mail.gmail.com>
         [not found]                                           ` <5769980e-cdc3-b802-b704-fdb8d0ce3f8f@NTLWorld.com>
         [not found]                                             ` <CADQ2Nw95KwkwDDErc_wsLrg=rHjhKHRsfseFPhA9avS0siu+5Q@mail.gmail.com>
    2016-12-03 11:33                                               ` nosh version 1.29 Jonathan de Boyne Pollard
    2016-12-03 11:41                                                 ` Jonathan de Boyne Pollard
    2016-12-31 23:53 ` nosh version 1.30 Jonathan de Boyne Pollard
    2017-01-14 11:26   ` nosh version 1.31 Jonathan de Boyne Pollard
    2017-01-30  9:09     ` nosh version 1.32 Jonathan de Boyne Pollard
    2017-04-09 19:52       ` nosh version 1.33 Jonathan de Boyne Pollard
    2017-07-05 20:41         ` nosh version 1.34 Jonathan de Boyne Pollard
    2017-09-10 10:43           ` nosh version 1.35 Jonathan de Boyne Pollard
    2017-12-11  8:03             ` nosh version 1.36 Jonathan de Boyne Pollard
    2018-02-18  6:49   ` nosh version 1.37 Jonathan de Boyne Pollard via freebsd-hackers
    2018-02-18 21:23     ` Guillermo
    2018-02-18 23:05       ` Jonathan de Boyne Pollard
    2018-02-19  3:12         ` Guillermo
    2018-02-19  5:10           ` Jonathan de Boyne Pollard
    2018-02-20 19:13       ` Jonathan de Boyne Pollard
    2018-02-21  1:21         ` Guillermo
    2018-02-21  7:53           ` Jonathan de Boyne Pollard
    2019-01-23  4:51     ` nosh version 1.39 Jonathan de Boyne Pollard
    2019-03-20 10:21       ` nosh version 1.40 Jonathan de Boyne Pollard
    

    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 NNTP newsgroup(s).