NAME

Fugu - OpenBSD-style daemon utilities for Perl

SYNOPSIS

use Fugu::Daemon;
use Fugu::Log;
use Fugu::EventLoop;

DESCRIPTION

Fugu gives a Perl daemon the plumbing that OpenBSD daemons share. The utilities live in the Fugu:: modules, one concern each. This lead module holds no code: it names the distribution, and this document is the module index.

The distribution also ships Protocol::Imsg, a sans-IO codec for the imsg(3) frame.

Fugu needs core Perl only (v5.36). Every CPAN module it can use is an optional feature, loaded lazily.

MODULES

Fugu::CLI - subcommand dispatch for a command-line tool
Fugu::Config - the OpenBSD-style configuration grammar
Fugu::Control - a control socket for a running daemon
Fugu::Daemon - daemonization for Perl programs
Fugu::EventLoop - one select loop for a daemon with one process
Fugu::File - file operations for a daemon and its tools
Fugu::Imsg - imsg messages over a connected stream socket
Fugu::JSONSocket - newline-delimited JSON over a UNIX socket
Fugu::Log - logging to syslog, standard error, or nowhere
Fugu::MQTT - a subscribing MQTT client for a single-threaded daemon
Fugu::Mdnsd - control mdnsd over its control socket
Fugu::Pidfile - locked PID file
Fugu::Privdrop - permanent drop of root privileges
Fugu::Process - child process management
Fugu::Proxy - a caching HTTP proxy
Fugu::Random - random bytes and random passwords
Fugu::SSH - run a command on another machine over SSH
Fugu::Sandbox - pledge and unveil as a platform abstraction
Fugu::Signal - signal handlers for graceful shutdown
Fugu::StateFile - a small JSON state file
Fugu::TestLog - a quiet process default logger for a test file
Fugu::Timeout - run something under a time limit
Protocol::Imsg - the OpenBSD imsg(3) frame, as bytes

SEE ALSO

The development guide and the release flow live in the repository at https://github.com/FuguBSD/Fugu.

AUTHORS

Dick Olsson <hi@senzilla.io>