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


asdf (15) Versions 0.3.0

Installs and configures asdf

cookbook 'asdf', '= 0.3.0', :supermarket
cookbook 'asdf', '= 0.3.0'
knife supermarket install asdf
knife supermarket download asdf
Quality 67%

asdf Cookbook

Cookbook Version Build Status

Manages asdf extendable version manager.



This cookbook requires Chef 12.9+.


The following platforms are supported and tested with Test Kitchen:

  • CentOS 7
  • Debian 8
  • Debian 9
  • Fedora 27
  • Fedora 28
  • Ubuntu 14.04
  • Ubuntu 16.04
  • Ubuntu 18.04

Other Debian and RHEL family distributions are assumed to work.


  • build-essential


Place a dependency on the asdf cookbook in your cookbook's metadata.rb

depends 'asdf'

Examples are provided in test/cookbooks/test/recipes.

A asdf_user_install is required so that asdf is installed. See Resources below.


For more details look at the [](./



Installs asdf to the user path, making asdf only available to that user.

asdf_user_install 'user' do
  git_url                   # Optional
  git_ref                   # Optional
  update_asdf               # Optional
  legacy_version_file       # Optional


This resource has the following actions:

  • :install Default. Install asdf.


This resource has the following properties:

  • git_url The git url to checkout asdf from. Defaults to
  • git_ref The git reference to checkout. Defaults to nil.
  • update_asdf Whether or not to keep the git repo up to date. Defaults to true.
  • legacy_version_file Whether or not to use legacy version files, i.e. .ruby-version. Defaults to false.


Installs, updates or removes an asdf plugin.

asdf_plugin 'plugin' do
  user                      # Required
  git_url                   # Optional
  live_stream               # Optional


This resource has the following actions:

  • :add Default. Add plugin.
  • :update Update plugin.
  • :remove Remove plugin.


  • user The user to run asdf as.
  • git_url The git url to checkout plugin from. Defaults to the asdf plugin repo.
  • live_stream Whether or not to output verbose stream. Defaults to false.


Installs, uninstalls and sets global an asdf package. See Package

asdf_package 'package' do
  user                      # Required
  version                   # Required
  live_stream               # Optional


This resource has the following actions:

  • :install Default. Install package.
  • :global Set package global.
  • :uninstall Uninstall package.


  • user The user to run asdf as.
  • version The package version.
  • live_stream Whether or not to output verbose stream. Defaults to false.


Runs an asdf aware script.

asdf_script 'foo' do
  user                      # Required
  code                      # Required
  path                      # Optional
  environment               # Optional
  returns                   # Optional
  live_stream               # Optional


This resource has the following actions:

  • :run Default. Run a script.


  • user The user to run asdf as.
  • code The script code to run.
  • path Additional path to include in environment path.
  • environment Environment variables to run script. Defaults to {}.
  • returns Expected return code. Defaults to 0.
  • live_stream Whether or not to output verbose stream. Defaults to false.

Package Dependencies

Although this cookbook is slowly but surely trying to make sure that
dependencies are installed for each package on all supported operating systems,
you may still need to add dependencies that have not been pre-installed for a
particular package. If you do indeed get a package installed with dependencies
that have not yet been pre-installed via this cookbook, please open up a pull
request for review to be added.


This cookbook is based off of the ruby_rbenv cookbook.


Copyright:: Fernando Aleman

Dependent cookbooks

build-essential >= 0.0.0
chef-sugar >= 0.0.0
ark >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

Change Log

v0.3.0 (2018-10-19)
* 029a87eb90 - Package dependencies (Fernando Aleman)
* 20e2a26a69 - Add support for Debian 8 & 9 (Fernando Aleman)
* 43017dea07 - Add support for Fedora 27 & 28 (Fernando Aleman)
* c166bc66ba - Add implied support for redhat, scientific and oracle linux (Fernando Aleman)
* ea6fa1e826 - Add support for CentOS 7 (Fernando Aleman)
* cd4179e6fa - Restructure tests in order to test packages separately (Fernando Aleman)

v0.2.1 (2018-10-16)

  • 15d9c71206 - Merge pull request #2 from blimmer/patch-1 (Fernando Aleman)
  • 6563c4e669 - Correct asdf_package action typo. (Ben Limmer)
  • 02798d9323 - Fix rubocop offense on if modifier (Fernando Aleman)
  • ade79342ff - Fix test vagrant user shell (Fernando Aleman)
  • 3c2f7e8174 - Add chef-sugar cookbook (Fernando Aleman)
  • 876460d4d8 - Update kitchen config files (Fernando Aleman)
  • d53d5c11b4 - Fix building older versions of ruby on Ubuntu 18.04 (Fernando Aleman)
  • c7585a0c83 - Add Travis CI Ubuntu 18.04 matrix (Fernando Aleman)

v0.2.0 (2018-10-13)

  • e28e7a1fdb - Support Ubuntu 18.04 (Fernando Aleman)
  • 960931d222 - Update test package versions (Fernando Aleman)

v0.1.4 (2018-10-13)

  • d483df9822 - Fix CHANGELOG (Fernando Aleman)
  • 8971f8cbb8 - Fix chef inspec tests (Fernando Aleman)
  • 659536796c - Fix gpg keys for nodejs (Fernando Aleman)
  • b5a4e17c13 - Fix rubocop Style/TrailingCommaInLiteral error (Fernando Aleman)
  • 54fa3f344d - Refactor spec supported platforms (Fernando Aleman)
  • e1db9cd123 - Remove apt cookbook dependency (Fernando Aleman)
  • 551302bd6b - Add build-essential cookbook (Fernando Aleman)
  • 648bbd4963 - Replace apt_package with package (Fernando Aleman)
  • 287727f3c8 - Update user_install to install latest version of asdf if not specified (Fernando Aleman)

v0.1.3 (2017-12-11)

  • fa12b511b6 - Fix bison for php installs (Fernando Aleman)

v0.1.2 (2017-10-29)

  • ba91976dc4 - Fix bug with node.run_state asdf_path (Fernando Aleman)

v0.1.1 (2017-10-25)

  • 856c69fc19 - Add cookbook version tag (Fernando Aleman)
  • 292cb8d6fb - Add file (Fernando Aleman)
  • ca891e7f5f - Check if asdf is already installed (Fernando Aleman)

v0.1.0 (2017-10-19)

  • 117e555683 - Create asdf_package resource (Fernando Aleman)
  • b0a6144acb - Create asdf_plugin resource (Fernando Aleman)
  • a49799c253 - Create asdf_script resource (Fernando Aleman)
  • 71dc5bf619 - Create asdf_user_install resource (Fernando Aleman)
  • c765897f31 - Initial commit (Fernando Aleman)

Collaborator Number Metric

0.3.0 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric

0.3.0 passed this metric

Foodcritic Metric

0.3.0 failed this metric

FC122: Use the build_essential resource instead of the recipe: asdf/libraries/chef_asdf_package_helpers.rb:24
Run with Foodcritic Version 14.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric

0.3.0 passed this metric

Testing File Metric

0.3.0 passed this metric

Version Tag Metric

0.3.0 passed this metric