[package]
name = "gitgud_apt"
version = "0.1.0"
edition = "2021"
license = "MIT"
publish = false
[lib]
name = "gitgud_apt"
path = "src/lib.rs"
crate-type = ["cdylib"]
[dependencies]
rustler = "0.34"
# OpenPGP signing for the apt repository. OTP can't do this: `:public_key`
# speaks PKCS/X.509, and apt wants OpenPGP packets.
#
# Backend choice, which is the load-bearing decision here:
#
# * `crypto-nettle` is the default and pulls libnettle + libgmp into
# the *runtime* image. This project ships k8s manifests, and its
# runner image installs no such packages — a NIF that dragged them
# in would be a deployment change disguised as a dependency.
# * `crypto-rust` builds with no system libraries at all, but sequoia
# gates it behind `allow-experimental-crypto` and
# `allow-variable-time-crypto`. This code holds a private key; a
# variable-time implementation is not the right place to save a
# package.
# * `crypto-openssl` links libssl/libcrypto, which are already in
# both images — the builder installs libssl-dev for gix, and the
# runner installs openssl for the Erlang runtime. No new packages
# in either, and constant-time audited crypto.
#
# So: openssl. `default-features = false` is what actually keeps nettle
# out; naming a backend alone does not.
sequoia-openpgp = { version = "2", default-features = false, features = [
"crypto-openssl",
] }
anyhow = "1"
# Decompression for a .deb's control member. dpkg has used xz since
# squeeze and Ubuntu ships zstd, and OTP can decompress neither —
# `:erl_tar` handles gzip and nothing else. Both crates are pure Rust,
# so this stays a code dependency rather than another system library in
# the image. `lzma-rs` also encodes xz, which is what lets the
# repository offer `Packages.xz` as the Debian guidance asks.
lzma-rs = "0.3"
ruzstd = "0.7"
neiam
/gitgud
Git Gud
public · Issues · Pulls · Labels · Forks · Compare · Actions success · Badges · Packages
⭐
1
Log in to mark this repository.
1.8 KiB · text
History
6bfb936