Opaque by design
No package-manager assumptions. Muamba treats every download as bytes plus a reviewed source and integrity lock.
Muamba vendors JavaScript, CSS, licenses, source maps, executables, and other opaque release artifacts. Review the source once, lock SHA-384 integrity, then build and test without network access.
go get -tool github.com/araihu/muamba/cmd/muamba@v0.0.2schema: 1
resources:
alpine:
version: "3.14.9"
downloads:
runtime:
url: https://unpkg.com/alpinejs@${version}/dist/cdn.min.js
path: assets/vendor/alpine/${version}/alpine.min.js
integrity: sha384-…Typed manifest in. Verified bytes out.
One manifest, explicit trust
Muamba never decides that changed bytes are trustworthy. Your manifest records the decision; every later command enforces it.
Review every URL, fetch each artifact, and write its SHA-384 integrity once.
Check committed files and cache blobs offline. Different bytes fail closed.
Restore only missing or corrupt files whose remote bytes still match the lock.
Designed for reproducible builds
No package-manager assumptions. Muamba treats every download as bytes plus a reviewed source and integrity lock.
Grouped dependencies stage every declared artifact before the manifest or visible files change.
Generate deterministic Go registries for vendored files, including normalized hashes for cache busting.
Pin exact GOOS/GOARCH executables with shared destinations, size limits, modes, and per-target locks.
Start with one dependency