Push or Pull a Model Image
Use mesheryctl to Push or Pull a Model Image
A Meshery Model can be packaged as an OCI image - a portable, versioned artifact that bundles the model definition together with all of its components and relationships. Because the package is OCI-compliant, it can be moved between Meshery Servers and stored in any OCI-compatible image repository (Docker Hub, GitHub Container Registry, AWS ECR, and so on), exactly like a container image.
Package (build) a model image
Package model files that follow the scaffold layout
([model-name]/[model-version]) into an OCI artifact:
mesheryctl model build [model-name]/[model-version]
model build writes an OCI artifact named <model-name>-<version>.tar to your current
directory (for example, mesheryctl model build digitalocean-icons/v0.1.0 produces
digitalocean-icons-v0-1-0.tar). This command is local - it does not require a running Meshery
Server.
Push a model image into a Meshery Server
“Pushing” a model into a Meshery Server means registering it into that server’s Registry. Import the packaged artifact (or the model directory) with:
mesheryctl model import -f digitalocean-icons-v0-1-0.tar
mesheryctl model import talks to the Meshery Server of your current context, so you must be
logged in (see mesheryctl system login).
The file can be an OCI .tar, a compressed tar.gz, a model directory, or a remote URL - see
Importing Models for
the full list of supported sources.
Pull a model image from a Meshery Server
“Pulling” a model retrieves an already-registered model from a Meshery Server as an OCI image (or a compressed archive) so it can be inspected, versioned, or moved to another server:
mesheryctl model export [model-name] -o oci
Use -o to choose the output format (oci or tar), -t for the file type of the definitions
inside the archive (yaml, the default, or json), and -l to choose the output directory
(the directory must already exist). See
Exporting Models for
details.
Push to or pull from an external OCI registry
Because the artifact produced by mesheryctl model build/model export is a standard OCI
image, you can push it to - or pull it from - any OCI-compatible registry using your existing
container tooling (for example ORAS or docker), then mesheryctl model import it into a server on the other side. This makes model images easy to share across teams
and environments alongside your other OCI artifacts.