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


dcos (20) Versions 1.2.1

Installs/Configures Mesosphere DC/OS

cookbook 'dcos', '= 1.2.1', :supermarket
cookbook 'dcos', '= 1.2.1'
knife supermarket install dcos
knife supermarket download dcos
Quality 71%

Build Status


Manage deployment and configuration of underlying Mesosphere DC/OS installation. This cookbook supports both DC/OS
OSS installations (default) and DC/OS Enterprise.


Only Red Hat or CentOS 7.x are currently supported.


The behavior of this cookbook is managed by attributes documented in the [attributes file](attributes/default.rb).
The node['dcos']['dcos_role'] attribute controls the DC/OS role to apply to the node (default is master). The
node['dcos']['config']['master_list'] must be set when node['dcos']['config']['master_discovery'] is set to
static to specify the list of DC/OS master node IPv4 addresses to connect at startup (this must be an odd number
of masters and cannot be changed, later).

This cookbook uses the stable channel, by default. Setting node['dcos']['dcos_version'] to earlyaccess will
install the latest EarlyAccess version of DC/OS OSS. Enterprise support can be enabled by setting
node['dcos']['dcos_enterprise'] to true and providing a license key in node['dcos']['dcos_license_text']
via whichever manner you prefer.


You can create a Chef Role and apply it to nodes as necessary to specify master, slave and slave_public, as
appropriate. Any additional configuration should be set as override attributes in an Environment to ensure that
all nodes receive those global settings.

Example Role dcos_master.rb

name "dcos_master"
description "DC/OS master role"
run_list "recipe[dcos]"
default_attributes "dcos" => {
    "dcos_role" => "master",
    "config" => {
        "master_list" => [ "" ]

Example Role dcos_slave.rb

name "dcos_slave"
description "DC/OS slave role"
run_list "recipe[dcos]"
default_attributes "dcos" => {
    "dcos_role" => "slave",
    "config" => {
        "master_list" => [ "" ]



Installs the prerequisites for the Mesosphere DC/OS installation, including packages, and groups.
Docker with OverlayFS is installed and enabled if node['dcos']['manage_docker'] is set to true,
which is the default. Next, the recipe downloads and runs the installation package with the
settings configured by the attributes under node['dcos']['config'].



Defines a DC/OS user.

Example dcos_user

dcos_user '' do
  email ''

It's possible Zookeeper is not up and running at the time you attempt to
provision a DC/OS user. If that is the case, you should add an
ignore_failure set to true in the used declaration:

Example dcos_user with ignore_failure

dcos_user '' do
  ignore_failure true
  email ''



There is basic coverage for the default recipe.


There is basic functional testing of the DC/OS OSS setup for a single master node.

Test Kitchen

The included [.kitchen.yml](.kitchen.yml) runs the default master deployment in a generic fashion.
The included [.kitchen.local.yml.example](.kitchen.local.yml.example) shows alternate settings for
running multi-master with slaves on GCE (you will have to rename and update accordingly).

License and Author

Author:: Matt Ray (

Copyright 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.

Dependent cookbooks

chef-yum-docker ~> 3.0
docker ~> 2.0
selinux ~> 1.0.4

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

Change Log


Full Changelog

Merged pull requests:


Full Changelog

Merged pull requests:


Full Changelog

Merged pull requests:

  • Support latest DC/OS 1.9 and 1.10 versions #9 (wolf31o2)

v1.0.0 (2017-11-13)

Full Changelog

Merged pull requests:

  • Support multiple versions of DC/OS #8 (wolf31o2)

v0.3.1 (2017-08-21)

Full Changelog

Closed issues:

  • Add option for Stable release #5

Merged pull requests:

  • Update cookbook to modern standards #7 (wolf31o2)

v0.3.0 (2017-04-13)

Full Changelog

Merged pull requests:

  • Added earlyaccess flip #6 (jjasghar)
  • Correction to Attribute Value for Public Slave #4 (jparten)

0.2.0 (2016-05-10)

Full Changelog

Merged pull requests:

  • Updates source URL for the to match docs #3 (mattray)

0.1 (2016-04-19)

Merged pull requests:

* This Change Log was automatically generated by github_changelog_generator

Collaborator Number Metric

1.2.1 passed this metric

Contributing File Metric

1.2.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Foodcritic Metric

1.2.1 passed this metric

License Metric

1.2.1 passed this metric

No Binaries Metric

1.2.1 passed this metric

Testing File Metric

1.2.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Version Tag Metric

1.2.1 passed this metric