Skip to content

Images and signatures

Helix is delivered as container images, not as files to download. The image carries everything a node runs — the Helix services, the web application, the Spiral optimiser and its travel engine — and the launcher, helixctl, that installs and starts it. The road data for the travel engine is published as images too.

All are in registry.gitlab.com/honeywick-consulting/helix/.

ImageWhat it is
helixcore:<version>A release of the Helix core, e.g. helixcore:0.0.18 — what a client deploys and what a security review assesses.
helixcore:<version>-devThe same image plus npm, for building a client’s own extension inside a container (helixctl start dev, helixctl release). Not for production.
helixcore:latest, helixcore:sdk-<minor>Floats that follow the newest release (for one client SDK minor). A client pins an exact version instead.
osrm:<country>-latest, osrm:<country>-<osrm>-<date>The preprocessed road network for the travel engine, one image per country.

You do not normally pull them by hand: helixctl pull (or install) fetches the pinned core and the road data the node’s travel calculator names — see Versions and upgrades and travelCalculatorObject.

Every release image — the core and its -dev overlay — is signed with Honeywick’s key, by digest, using cosign. Its software bill of materials (CycloneDX) is attested with the same key, so the parts list is provably the one for that image. Pre-release test cores (a letter after the version, such as 0.0.18a) may be unsigned; a release never is.

The public key — helix-release.pub:

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEkfZqZ555RQzfxTnmtNQfxmuiRoB
qvnIIWskAKlRUpskILnW/bU+KTSFKZNyO/uvpE5dZA7nD2gT9jdk2E3d7g==
-----END PUBLIC KEY-----

Check the signature, and the SBOM attestation, for the image you are about to run:

Terminal window
curl -fsSO https://honeywick.co.uk/helix-release.pub
cosign verify --key helix-release.pub registry.gitlab.com/honeywick-consulting/helix/helixcore:0.0.18
cosign verify-attestation --key helix-release.pub --type cyclonedx \
registry.gitlab.com/honeywick-consulting/helix/helixcore:0.0.18

cosign verify prints the digest the tag resolves to. The digest is the identity: a tag can be moved, a digest cannot, so a review signs off the digest, and a node pinned by digest runs exactly what was reviewed. The signature is a separate artefact in the registry; the image’s own bytes and digest are unchanged by signing, so any container runtime Helix supports pulls them as before.