Installer hawser
hawser est distribué sous forme d’un unique binaire nommé haw. Cette page constitue la matrice d’installation complète : tous les canaux, comment vérifier la release signée, le workflow air-gap et la compilation depuis les sources. Pour la version courte, voir la section Install du README.
La release actuelle est la v0.1.7, publiée avec des archives signées et reproductibles pour chaque plateforme prise en charge.
Matrice des canaux
| Canal | Plateforme | Commande / source | Prérequis |
|---|---|---|---|
| crates.io | tout (Rust) | cargo install hawser | chaîne d’outils Rust 1.90+ |
| Homebrew | macOS + Linux | brew install nastwinns/tap/hawser | Homebrew |
| Scoop | Windows | scoop bucket add nastwinns https://github.com/Nastwinns/scoop-bucket puis scoop install hawser | Scoop |
| Binaire musl statique | Linux x86_64 | télécharger haw-0.1.7-x86_64-unknown-linux-musl.tar.gz (voir ci-dessous) | aucun (sans dépendance) |
| Archive précompilée | Linux gnu (x86_64/aarch64), Linux musl (x86_64), macOS (x86_64/aarch64), Windows (x86_64) | GitHub Release | aucun (optionnel : cosign, sha256sum pour vérifier) |
| Registres privés | tout | miroir Nexus / Artifactory / GitLab / Bitbucket — voir DISTRIBUTION.md | identifiants du registre |
| Docker | tout (avec Docker) | docker build -t haw . | Docker + le dépôt |
| Depuis les sources | tout (Rust) | cargo install --git … ou cargo build --release | chaîne d’outils Rust 1.90+ |
Tous les canaux installent le même binaire haw. cargo install hawser est l’installation Rust canonique.
Gestionnaires de paquets
crates.io (Rust)
cargo install hawser
Compile depuis les sources avec votre chaîne d’outils locale et place haw dans ~/.cargo/bin. Nécessite une chaîne d’outils Rust 1.90+.
Homebrew (macOS + Linux)
brew install nastwinns/tap/hawser
Le tap se trouve à Nastwinns/homebrew-tap. Homebrew récupère l’archive précompilée pour votre plateforme, aucun compilateur n’est donc nécessaire.
Scoop (Windows)
scoop bucket add nastwinns https://github.com/Nastwinns/scoop-bucket
scoop install hawser
AUR (Arch Linux)
Un paquet hawser-bin (précompilé à partir de la GitHub Release) — voir packaging/aur/PKGBUILD :
yay -S hawser-bin # ou : paru -S hawser-bin
Nix (flake)
Exécutez sans installer, ou ajoutez à un profil — le flake compile haw depuis les sources et l’enveloppe avec git :
nix run github:Nastwinns/hawser # exécuter une fois
nix profile install github:Nastwinns/hawser # installer
Debian / RPM
Chaque GitHub Release fournit un .deb et un .rpm pour Linux x86_64 (gnu) :
# Debian/Ubuntu
curl -sSLO https://github.com/Nastwinns/hawser/releases/latest/download/hawser_0.1.7-1_amd64.deb
sudo dpkg -i hawser_0.1.7-1_amd64.deb
# Fedora/RHEL
sudo rpm -i https://github.com/Nastwinns/hawser/releases/latest/download/hawser-0.1.7-1.x86_64.rpm
Binaire musl statique (Linux, sans dépendance, adapté à l’air-gap)
L’installation Linux universelle recommandée. Le build musl est entièrement statique — pas de glibc, pas de runtime — il s’exécute donc de manière identique sur n’importe quel hôte Linux, s’intègre dans des conteneurs minimaux et s’installe proprement sur des machines air-gap sous forme d’un seul fichier.
curl -sSL https://github.com/Nastwinns/hawser/releases/download/v0.1.7/haw-0.1.7-x86_64-unknown-linux-musl.tar.gz \
| tar xz && sudo install haw /usr/local/bin/
Pour les hôtes air-gap, téléchargez l’archive (ainsi que ses .sha256, .sig et .pem) sur une machine connectée, vérifiez-la (ci-dessous), copiez les quatre fichiers, puis installez.
Archives précompilées (signées)
Chaque plateforme est fournie sous forme d’archive sur la GitHub Release :
haw-0.1.7-x86_64-unknown-linux-gnu.tar.gzhaw-0.1.7-aarch64-unknown-linux-gnu.tar.gzhaw-0.1.7-x86_64-unknown-linux-musl.tar.gz(statique)haw-0.1.7-x86_64-apple-darwin.tar.gzhaw-0.1.7-aarch64-apple-darwin.tar.gzhaw-0.1.7-x86_64-pc-windows-msvc.zip
Chaque archive est accompagnée de :
<archive>.sha256— une somme de contrôle SHA-256<archive>.siget<archive>.pem— une signature sans clé cosign et son certificat
La release est reproductible et signée. La vérification est optionnelle mais recommandée, et c’est tout l’intérêt sur des hôtes verrouillés ou air-gap.
Vérifier la somme de contrôle
sha256sum -c haw-0.1.7-x86_64-unknown-linux-musl.tar.gz.sha256
Attendez-vous à … OK. (Sous macOS, shasum -a 256 -c est l’équivalent.)
Vérifier la signature cosign
La vérification sans clé contrôle la signature par rapport au journal de transparence Sigstore. Vous devez avoir cosign installé :
cosign verify-blob \
--certificate haw-0.1.7-x86_64-unknown-linux-musl.tar.gz.pem \
--signature haw-0.1.7-x86_64-unknown-linux-musl.tar.gz.sig \
--certificate-identity-regexp 'https://github.com/Nastwinns/hawser' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
haw-0.1.7-x86_64-unknown-linux-musl.tar.gz
Attendez-vous à Verified OK. Une fois vérifié, décompressez et installez :
tar xzf haw-0.1.7-x86_64-unknown-linux-musl.tar.gz
sudo install haw /usr/local/bin/
Workflow air-gap
- Sur une machine connectée, téléchargez l’archive et ses compagnons
.sha256,.siget.pem. - Vérifiez la somme de contrôle et la signature cosign (ci-dessus) — cela établit la confiance tant que vous avez encore accès réseau au journal de transparence.
- Copiez les quatre fichiers vers l’hôte air-gap.
- Vérifiez à nouveau la somme de contrôle hors ligne (
sha256sum -c …), décompressez et installez.
Le binaire musl statique n’a aucune dépendance d’exécution, donc rien d’autre n’a besoin de franchir l’air gap.
Registres privés (Nexus / Artifactory / GitLab / Bitbucket)
Les organisations qui mettent en miroir les releases sur un registre interne peuvent récupérer exactement les mêmes archives signées (ainsi que .sha256, .sig, .pem et les .deb/.rpm) depuis Nexus, Artifactory, GitLab ou Bitbucket. Chaque release taguée publie d’abord la GitHub Release, puis met en miroir les artefacts vers ceux de ces registres qui sont configurés.
Voir DISTRIBUTION.md pour les chemins de téléversement exacts, la matrice de secrets pour activer chaque registre, et les commandes de téléchargement/installation propres à chaque registre. Exemple (Nexus) :
curl -u "$NEXUS_USER:$NEXUS_PASS" -O \
"$NEXUS_URL/repository/raw-hosted/haw/0.1.7/haw-0.1.7-x86_64-unknown-linux-musl.tar.gz"
Vérifiez la somme de contrôle et la signature cosign exactement comme pour la GitHub Release (ci-dessus).
Docker
Une image se construit directement à partir du Dockerfile du dépôt :
docker build -t haw .
docker run --rm haw --version
Nécessite Docker et un checkout du dépôt.
Depuis les sources
Nécessite une chaîne d’outils Rust 1.90+.
Installez le dernier main directement depuis Git :
cargo install --git https://github.com/Nastwinns/hawser hawser
Ou clonez et compilez un binaire de release :
git clone https://github.com/Nastwinns/hawser
cd hawser
cargo build --release
# binaire dans target/release/haw
Vérifier l’installation
Quel que soit le canal utilisé :
haw --version
Retour au README.