mbainter / supermarket-omnibus-cookbook

A cookbook for installing supermarket from Omnibus (deb, rpm) packages

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Build Status Cookbook Version

This cookbook installs the Chef Supermarket server using the omnibus-supermarket packages from
This cookbook also renders supermarket.json file which is used for managing configuration of Supermarket.

Umbrella Project: Supermarket



  • Ubuntu 14.04+
  • RHEL 6+


  • Chef 12.5+


  • chef-ingredient
  • hostsfile


Set the following attributes in the .kitchen.local.yml or via a wrapper cookbook. The values will be obtained from your oc-id server. For more information see: Getting Started with oc-id and Supermarket

default['supermarket_omnibus']['chef_server_url'] = ''
default['supermarket_omnibus']['chef_oauth2_app_id'] = '14dfcf186221781cff51eedd5ac1616'
default['supermarket_omnibus']['chef_oauth2_secret'] = 'a49402219627cfa6318d58b13e90aca'
default['supermarket_omnibus']['chef_oauth2_verify_ssl'] = false

If you wish to specify a package version, a channel, or a source, you can do that now. You can also specify a recipe to install from your own package repository.

default['supermarket_omnibus']['package_version'] = '1.2.3'

# install from Chef's `current` channel
default['supermarket_omnibus']['package_repo'] = 'current'

# OR, specify a Supermarket package explicitly from a location of your choosing
default['supermarket_omnibus']['package_url'] = ''

# specify a recipe to install from your own package repository
default['supermarket_omnibus']['custom_repo_recipe'] = 'my_cookbook::my_repo'

If you wish to specify additional settings, you can pass them via the default['supermarket_omnibus']['config'] attribute.
Example: for custom SSL certificates define the following config attributes:

default['supermarket_omnibus']['config']['ssl']['certificate'] = '/full/path/to/ssl.crt'
default['supermarket_omnibus']['config']['ssl']['certificate_key'] = '/full/path/to/ssl.key'

Above attributes, if defined in supermarket.rb directly, would look like this:

supermarket['ssl']['certificate'] = '/full/path/to/ssl.crt'
supermarket['ssl']['certificate_key'] = '/full/path/to/ssl.key'

The Collaborator Groups feature is enabled in this cookbook's attributes/default.rb.

⚠️ It's super important to be aware that supermarket.json always wins. Best practice is to modify your supermarket configuration via ['config'] setting in a wrapper cookbook.

To find out all supermarket config attributes you can override, see omnibus-supermarket. Translation of attributes from supermarket-omnibus-cookbook to attributes in omnibus-supermarket occurs in the supermarket_server resource provided by this cookbook which produces a JSON(/etc/supermarket/supermarket.json) that omnibus-supermarket reads. For example:

# an attribute you define via this supermarket-omnibus-cookbook
default['supermarket_omnibus']['config']['nginx']['log_rotation']['num_to_keep'] = 10

# becomes the following in omnibus-supermarket
default['supermarket']['nginx']['log_rotation']['num_to_keep'] = 10

License & Authors

Copyright:: 2015-2016, Chef Software, Inc

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

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.
ezoic increase your site revenue


A cookbook for installing supermarket from Omnibus (deb, rpm) packages

License:Apache License 2.0


Language:Ruby 100.0%