check / check (push) Successful in 3m29s
The final image stage now apt-gets ca-certificates, nix-bin and runit from the archive the image's own sources name, with no snapshot and no hash check of the package lists. The borrowed CA bundle is dropped: the archive is reached over plain HTTP, so the install needs none. The Ubuntu base image stays pinned by digest, and every other pin is kept. SPEC.md and docs/image.md no longer describe a snapshot. Model: deepseek-v4-pro
1.7 KiB
1.7 KiB
What the image holds
The contents of the smallwebwaf image, and how each part is pinned. The image
runs rproxy by default, or servewaf with SMALLWEBWAF_COMMAND=servewaf.
"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's normal mirrors, the live archive, not a dated snapshot.- 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/smallwebwafforservewaf's 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 are not pinned: they come from the live archive, whose packages change with every update.
- 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.