check / check (push) Waiting to run
SPEC.md is the only place that says how smallwebwaf behaves and why; docs/ holds lists linking to it; the README is short and links to both. Passed independent review in round 8. Model: fable-5-1 (writing); opus-5-5 (review, merge)
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.