Expand description
The moving parts behind accentup, the installer for Accent CMS.
Everything here mirrors what the shell installers published at
AccentCMS/accent (install.sh, install.ps1) do, with one deliberate
difference: signature verification is mandatory. The shell scripts fall
back to checksum-only verification when gpg is missing; this crate
embeds the release signing key and verifies in-process, so there is
nothing to fall back to.
The release layout the whole crate is written against:
https://github.com/AccentCMS/accent/releases/download/v0.25.0/
accent-v0.25.0-aarch64-apple-darwin.tar.gz # binary at archive root
checksums-v0.25.0.txt # sha256sum format, all targets
checksums-v0.25.0.txt.asc # detached OpenPGP signatureThis library exists so the installer’s parts can be tested in isolation.
It is an implementation detail of the accentup binary, and its API is
not stable across releases.
Modules§
- archive
- Unpacking release archives. Unpacking a release archive.
- checksums
- The published
checksums-<version>.txt. Thechecksums-<version>.txtpublished with every release. - cli
- Command line arguments. Command line surface.
- commands
- The install, update, uninstall and which flows. What each subcommand actually does.
- install
- Placing, inspecting and removing the installed binary. Placing, inspecting and removing the installed binary.
- net
- HTTP downloads. Blocking HTTP, sized for one download and two small metadata fetches.
- platform
- Host detection and install locations. Host detection: which release asset belongs to this machine, and where the binary goes.
- release
- Versions, repositories and download URLs. Release naming and version resolution.
- ui
- Console output. Console output.
- verify
- Signature and checksum verification. The two checks that stand between a download and your PATH.