r eu-north-1 -x bucket_name=my_bucket -o sagemakerThis command deploys a stack on AWS that uses an S3 bucket as an artifact store and Sagemaker as your orchestrator. The stack will be imported into ZenML once the deployment is complete and you can start using it right away!

Supported flavors and component types are as follows:

Component Type Flavor(s) Artifact Store s3, gcp, minio Container Registry aws, gcp Experiment Tracker mlflow Orchestrator kubernetes, kubeflow, tekton, vertex MLOps Platform zenml Model Deployer seldon Step Operator sagemaker, vertex

MLStacks currently only supports deployments using AWS, GCP, and K3D as providers.

Want more details on how this works internally?

The stack recipe CLI interacts with the mlstacks repository to fetch the recipes and stores them locally in the Global Config directory.

This is where you could potentially make any changes you want to the recipe files. You can also use native terraform commands like terraform apply to deploy components but this would require you to pass the variables manually using the -var-file flag to the terraform CLI.

CLI Options for zenml stack deploy

Current required options to be passed in to the zenml stack deploy subcommand are:

-p or --provider: The cloud provider to deploy the stack on. Currently supported providers are aws, gcp, and k3d.

-n or --name: The name of the stack to be deployed. This is used to identify the stack in ZenML.

-r or --region: The region to deploy the stack in.

The remaining options relate to which components you want to deploy.

If you want to pass an mlstacks stack specification file into the CLI to use for deployment, you can do so with the -f option. Similarly, if you wish to see more of the Terraform logging, prompts and output, you can pass the -d flag to turn on debug-mode.

Any extra configuration for specific components (as noted in the individual component deployment documentation) can be passed in with the -x option. This option can be used multiple times to pass in multiple configurations.