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

Select Status

RSS

chef-server (28) Versions 3.1.1

Installs and configures Chef Server 12

Policyfile
Berkshelf
Knife
cookbook 'chef-server', '= 3.1.1', :supermarket
cookbook 'chef-server', '= 3.1.1'
knife supermarket install chef-server
knife supermarket download chef-server
README
Dependencies
Changelog
Quality 0%

chef-server README

This cookbook configures a system to be a standalone Chef Server. It
will install the appropriate platform-specific chef-server Omnibus
package from Package Cloud and perform the initial configuration.

It is not in the scope of this cookbook to handle more complex Chef
Server topologies like 'tiered' or 'ha'. Nor is it in the scope of
this cookbook to install and configure premium features or other
add-ons. For clustered Chef Server deployments, see
chef-server-cluster.
For primitives for installing chef-server-core or other Chef Server
add-ons, see
chef-server-ingredient.

It is also not in the scope of this cookbook to handle older versions
of Chef Server, such as 11 or 10. For Chef Server 11, see version
2.1.x of this cookbook on Supermarket, or the chef11 branch of this
repository.

Requirements

This cookbook is tested with Chef (client) 12. It may work with or
without modification on earlier versions of Chef, but Chef 12 is
recommended.

Cookbooks

  • chef-server-ingredient cookbook

Platform

This cookbook is tested on the following platforms using the
Test Kitchen .kitchen.yml in the repository.

  • RHEL/CentOS 5 64-bit
  • RHEL/CentOS 6 64-bit
  • Ubuntu 10.04, 10.10 64-bit
  • Ubuntu 11.04, 11.10 64-bit
  • Ubuntu 12.04, 12.10 64-bit

Unlisted platforms in the same family, of similar or equivalent
versions may work with or without modification to this cookbook. For a
list of supported platforms for Chef Server, see the
Chef documentation.

Attributes

The attributes used by this cookbook are under the chef-server name
space.

Attribute Description Type Default
api_fqdn Fully qualified domain name that you want to use

for accessing the Web UI and API. If set to nil or empty string
(""), the IP address will be used as hostname. | String |
node['fqdn']

configuration | Configuration values to pass down to the underlying
server config file (i.e. /etc/chef-server/chef-server.rb). | Hash |
Hash.new

version | Chef Server version to install. If nil, the
latest version is installed | String | nil

addons | Array of addon packages | Array | Array.new

Previous versions of this cookbook had several other attributes used
to control the version of the Chef Server package to install. This is
deprecated.

Recipes

This section describes the recipes in the cookbook and how to use them
in your environment.

default

This recipe:

  • Installs the appropriate platform-specific chef-server Omnibus package from our Package Cloud repository
  • Creates the initial /etc/chef-server/chef-server.rb file.
  • Performs initial system configuration via chef-server-ctl reconfigure.
  • Updates the /etc/hosts file with the api_fqdn if that FQDN cannot be resolved.

addons

Chef addons are premium features that can be installed on the Chef
Server with the
appropriate license. If
there are < 25 nodes managed, or a paid subscription license, addons
can be installed.

This recipe iterates through the node['chef-server']['addons']
attribute and installs and reconfigures all the packages listed.

Install Methods

Bootstrap Chef (server) with Chef (solo)

The easiest way to get a Chef Server up and running is to install
chef-solo (via the chef-client Omnibus packages) and bootstrap the
system using this cookbook:

# install chef-solo
curl -L https://www.chef.io/chef/install.sh | sudo bash
# create required bootstrap dirs/files
sudo mkdir -p /var/chef/cache /var/chef/cookbooks
# pull down this chef-server cookbook
wget -qO- https://supermarket.chef.io/cookbooks/chef-server/download | sudo tar xvzC /var/chef/cookbooks
# pull down dependency cookbooks
wget -qO- https://supermarket.chef.io/cookbooks/chef-server-ingredient/download | sudo tar xvzC /var/chef/cookbooks
wget -qO- https://supermarket.chef.io/cookbooks/packagecloud/download | sudo tar xvzC /var/chef/cookbooks
# GO GO GO!!!
sudo chef-solo -o 'recipe[chef-server::default]'

