Every Kitchen is defined in part by a Kitchen Staff, which dictates the specific users that may enter the Kitchen to perform specific operations.
From the Kitchens List page, click the wrench icon adjacent to a Kitchen name to edit its Kitchen Staff.
From within a Kitchen (note the green bar above) on the Recipe List page, click the wrench icon adjacent to the Kitchen name at top left to configure the Kitchen Staff for a Kitchen.
Access may be granted to all users or to a specific subset.
The Kitchen Staff configuration is stored outside of a Kitchen's underlying git branch. As a result, Recipes may be merged across Kitchens without impacting the Kitchen Staffs of the Source and Target Kitchens involved with a merge or Deployment. In other words, Recipes are portable across Kitchens, and indeed, release environments.
Kitchens are closed to users who do not hold Kitchen Staff rights.
If a user is not a member of a Kitchen Staff, that Kitchen is closed to her, and she cannot grant herself Kitchen Staff membership.
~ $ dk kitchen-list Current context is: default YYYY-MM-DD HH:MM:SS - Getting the list of kitchens kitchen-list returned 11 kitchens +---- master (closed) +---- demo_production (closed) +---- demo_dev +---- demo_dev_priya +---- demo_dev_veric (closed) +---- marketing_production (closed) +---- marketing_dev +---- template_production (closed) +---- template_dev +---- template_dev_priya +---- template_dev_veric
~ $ dk recipe-list --kitchen master Current context is: default YYYY-MM-DD HH:MM:SS - Getting the list of Recipes for Kitchen 'master' Error: Could not get the requested data. Insufficient Permission to Access kitchen 'master'.
Users may merge Recipes from a Source to Target Kitchen either via the DataKitchen UI or command line tool. When the Source and Target Kitchens are pointed at different release environments, the merge is known as a Deployment.
All merges, including Deployments, are blocked if the user executing the merge is not a member of the Target Kitchen's Staff.
~ $ dk kitchen-merge-preview --source_kitchen demo_dev --target_kitchen demo_production Current context is: default The root path for your kitchens was not found, skipping local checks. YYYY-MM-DD HH:MM:SS - Previewing merge Kitchen demo_dev into Kitchen demo_production Error: DKCloudCommandRunner Error. Could not get the requested data. Insufficient Permission to Access kitchen 'demo_production'.
Protected Merges may be Available via the Opposite Direction
If a user does not hold membership in the Source Kitchen's Staff but is a member of the Target Kitchen's Staff, they can execute a merge.
For example, a user may have no rights or access to a Kitchen pointed at a Production Release Environment, so they cannot Deploy from a Kitchen pointed at a Development Release Environment to the Production-associated Kitchen. Still, they can merge changes downward from Production to their Development-associated Kitchen when needed.
As discussed, without Kitchen Staff membership, users may not enter Kitchens via the UI, edit the Kitchen's Staff, or merge/deploy changes to the Kitchen. Kitchen Staff membership also provides users the ability to:
Updated 7 months ago