Skip to content

Artifact#1

Open
MichaelTimbert wants to merge 43 commits into
masterfrom
artifact
Open

Artifact#1
MichaelTimbert wants to merge 43 commits into
masterfrom
artifact

Conversation

@MichaelTimbert

Copy link
Copy Markdown
Owner

Purpose

This PR...

Context

(e.g. Fixes #9999, Follow-up to #9999, etc.)

Changes

...

How to test this PR

...

Merge pull request zonemaster#1232 from zonemaster/develop
matsduf and others added 26 commits March 2, 2026 17:12
The latest version of Perl is now 5.42. Let’s bump the topmost version
in the list of Perls tested against in CI to that.
Co-authored-by: Marc van der Wal <103426270+marc-vanderwal@users.noreply.github.com>
Co-authored-by: Marc van der Wal <103426270+marc-vanderwal@users.noreply.github.com>
Output testagent log on stdout/stderr.
Co-authored-by: tgreenx <96772376+tgreenx@users.noreply.github.com>
Changes to the cache file format in Zonemaster::Engine require
regeneration of some data files in use by the test suite in
Zonemaster-Backend.

There also was a small mistake in the logic that decides whether to
save or restore data from the corresponding data files. Restoration
should not be attempted if ZONEMASTER_RECORD=1 is not set in the
environment, and likewise, the data files should not be written to if
that same variable isn’t in the environment.
mattias-p and others added 15 commits June 11, 2026 10:56
* Link to public doc site instead of github master branch
* Report startup errors as strings, not JSON-RPC objects
* Avoid premature database connection check
* Put Perl version first
* Clean up redundant strict pragmas
Make the RPCAPI constructor not build its own dependencies, allowing
the caller to access the database handle before providing it to the
RPCAPI constructor.
* Let systemd take care of daemonization.

  Invoke zonemaster_backend_testagent with `foreground` instead of
  `start`/`stop`, --pidfile and --outfile. This allows journald to
  capture the output from STDOUT/STDERR.

* Let journald collect logs.

  Setting --logfile=- causes logs to be written to STDOUT, which is
  captured by journald.

* Let systemd take care of privilege dropping.

  By specifying User=zonemaster and Group=zonemaster,
  zonemaster_backend_testagent can execute entirely without root
  privileges.
* Let systemd take care of daemonization.

  Invoke zonemaster_backend_rpcapi.psgi without --daemonize and --pid.
  This allows journald to capture STDOUT/STDERR.

* Let journald collect logs.

  Since journald already captures STDOUT/STDERR we can just write our
  logs there.

* Let systemd take care of privilege dropping.

  By setting User= and Group= in the unit file, instead invoking
  zonemaster_backend_rpcapi.psgi with --user and --group, the process
  can be started without elevated privileges.
* Fix help text
* Add forgotten dependency
* Add documentation and unit test for Zonemaster::Backend::Log
* Clean up unit test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants