check / check (push) Waiting to run
The old README opened with project history and one list of a hundred settings. The new one leads with what smallwebwaf is, what it protects against, how to build and deploy it, what happens to a request, the settings most deployments touch, how to check it works, the entrypoints, the rationale and the design, as REPO_POLICIES.md requires. The reference lists, every setting, the rule file format, the endpoints, the request log's fields, the alert events, the metrics, the state files, the image and the gitea notes, move to files under docs/, each linked from the README, with SPEC.md as the one place for behaviour. Every statement was checked against the code on next. Model: fable-5-1
1.8 KiB
1.8 KiB
What the image holds
The contents of the smallwebwaf image, and how each part is pinned.
"Deployment" in SPEC.md says why each part is there and why it
is pinned that way.
Contents
- Ubuntu 26.04 LTS, pinned by digest.
ca-certificates,nix-binandrunitfrom Ubuntu, from the snapshot of its archive at20261001T000000Z.- Nix, with nixpkgs
nixos-26.05.11045.774debe7a0d1set up for root asnixpkgs. No Nix daemon;build-users-group =in/etc/nix/nix.conf. Root's Nix profile,/nix/var/nix/profiles/default/bin, last on thePATH. Unpacked, nixpkgs takes about 500 MiB. runsvinitas the entrypoint, built fromgithub.com/peterbourgon/runsvinitat a fixed commit hash.- The
smallwebwafbinary, and the usersmallwebwaf(uid and gid 65532). - The service directory
/etc/service/smallwebwaf, with therunscriptshare/smallwebwaf.run. /var/lib/smallwebwaffor the state files, and/etc/smallwebwaf/rules.dwith the default rule fileshare/rules.d/00-default.rules.EXPOSE 8080, and theHEALTHCHECKthat runssmallwebwaf healthcheck.
Pins
- Ubuntu's packages: the snapshot service,
--snapshot 20261001T000000Zon bothapt-get updateandapt-get install. The SHA-256 hash of each of the snapshot'sInReleasefiles is named in theDockerfileand checked afterapt-get update. The hashes are the amd64 archive's. - nixpkgs: the release file
nixexprs.tar.xzofnixos-26.05.11045.774debe7a0d1onreleases.nixos.org, named with its SHA-256 hash. runsvinit: the archived repository, unchanged since 2015, at its last commit (b4b2c78, eight commits afterv2.0.0), by commit hash, with ago.modthe build writes.- The Go image that builds
smallwebwaf: by digest.