Book Image

Configuration Management with Chef-Solo

By : Naveed ur Rahman
Book Image

Configuration Management with Chef-Solo

By: Naveed ur Rahman

Overview of this book

Table of Contents (13 chapters)

Data bags


A data bag is a global variable that is stored in JSON and can be accessed by Chef. It is indexed for searching and loaded by chef-client while executing the recipe.

We can use data bags directly in a JSON file or create them using Knife Solo. First, we will use a simpler approach, that is, updating the password with a JSON file.

Before we proceed further, we will create a JSON file under the same folder of Vagrantfile and use this file to run recipes. The benefit of this approach is that Chef-Solo requires a JSON file to execute recipes, and we can test our JSON file with Vagrant. The steps are as follows:

  1. Create your file in the same folder where Vagrantfile exists:

    # wpblog.json
    {
        "wpblog":{
            "db_password": "dbpass1234"
       },
       "run_list": [
            "recipe[wpblog::default]"
        ]
    }
  2. Comment on the add_recipe line in Vagrantfile and add the following code block in Vagrantfile:

    chef.json.merge!(JSON.parse(File.read("wpblog.json")))

    Now, Vagrantfile will look like the following...