Categories: None [Edit]
chef_data_region
# Chef Data Region
## Description
Chef Data Region extends the `Chef::DSL::DataQuery` module's
`data_bag_item` method with the ability to dynamically expand the data
bag name in a configurable, environment-specific manner.
## Motivation
This gem exists to address the following scenario:
An organization maintains data in Chef data bag items. The data is
deployed to several data center environments and is stored in data
bags whose names reference the environments. The organization wants to
write environment-agnostic recipes that access the data bags without
explicitly referencing the data bags by their environment names.
As a concrete example, imagine the organization maintains encrypted
data for three deployment environments: development, staging, and
production. It maintains this data in three data bags, one for each
environment, with data for services named `gadget` and `widget` in
items:
| Environment | Bag | Item |
|-------------+----------------+--------|
| Development | secure-dev | gadget |
| Development | secure-dev | widget |
| Production | secure-prod | gadget |
| Production | secure-prod | widget |
| Staging | secure-staging | gadget |
| Staging | secure-staging | widget |
The items are encrypted with a key unique to that environment to
maximize security.
Now consider how a recipe would access these bags. When then recipe is
running, it needs to know the data center environment in order to
construct the bag name. The organization would most likely assign the
enviroment name to a node attribute. In a naive implementation, each
recipe would include logic that examined the attribute's value to
determine which bag to load. This would obviously duplicate code.
Imagine instead that the organization wants to reference the bag by
the name `secure` and rely on an _abstraction_ to translate `secure`
into the environment-specific bag name.
This gem provides that abstraction.
## Features
This gem overrides the `data_bag_item` method w...
Total
Ranking: 97,502 of 183,748
Downloads: 7,636
Daily
Ranking: 77,363 of 183,729
Downloads: 5
Downloads Trends
Ranking Trends
Num of Versions Trends
Popular Versions (Major)
Popular Versions (Major.Minor)
Depended by
Rank | Downloads | Name |
---|
Owners
# | Gravatar | Handle |
---|---|---|
1 | maniaphobic |