Project
Reverse Dependencies for rubocop
The projects listed here declare rubocop as a runtime or development dependency
0.0
A small collection of Chef hacks and workarounds.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Activity
0.0
# 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 with configurable logic
that dynamically decides which bag to load. It retains API
compatibility with `Chef::DSL::DataQuery#data_bag_item`, so existing
recipes that call `data_bag_item` work without modification.
The gem imposes no constraints on data bag item structure.
## Configuration
Assign the region name to a node attribute that varies by environment:
node.default['local'][region'] = 'staging'
Add the following configuration to Chef Client's `client.rb` file.
* Require the gem:
require 'chef/data_region'
* Configure the gem with a hash that maps a bag name to an expansion
pattern:
Chef::DataRegion.add(
'secure',
{ attribute: %w(local region), pattern: 'secure-%<attribute>s' }
)
## Bag name expansion
The gem expands bag names using Ruby's `format` method.
_More pending..._
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Activity
0.0
Chef Monitoring tool to monitor all changes made
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Activity
0.0
Automatically delete chef node/client data on EC2
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
0.0
This Handler will report the events and metrics for a chef-client run to Datadog.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Activity
0.0
This Handler will collect logs from a chef-client run to LogDNA.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Activity
0.0
A super class and utility objects to create stand-alone instances of software.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Activity
0.0
A Chef Provisioning driver for VMware vRealize Automation (vRA)
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Activity
0.0
Provides a central repository of the most essential tasks
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Activity
0.0
Chef Options Provider for RunDeck with Extras
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
0.0
Search a Chef server via CLI or API given a role, name, or Chef environment
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
0.0
Automatically generate ChefSpec tests based on your recipes.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Activity
0.0
Chef Key/value stash cache hash objects store.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
0.0
A project to hold common Rake tasks for Chef Cookbooks.The name is attempting to deliver yet another cooking pun.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Activity
0.0
Chemlab Library for "The Internet"
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Activity
0.0
A simple chess move validator
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Activity
0.0
Opinionated Ruby client for the competitive What? Where? When? rating WebAPI (rating.chgk.info) that allows to work with data as with Ruby objects
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Activity
0.0
Chibineko result into RSpec
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Activity
0.0
Opinionated presentation layer comprised of presenters and formatters.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Activity
0.0
The Chimera http client offers an easy to learn interface and consistent error handling.
It is lightweight, fast and enables you to queue HTTP requests to run them in parallel
for better performance and simple aggregating of distributed data. Despite it's simple
interface it allows for advanced features like using custom deserializers, loggers,
caching requests individiually, and instrumentation support (soon to be implemented).
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
Activity