Deterministic OCI image layout builder and validator for MoonBit
Dependencies
moon add oyjh0381/moonoci@0.1.4moon updatemoon check --target all
moon test --target wasm-gcmoon test --target native
moon build --target nativelet request = @builder.default_single_layer_request([
@archive.TarEntry::directory("app"),
@archive.TarEntry::file("app/message.txt", b"hello\n"),
])
let image = @builder.build_single_layer(request)
assert_true(@builder.verify_memory(image.layout).is_valid())moon run examples/single-layer --target wasm-gc
moon run examples/multi-layer --target wasm-gc
moon run examples/reproducible --target wasm-gc{
"schemaVersion": 1,
"ref": "demo",
"platform": { "os": "linux", "architecture": "amd64" },
"layers": [
{ "source": "rootfs", "compression": "gzip" }
],
"config": {
"entrypoint": ["/app/server"],
"workingDir": "/app"
},
"output": { "layout": "dist/demo" }
}moon run cmd/moonoci --target native -- build moonoci.json
moon run cmd/moonoci --target native -- inspect dist/demo
moon run cmd/moonoci --target native -- list dist/demo
moon run cmd/moonoci --target native -- verify dist/demo
moon run cmd/moonoci --target native -- archive dist/demo dist/demo.tar
moon run cmd/moonoci --target native -- versionDeterministic OCI image layout builder and validator for MoonBit
Dependencies