From ce0dbf6b249956700c6a1705bf4ad85a09d53e8c Mon Sep 17 00:00:00 2001 From: Dawid Rycerz Date: Sun, 15 Feb 2026 21:27:00 +0100 Subject: feat: witryna 0.2.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Switch, cleanup, and status CLI commands. Persistent build state via state.json. Post-deploy hooks on success and failure with WITRYNA_BUILD_STATUS. Dependency diet (axum→tiny_http, clap→argh, tracing→log). Drop built-in rate limiting. Nix flake with NixOS module. Arch Linux PKGBUILD. Centralized version management. Co-Authored-By: Claude Opus 4.6 --- man/witryna.toml.5 | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'man/witryna.toml.5') diff --git a/man/witryna.toml.5 b/man/witryna.toml.5 index 29c0331..78a6ece 100644 --- a/man/witryna.toml.5 +++ b/man/witryna.toml.5 @@ -1,11 +1,11 @@ -.TH WITRYNA.TOML 5 "2026-02-10" "witryna 0.1.0" "Witryna Configuration" +.TH WITRYNA.TOML 5 "2026-02-15" "witryna 0.2.0" "Witryna Configuration" .SH NAME witryna.toml \- configuration file for \fBwitryna\fR(1) .SH DESCRIPTION \fBwitryna.toml\fR is a TOML file that configures the \fBwitryna\fR static site deployment orchestrator. It defines the HTTP listen address, container runtime, directory layout, -logging, rate limiting, and zero or more site definitions with optional build +logging, and zero or more site definitions with optional build overrides, polling intervals, cache volumes, and post\-deploy hooks. .PP The file is read at startup and can be reloaded at runtime by sending @@ -38,13 +38,9 @@ Directory for per\-build log files. Layout: \fI//.log\fR .TP \fBlog_level\fR = "\fIlevel\fR" (required) -Tracing verbosity. +Log verbosity. Valid values: "trace", "debug", "info", "warn", "error" (case\-insensitive). Can be overridden at runtime with the \fBRUST_LOG\fR environment variable. -.TP -\fBrate_limit_per_minute\fR = \fIn\fR (optional, default: 10) -Maximum webhook requests per token per minute. -Exceeding this limit returns HTTP 429. .PP \fBNote:\fR The server enforces a hard 1\ MB request body size limit. This is not configurable and applies to all endpoints. @@ -54,6 +50,7 @@ Number of timestamped build directories to retain per site. Older builds and their corresponding log files are removed after each successful publish. Set to 0 to disable cleanup (keep all builds). +See also: \fBwitryna cleanup\fR for manual pruning. .TP \fBgit_timeout\fR = "\fIduration\fR" (optional, default: "1m") Maximum time allowed for each git operation (clone, fetch, reset, submodule update). @@ -309,7 +306,7 @@ Witryna\-internal values. .SH POST-DEPLOY HOOKS .TP \fBpost_deploy\fR = ["\fIcmd\fR", "\fIarg\fR", ...] (optional) -Command to execute after a successful symlink switch. +Command to execute after every build completion (success or failure). Uses array form (no shell interpolation) for safety. .RS The hook receives context exclusively via environment variables: @@ -327,6 +324,9 @@ Use this as the web server document root. .TP \fBWITRYNA_BUILD_TIMESTAMP\fR Build timestamp (YYYYmmdd-HHMMSS-ffffff). +.TP +\fBWITRYNA_BUILD_STATUS\fR +Build outcome: "success" or "failed". .PP The hook runs with a minimal environment: any user\-defined variables from \fB[sites.env]\fR, followed by PATH, HOME, LANG, @@ -336,8 +336,9 @@ It is subject to a 30\-second timeout and killed if exceeded. Output is streamed to disk and logged to \fI//\-hook.log\fR. .PP -Hook failure is \fBnon\-fatal\fR: the deployment is already live, -and a warning is logged. +Hook failure is \fBnon\-fatal\fR and a warning is logged. +On successful builds the deployment is already live; on failed builds +the hook still runs but no assets were published. The exit code is recorded in the hook log. A log file is written for every hook invocation (success, failure, timeout, or spawn error). @@ -393,9 +394,6 @@ log_dir = "/var/log/witryna" # Tracing verbosity log_level = "info" -# Webhook rate limit (per token, per minute) -rate_limit_per_minute = 10 - # Keep the 5 most recent builds per site max_builds_to_keep = 5 -- cgit v1.2.3