Current section

Files

Jump to
mob_dev priv security bundled_versions.exs
Raw

priv/security/bundled_versions.exs

# Source-of-truth manifest for what versions ship inside the OTP
# tarballs that `MobDev.OtpDownloader` fetches.
#
# `:active_hash` MUST match `@otp_hash` in
# `lib/mob_dev/otp_downloader.ex` — the security-scan layer
# fingerprints `~/.mob/cache/otp-*-{hash}/` against the bundle
# entry for this hash and raises if they disagree.
#
# When updating:
#
# 1. Bump `:active_hash` to the new hash
# 2. Add or replace the corresponding bundle entry
# 3. Run `mix mob.security_scan` — the bundled-runtime layer
# will fingerprint the cached tarball and assert that the
# binary matches the manifest. If it doesn't, fix the
# manifest, the tarball, or both.
#
# Per-platform overrides let a single bundle entry describe
# platforms whose artifact set differs. `%{exqlite_beam: nil}`
# means "this platform deliberately does not ship the exqlite
# beam in the tarball" — the host's `_build/dev/lib/exqlite`
# is bundled at deploy time instead.
%{
active_hash: "7d46fdd4",
bundles: %{
"7d46fdd4" => %{
erts: "17.0",
otp_release: "29",
elixir: "1.20.0-rc.5",
openssl: "3.4.0",
exqlite_beam: "0.36.0",
openssl_release_date: "2024-10-22",
platforms: [:android, :android_arm32, :ios_sim, :ios_device],
per_platform: %{
ios_sim: %{exqlite_beam: nil},
ios_device: %{exqlite_beam: nil}
}
}
}
}