DataKitchen DataOps Documention

Kitchen Wizard

Introduction

Each customer account contains a configurable 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 Kitchen Wizard is configured via a single JSON configuration file named kitchen-settings.json. Still, proper configuration is an orchestration of spread across:

  • 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-config command.

Rollback Kitchen Wizard Substeps Configured in Ingredient Provider

Kitchen Wizard 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":[
         {
            "steps":[
               {
                  "params":{
                     "ingredient":"ingredient_create_schema",
                     "recipe":"ingredient_provider_kitchen_wizard",
                     "kitchen":"master"
                  },
                  "name":"IngredientWizardStep",
                  "title":"Create the Schema"
               }
            ],
            "id":"createKitchen",
            "name":"Create A New Kitchen"
         },
         {
            "steps":[

            ],
            "id":"deleteKitchen",
            "name":"Delete Kitchen"
         },
         {
            "steps":[

            ],
            "id":"mergeKitchenUp",
            "name":"Merge Kitchen Up"
         },
         {
            "steps":[

            ],
            "id":"mergeKitchenDown",
            "name":"Pull-Down Merge from Parent"
         }
      ],
      "variablesets":[

      ]
   },
}

Edit 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 UI 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 for more details.

Examples of Ingredients that can power Kitchen Wizard substeps.

Examples of Ingredients that can power Kitchen Wizard substeps.

Kitchen Wizard Configuration

Contact support@datakitchen.io with implementation questions.

Merge & Deploy

The Recipe copies contained within any given Kitchen are subject to version control and a Kitchen-level audit trail. Each Kitchen is associated with an underlying git branch, with the Kitchen hierarchy reflecting the branch structure of the git repository.

The deployment of Recipe code is thus analogous to a git merge, which can be accomplished via DataKitchen's command line tool or via the UI Kitchen Wizard. Both options provide 3 pane diff views in the event merge conflicts need be adjudicated.

Merging Best Practice

Always perform pull-down merges before merging/deploying upwards.

Pull-Down Merges

Pull-down 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 thus 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 thus merge down from the master Kitchen, but not up into it.

Updated 6 months 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.