Importing and Exporting Designs
Import a design to bring infrastructure configuration you already have into Meshery. Export a design to back it up, move it to another Meshery Server, or use it outside Meshery.
A design holds components, such as Deployments and Services, and the relationships between them.
What happens when you import
You can import any of these formats:
- Meshery Design (YAML, or an OCI image exported from Meshery)
- Kubernetes manifest (YAML)
- Helm chart (
.tgzarchive) - Docker Compose file
- Kustomize package (archive)
Meshery Server identifies the format from the file itself. It converts Helm charts, Docker Compose files, and Kustomize packages to a Kubernetes manifest, matches each resource’s apiVersion and kind to a component in the registry, builds a design from the matched components, and saves the design. Importing does not deploy anything. Deploy the design afterward from Meshery UI or with mesheryctl design deploy.
Import a design
- Go to Configuration > Designs and click Import Design.
- Enter a Design Name.
- Choose an Upload method:
- File Upload, then pick the file from your computer.
- URL Import, then enter a direct URL to the file, for example
https://raw.githubusercontent.com/<org>/<repo>/main/app.yaml. The URL must return the file itself, not a web page.
- Click Import.
mesheryctl design import -f <path-or-URL> [-n <design-name>] [-s <source-type>]
-fis a local path or a direct URL to the file.-nnames the design. Without it,mesheryctluses the file name.-sis optional because Meshery Server detects the format. If you pass it, use one of"Kubernetes Manifest","Helm Chart","Docker Compose", or"Design"(case-insensitive).
For example, to import a Kubernetes manifest:
mesheryctl design import -f ./app-deployment.yaml -n my-app
mesheryctl prints the new design’s name and ID.
Import a Kustomize package
To import a Kustomize package, upload a .zip, .tar, .tar.gz, or .tgz archive with a file named kustomization.yaml at the root of the archive. Include the files it references in the same archive. For example:
kustomization.yaml
deployment.yaml
service.yaml
You can also import the archive from a direct URL. Meshery downloads the file and takes its name from the response’s Content-Disposition header or the last segment of the URL, so make sure that name ends in .zip, .tar, .tar.gz, or .tgz.
Export a design
- Go to Configuration > Designs.
- Click Download on the design you want to export.
- Click the download icon next to the format you want:
| Format | What you get |
|---|---|
| Meshery Design (yaml) | A complete Meshery design, including embedded images. Use it for backups or to move a design to another Meshery Server without losing anything. |
| Meshery Design (OCI image) | The design as an OCI image that you can push to and pull from a container registry. |
| Kubernetes Manifest (yaml) | The design’s Kubernetes resources as a plain manifest, for use with kubectl or other tools. |
| Helm Chart (tar.gz) | The design packaged as a Helm chart. |
mesheryctl design export <design-name-or-ID> [--type <type>] [-o <directory>]
--typeis one of:current(default): the design as Meshery stores it now.original: the file you originally imported, such as the Helm chart or manifest.oci: the design as an OCI image.
-ois the directory to save the file in. The default is the current directory.
For example, to export a design as an OCI image into ./exports:
mesheryctl design export my-app --type oci -o ./exports
To export a design as a Helm chart or a Kubernetes manifest, use Meshery UI.