Be sure to download and untar the chef-server-ingredient and
packagecloud cookbooks. They're dependencies of this cookbook.

If you need more control over the final configuration of your Chef
Server instance you can create a JSON attributes file and set
underlying configuration via the
node['chef-server']['configuration'] attribute. See the
[attributes/default.rb](attributes/default.rb)

Then pass this file to the initial chef-solo command:

chef-solo -j /tmp/dna.json

Configuring Chef Server

You can read all about Chef Server's configuration options on the
Chef Documentation site.

Applying configuration changes

The chef-server-ctl command is the administrative interface to the
Chef Server. It has its own
documentation. Various
administrative functions provided by chef-server-ctl are not in the
scope of this cookbook. Special/customized needs should be managed in
your own cookbook.

License and Authors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and

Dependent cookbooks

chef-server-ingredient >= 0.0.0

Contingent cookbooks

boilerplate Applicable Versions
chef Applicable Versions
chef-server-populator Applicable Versions
chef-server-webapp Applicable Versions
chef-server-with-letsencrypt Applicable Versions
chefsrv Applicable Versions
managed-chef-server Applicable Versions
managed_chef_server Applicable Versions

chef-server cookbook README

v3.1.1 (2015-04-09)

  • various cleanup
  • rubocop -a
  • adding .kitchen.cloud.yml
  • minor readability refactoring

v3.1.0 (2015-03-16)

  • Add a recipe and attribute to support installing addons. These are Chef premium features, see the README for more information about the addons recipe.

v3.0.1 (2015-03-02)

  • Issue #74, use :reconfigure action instead of notification so other configuration can happen after the Server is up within the same Chef run.

v3.0.0 (2015-02-24)

Major Version Update

Version 3.0.0 supports Chef Server 12. For background and rationale, see the mailing list post. Changes are from commit 0f2d123.

  • Remove the omnitruck API client library and related attributes
  • Use packagecloud repository for packages through the chef_server_ingredient resource
  • Remove the dev recipe
  • Remove the dependency on the git cookbook
  • Remove the Vagrantfile - we use test-kitchen now
  • Update the Berksfile accordingly
  • Add ServerSpec tests

Other changes

  • Fixes #46/COOK-4691, use IP address as hostname. This is only recommended for testing purposes.

v2.1.6 (2014-05-22)

  • COOK-4660 - Adds a OS version and image updates to the testing harness

v2.1.4 (2014-03-29)

  • Dropping dependency on git

v2.1.2 (2014-03-18)

  • [COOK-4386] - 'package_options' attribute added

v2.1.0 (2014-02-24)

  • Updating test harness, adding amazon support to omnitruck library
  • '[COOK-4176] - Ensure creation of :file_cache_path'
  • '[COOK-4178] - update Bento boxes used in chef-server cookbook'

v2.0.1

Documentation update to reflect Vagrant version dependency

v2.0.0

  • Complete re-write for Chef Server 11+. Chef Server is now installed using "fat" Omnibus package.

v1.1.0

  • [COOK-1637] - Directory creation in chef-server should be recursive
  • [COOK-1638] - chef-server: Minor foodcritic fixups needed
  • [COOK-1643] - Chef Server Cookbook Missing Erlang in Metadata Depends
  • [COOK-1767] - use platform_family in chef-server cookbook

v1.0.0

  • [COOK-801] - add amazon linux
  • [COOK-886] - use bin path consistently
  • [COOK-1034] - expander bluepill doesn't have default value for node count

v0.99.12

  • [COOK-757] - compact all the views
  • [COOK-969] - server_name and server_aliases as configurable attributes on chef_server::nginx-proxy and chef_server::apache-proxy

Foodcritic Metric
            

3.1.1 failed this metric

FC031: Cookbook without metadata file: /tmp/cook/3935f454d3dbb561ed4c82da/chef-server/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/3935f454d3dbb561ed4c82da/chef-server/metadata.rb:1