Skip to main content

How to Validate and Deploy Datasets using cruxctl

Making updates and deploying datasets from the CLI tool

Jon Tam avatar
Written by Jon Tam
Updated over 3 months ago

Overview

After you install cruxctl onto your local machine, you may want to make changes to the ODIN specification before activating your data product. The following steps will guide you on what actions to take to download, update, validate, and deploy using cruxctl.

1. Download your ODIN file

On the Review & deploy step of Crux Studio, click View ODIN in the upper right corner and click Export ODIN. This yaml file will download to your Downloads folder on your machine.

2. Make changes to your ODIN file

Open the yaml file using a text editor of your choice. Make any desired changes to your ODIN file, ensuring that the ODIN format remains consistent. One may decide to make changes to the following:

  • Data types

  • Schedule intervals

  • Deadlines

  • Regular expressions for file patterns

  • Other DAG run details

When you are done, save your yaml file.

3. Validating your updated ODIN file

Before you deploy your new ODIN file, it is helpful to validate this new file against the ODIN standard of dataset specifications. This will help you catch any errors before you activate the data product.

Run the following cruxctl command in your terminal:

cruxctl dataset validate --help

This will print out a short tutorial for using the cruxctl dataset validate command.

Follow the instructions to validate your ODIN file.

4. Deploying your dataset

When you have successfully validated your ODIN file, you are ready to deploy this to production.

Run the following cruxctl command in your terminal:

cruxctl dataset apply --help

This will print out a short tutorial for using the cruxctl dataset apply command.

Follow the instructions to deploy your dataset.

After the apply command is successful, you may go back to the Review & deploy step in Crux Studio and see the deployment to production in progress.

Did this answer your question?