CLI
MLStacks is a CLI tool that allows you to deploy and manage your ML infrastructure using the MLStacks specification. You can install the CLI using the following command:
Deploying a stack
You can deploy a stack using the mlstacks deploy
command. This command takes a path to a stack specification file as an argument. For example, if you have a stack specification file called stack.yaml
, you can deploy it using the following command:
If you want to drop into the internal Terraform log messages and prompts, turn on debug mode with the -d
or --debug
flag:
Using remote state with a team
MLStacks deploys a remote state bucket to the same cloud provider as you're using for your stack by default. This remote state backend has a default name that begins with zenml-mlstacks-remote-state
and is deployed first before your stack gets deployed.
If you'd like to connect to a pre-existing state bucket that you or a colleague have already created, you can do so by passing the bucket name to the mlstacks deploy
command:
This will then connect to the remote state bucket and use that as the backend for your stack deployment.
Getting stack outputs
Once you have a stack deployed, you can get the outputs of the stack using the mlstacks output
command. This command takes a path to a stack specification file as an argument. For example, if you have a stack specification file called stack.yaml
, you can get the outputs of the stack using the following command:
This will print out the outputs of the stack, which you can use in your pipelines. If you just want a single output you can add the -k
or --key
option and pass in the name of the output you want:
Destroying a stack
You can destroy a stack using the mlstacks destroy
command. This command takes a path to a stack specification file as an argument. For example, if you have a stack specification file called stack.yaml
, you can destroy it using the following command:
If you want to drop into the internal Terraform log messages and prompts, turn on debug mode with the -d
or --debug
flag:
Stack Cost Estimation with Infracost
MLStacks integrates with Infracost to provide cost estimates for your stacks. You can install Infracost by following the instructions in their documentation. Note that you'll need to be logged in to use it with mlstacks
.
Once you have Infracost installed, you can get a cost estimate for your stack using the mlstacks breakdown
command. This command takes a path to a stack specification file as an argument. For example, if you have a stack specification file called stack.yaml
, you can get a cost estimate for it using the following command:
This will print out a cost estimate for your stack.
Viewing Terraform definitions and Stack Specifications
If you'd like to view the Terraform definitions that MLStacks generates for your stack, you can use the mlstacks source
command. This command will print out the location of the Terraform definitions for your stack.
Cleaning Up
If you want to clean up all the files and directories created by MLStacks, you can use the mlstacks clean
command. This works at a global level (i.e. affecting all stacks), so you don't need to pass in a stack specification file.
Check your mlstacks version
To see what version of mlstacks
package you're using, please use the following command:
Last updated