Skip to main content

Crate accent

Crate accent 

Source
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 signature

This 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. The checksums-<version>.txt published 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.