Resolve Source
Checkout the exact git SHA + the trained model checkpoint URI from the registry. No floating refs.
Convert a trained model into an immutable, reproducible, signed artifact. Every package is content-addressed, dependency-locked, and ready to deploy to any environment without surprises.
Same inputs → same artifact, byte-for-byte. No drifting wheels.
Once tagged, the artifact cannot change. Promote, don't rebuild.
Runs identically on dev laptop, staging cluster, and prod edge.
SBOM + signature prove what's inside and who built it.
Checkout the exact git SHA + the trained model checkpoint URI from the registry. No floating refs.
Pin every transitive dependency including CUDA, system libs, and Python wheels. Hash-verified.
Multi-stage Dockerfile: builder installs deps, runtime copies only what's needed. Non-root user.
Software Bill of Materials lists every package, version, and license. Required for compliance.
Vulnerability scan, smoke-test inference contract, validate input/output schema.
Cosign signs the image with keyless OIDC. Push to the registry under the immutable digest.
/app ├── model/ │ ├── weights.safetensors # frozen checkpoint │ ├── tokenizer.json │ └── model_card.md ├── server/ │ ├── handler.py # inference contract │ └── healthcheck.py ├── requirements.lock # hash-verified deps ├── sbom.spdx.json # bill of materials └── manifest.yaml # version, sha, signer
Multi-arch container builds with BuildKit caching.
Deterministic Python dependency resolution with hashes.
Opinionated model packaging with auto-generated serving APIs.
SBOM generation for containers and filesystems.
Vulnerability scanning for OS packages and language deps.
Keyless image signing via OIDC + transparency log (Rekor).
Using :latest produces non-reproducible deploys. Always pin to digest.
Shipping training deps to inference adds GBs and attack surface. Use multi-stage.
CUDA mismatch between build host and serving node causes silent fallbacks to CPU.
Without a model card, downstream teams can't audit intended use or limitations.