Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

RSS

chef_server_omnibus (3) Versions 0.1.0

Installs/Configures Chef Server

Berkshelf/Librarian
Policyfile
Knife
cookbook 'chef_server_omnibus', '= 0.1.0'
cookbook 'chef_server_omnibus', '= 0.1.0', :supermarket
knife cookbook site install chef_server_omnibus
knife cookbook site download chef_server_omnibus
README
Dependencies
Quality 0%

Description

A simple cookbook for installing and configuring Chef Server, including Chef Server Enterprise add-ons.

Getting Started

Include the default recipe to install chef-server-core and render the /etc/opscode/chef-server.rb configuration file. By default, api_fqdn and topology are set.

Configuration directives in the chef-server.rb Settings documentation under Recommended Settings each have specific node attributes. For example api_fqdn is node.default['chef_server_omnibus']['api_fqdn'] = 'chef.example.com'.

For each additional configuration key there is a configuration hash in this cookbook. For example, to set bookshelf['vip'] use node.default['chef_server_omnibus']['config']['bookshelf']['vip'] = '127.0.0.1'. Similarly, to set nginx['ssl_ciphers'] use node.default['chef_server_omnibus']['config']['nginx']['ssl_ciphers'] = 'TLSv1.2'.

See chef-server.rb Settings documentation for more information.

Requirements

Platform:

No platforms defined

Cookbooks:

  • chef-server-ingredient (~> 0.3)

Attributes

  • node['chef_server_omnibus']['config_dir'] - The configuration directory. Defaults to /etc/opscode.
  • node['chef_server_omnibus']['ctl_path'] - The path to chef-server-ctl. Defaults to /opt/opscode/bin/chef-server-ctl.
  • node['chef_server_omnibus']['api_fqdn'] - The API FQDN of the Chef Server. Value should be equal to the FQDN for the service URI used by the Chef server. Defaults to node['fqdn'].
  • node['chef_server_omnibus']['topology'] - The topology of the Chef Server. Defaults to standalone.
  • node['chef_server_omnibus']['bootstrap'] - If true, bootstrap the Chef Server. Defaults to nil.
  • node['chef_server_omnibus']['ip_version'] - Use to set the IP version: ipv4 or ipv6. Defaults to nil.
  • node['chef_server_omnibus']['notification_email'] - Email address for notification emails. Defaults to nil.
  • node['chef_server_omnibus']['config'] - Configuration hash. The hash key within config should match the chef-server.rb configuration key. For example, if the chef-server.rb configuration key is bookshelf['vip'] = '127.0.0.1', the cookbook attribute would be node['chef_server_omnibus']['config']['bookshelf']['vip'] = '127.0.0.1'. See chef-server.rb Settings documentation for more information. Defaults to { ... }.

Recipes

  • chef_server_omnibus::default

Things this cookbook doesn't do:

  • Manage a firewall
  • Manage secrets (database passwords, SSL keys/certs, etc)
  • Orchestrate Chef Server cluster provisioning.

Why not?

This is a library/application cookbook. It's sole purpose is installation and configuration of Chef Server. The goal is to be forward compatible with future versions of Chef Server and avoid assumptions about how users like to use Chef. Therefore, it does not validate whether configuration hash values are valid, it does not require any data bags, manage secrets, install SSL certificates, or anything else of that nature. This leaves users free to wrap the cookbook and add those bits that work for their environment.

For an example of how to orchestrate Chef Server cluster provisioning, see Chef's Chef Server Cluster cookbook.

Roadmap

  1. Manage installation and configuration of Chef Server add-ons (Manage UI, etc).

Testing

Code Style

To run style tests (Rubocop and Foodcritic): rake style

If you want to run either Rubocop or Foodcritic separately, specify the style test type (Rubocop = ruby, Foodcritic = chef) rake style:chef or rake style:ruby

RSpec tests

Run RSpec unit tests rake spec

Test Kitchen

Run Test Kitchen tests (these tests take quite a bit of time) rake integration:vagrant

License and Maintainer

Maintainer:: Drew Blessing (cookbooks@blessing.io)

License:: Apache 2.0

Dependent cookbooks

chef-server-ingredient ~> 0.3

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

Foodcritic Metric
            

0.1.0 failed this metric

FC031: Cookbook without metadata file: /tmp/cook/5731d7896a7c02eb27a01971/chef_server_omnibus/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/5731d7896a7c02eb27a01971/chef_server_omnibus/metadata.rb:1