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


zipkin (4) Versions 0.1.0

Installs and configures Zipkin, a distributed tracing system.

cookbook 'zipkin', '= 0.1.0'
cookbook 'zipkin', '= 0.1.0', :supermarket
knife supermarket install zipkin
knife supermarket download zipkin
Quality 100%

chef-zipkin Cookbook

This cookbook installs and configures the Zipkin distributed tracing system. There are recipes provided for each of the three components: collector, query, and web.

Currently, the cookbook only supports installation from a source code checkout using the provided Gradle wrappers. At this time the cookbook doesn't support installing from networked package managers (like Apt or Yum) since Zipkin doesn't provide package repositories.


Chef 11+


This cookbook uses Test Kitchen to do cross-platform convergence and post-convergence tests. The tested platforms are considered supported. This cookbook may work on other platforms or platform versions with or without modification.

  • Ubuntu 12.04, 14.04


  • java (Note that Zipkin requires Java 7+)


Attributes have default values set in attributes/default.rb. Attributes for individual Zipkin components default to nil, meaning that they fall back to the defaults used by the Zipkin code.

General attributes:

  • node['zipkin']['config_key']: Determines where the data is stored, one of: dev, cassandra, mysql. Defaults to dev.
  • node['zipkin']['install_dir']: Where to install the application. Defaults to /opt/zipkin.
  • node['zipkin']['install_method']: Installation method. Defaults to source as that is the only supported method currently.
  • node['zipkin']['user']: User to run the daemon as. Defaults to zipkin.
  • node['zipkin']['phantomjs_cdn_url']: Use an alternative PhantomJS CDN to download from. This is provided as Bitbucket is the default and has been known to heavily throttle the downloads, breaking installation. nodes to nil

Source installation configuration:

  • node['zipkin']['source']['repo']: Repository to build from. Defaults to
  • node['zipkin']['source']['ref']: Git ref to build from. Defaults to master.

Collector configuration:

  • node['zipkin']['collector']['admin_port'] = nil
  • node['zipkin']['collector']['log_level'] = nil
  • node['zipkin']['collector']['port'] = nil
  • node['zipkin']['collector']['sample_rate'] = nil
  • node['zipkin']['collector']['cassandra']['contact_points'] = nil
  • node['zipkin']['collector']['cassandra']['ensure_schema'] = nil
  • node['zipkin']['collector']['cassandra']['local_dc'] = nil
  • node['zipkin']['collector']['cassandra']['max_connections'] = nil
  • node['zipkin']['collector']['cassandra']['password'] = nil
  • node['zipkin']['collector']['cassandra']['username'] = nil
  • node['zipkin']['collector']['kafka']['group_id'] = nil
  • node['zipkin']['collector']['kafka']['streams'] = nil
  • node['zipkin']['collector']['kafka']['topic'] = nil
  • node['zipkin']['collector']['kafka']['zookeeper'] = nil
  • node['zipkin']['collector']['mysql']['db'] = nil
  • node['zipkin']['collector']['mysql']['host'] = nil
  • node['zipkin']['collector']['mysql']['max_connections'] = nil
  • node['zipkin']['collector']['mysql']['pass'] = nil
  • node['zipkin']['collector']['mysql']['tcp_port'] = nil
  • node['zipkin']['collector']['mysql']['use_ssl'] = nil
  • node['zipkin']['collector']['mysql']['user'] = nil

Query configuration:

  • node['zipkin']['query']['admin_port'] = nil
  • node['zipkin']['query']['log_level'] = nil
  • node['zipkin']['query']['port'] = nil
  • node['zipkin']['query']['cassandra']['contact_points'] = nil
  • node['zipkin']['query']['cassandra']['ensure_schema'] = nil
  • node['zipkin']['query']['cassandra']['local_dc'] = nil
  • node['zipkin']['query']['cassandra']['max_connections'] = nil
  • node['zipkin']['query']['cassandra']['password'] = nil
  • node['zipkin']['query']['cassandra']['username'] = nil
  • node['zipkin']['query']['mysql']['db'] = nil
  • node['zipkin']['query']['mysql']['host'] = nil
  • node['zipkin']['query']['mysql']['max_connections'] = nil
  • node['zipkin']['query']['mysql']['pass'] = nil
  • node['zipkin']['query']['mysql']['tcp_port'] = nil
  • node['zipkin']['query']['mysql']['use_ssl'] = nil
  • node['zipkin']['query']['mysql']['user'] = nil

Web configuration:

  • node['zipkin']['web']['log_level'] = nil
  • node['zipkin']['web']['scribe']['host'] = nil
  • node['zipkin']['web']['scribe']['port'] = nil
  • node['zipkin']['web']['transport_type'] = nil
  • node['zipkin']['web']['query']['dest'] = nil



The default recipe installs Java via the java cookbook and will then install Zipkin by including the appropriate installation recipe. As noted, only the source installation method is supported.


Checks out the code and builds all the components (collector, query, and web) via the ./gradlew script. This also installs the Upstart configs for these components. Note that the individual daemons are not started.


Includes the zipkin::default recipe and then enables and starts the zipkin-collector daemon.


Includes the zipkin::default recipe and then enables and starts the zipkin-query daemon.


Includes the zipkin::default recipe and then enables and starts the zipkin-web daemon.


Simple include the appropriate recipe dependingo on what component you wish to install:

  • zipkin::collector
  • zipkin::query
  • zipkin::web

License and Author

Author:: Rich Schumacher

Copyright:: 2016, Curalate, Inc.

Released under the MIT License.

Dependent cookbooks

java >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

Foodcritic Metric

0.1.0 passed this metric