DataKitchen DataOps Documention

Kitchen Wizard

Introduction

Each customer account contains a UI wizard that allows users to quickly create and teardown kitchen workspaces in a self-service fashion. Ingredients may be added as substeps to the kitchen creation/deletion process.

Command Line Tool

Kitchens may also be created, edited, deleted, and merged via DKCloudCommand, DataKitchen's command line tool.

Configuration

The default wizard for creating child kitchens is sufficient for most DataKitchen web app users. If necessary, the kitchen wizard ingredient step can be configured via a single JSON configuration file named kitchen-settings.json. The proper configuration is an orchestration spread across two files.

  • kitchen-settings.json
  • variations.json of recipe serving as ingredient provider

The kitchen-settings.json is only accessible and editable via the command line for users with IT or ADMIN roles via the kitchen-settings-update command.

See Kitchen Settings for more information.

Rollback Kitchen Wizard Substeps Configured in Ingredient Provider

Create Kitchen substeps are declared in kitchen-settings.json in order for them to be populated in the wizard. Rollback substeps, on the other hand, are not configured via kitchen-settings.json but instead in the ingredient provider's variations.json file.

{
   "kitchenwizard":{
      "wizards":[
         {
            "name" : "Create A New Kitchen",
            "id" : "createKitchen",
            "steps":[
               {
                  "title" : "Create a Redshift Cluster"
                  "params" : {
                     "recipe" : "ingredient-provider-recipe", 
                     "ingredient" : "ingredient-create-cluster", 
                  },
               },
               {
                  "title" : "Create the Schema",
                  "params" : {
                     "recipe" : "ingredient-provider-recipe",
                     "ingredient" : "ingredient-create-schema"
                  }
               },
            ],
         },
      ],
   },
}

Manage Kitchens

Create Kitchens

A newly created child kitchen inherits its staff, overrides, and recipes copies from its parent Kitchen.

Delete Kitchens

The master kitchen may not be deleted.

Ingredient Substeps

In addition to doing data work for data pipelines, DataKitchen recipes may also be built to automate the provisioning and configuration of infrastructure to run the data pipelines. These infrastructure provisioning recipes may be declared as ingredients and leveraged as optional substeps to the web app Kitchen Create and Delete Kitchen wizards.

In this way, your customer account can be configured to spin up and tear down infrastructure instances and provision and delete data assets to support segregated development environments.

See the configuration section above and Ingredients for more details.

Kitchen Wizard Configuration

Contact [email protected] with implementation questions.

Merge & Deploy

The recipe copies contained within any kitchen are subject to version control and a kitchen-level audit trail. Each kitchen is associated with an underlying version control branch (typically a Git branch), with the kitchen hierarchy reflecting the branch structure of the version control repository.

The deployment of recipe code is thus analogous to a version control merge, which can be accomplished via DataKitchen's command line tool or via the web app merge kitchen process. Both options provide three-pane diff views in the event that merge conflicts need be adjudicated.

Merging Best Practice

Always merge parent kitchens down before merging/deploying child kitchens up.

Downward Merges

Downward merges often take place when multiple users are working across multiple child kitchens to a common parent kitchen. By merging down before merging up, users make sure their recipe changes are not in conflict with those of others.

Deployments

Protected Environments

Users may only perform merges when they are part of the kitchen staff for the target kitchen of the merge.

In this example, the user is not part of the master kitchen staff.  The user may merge down from the master kitchen, but not up into it.

In this example, the user is not part of the master kitchen staff. The user may merge down from the master kitchen, but not up into it.

Updated 6 days ago

Kitchen Wizard


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.