Jump to: navigation, search


Organization of Chef Cookbooks

For Chef development we are using Berkshelf to manage our cookbooks. Since we are using Berkshelf our cookbooks are located in separate individual repositories, located here: cloudkeep-ops.

There are four main cookbooks to deploy the Barbican application:

  • Chef Barbican - Includes recipes for deploying Barbican Worker and API nodes
  • Barbican Postgres - Wrapper cookbook for configuring Postgresql in a Barbican cluster
  • Barbican RabbitMQ - Wrapper cookbook for configuring RabbitMQ in a Barbican cluster

The cookbooks have been designed that they can be deployed with or without a Chef server.

Instructions for deploying individual cookbooks can be found on each of the respective Read Me docs.

Search Discovery

Each cookbook implements a search discovery pattern for Chef server search.

The search discovery is a pattern can be detailed as:

  • The use of search discovery is optional
  • Allows the user to override the search query used via a node attribute
  • Allow the user to specify what node attribute contains the IPv4 address of discovered nodes
  • Chef searches are contained inside an individual recipe named search_discovery.rb
  • The results of the search discovery recipe are stored in node attributes