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


golang (48) Versions 5.3.0

Installs go programming language

cookbook 'golang', '= 5.3.0', :supermarket
cookbook 'golang', '= 5.3.0'
knife supermarket install golang
knife supermarket download golang
Quality 100%

Golang (Go) Cookbook

Cookbook Version
CI State


Chef cookbook for the Go programming language.



  • Ubuntu >= 18.04
  • Debian >= 8
  • CentOS >= 7



Include golang in your node's run_list:

  "run_list": [


To install Go packages using node attributes add the packages to the ['golang']['packages'] attribute:

  "golang": {
    "packages": [
  "run_list": [


This project exists thanks to all the people who contribute.


Thank you to all our backers!


Support this project by becoming a sponsor. Your logo will show up here with a link to your website.

Dependent cookbooks

ark >= 6.0

Contingent cookbooks

bitcoin Applicable Versions
bosun Applicable Versions
carbon-relay-ng Applicable Versions
consul Applicable Versions
consul-haproxy Applicable Versions
consul-template Applicable Versions
decred Applicable Versions
docker Applicable Versions
doozer Applicable Versions
elk_forwarder Applicable Versions
elkstack Applicable Versions
gliderlabs_registrator Applicable Versions
goiardi Applicable Versions
google_auth_proxy Applicable Versions
hashicorp-vault Applicable Versions
kronia Applicable Versions
letsencrypt-boulder-server Applicable Versions
lxd Applicable Versions
netdevops Applicable Versions
prometheus Applicable Versions
runc Applicable Versions
sbp_packer Applicable Versions
scollector Applicable Versions
signalfx Applicable Versions
simple_consul_alerts Applicable Versions
snap Applicable Versions
statsdaemon Applicable Versions
statsdaemon-bitly Applicable Versions
statsdaemon-vimeo Applicable Versions
vim-go Applicable Versions
vulcand Applicable Versions

CHANGELOG for golang

This file is used to list changes made in each version of golang.

5.3.0 - 2021-07-15

  • Fix unified_mode declaration
  • Bump ark dependency to one with unified_mode set

5.2.0 - 2021-06-04

  • Update example package to adhere with modern Go standards

5.1.0 - 2021-06-03

  • Fix resource to use the correct path in GOPATH profile.d template

5.0.1 - 2021-06-01

5.0.0 - 2021-05-21

  • Require chef 15.3 or greater
  • Use unified_mode for chef 17 support

4.1.1 - 2021-02-03

  • Use node['golang']['scm'] and node['golang']['scm_packages'] attributes in default recipe.


  • Create a custom resource to install Go from source or by downloading a package


  • Update testing setup:
    • Use Chef Workstation instead of Rubygems
    • Includes dropping foodcritic in favor of current cookstyle
    • Add more recent & current distro versions
    • Add very basic unit tests
    • Use GitHub Actions instead of Travis CI
  • Refactor minitest to Inspec
  • Refactor to use current style of Chef Custom Resource
  • Update default version to Go v1.14.4
  • Use build_essential when building from source
    • Requires Chef >= 14.0.0
  • Omit attempting to install bzr on CentOS 8, they do not have that package available
  • Utilize default Chef order-of-operations instead of notifies
  • Use ark resource to simplify download & installation of binary & source
  • Clean up unnecessary env vars from source build
  • Build from source per official Go docs
  • Use native resources instead of shell commands when building from source
  • Set $PATH in so that the existing values are last, per general practice
  • Tighten up golang_package so it does not perform actions at compile time, it uses execute in favor of bash resources, and in general is more Chef-y
  • Update tests to validate that non-root users can install Go and Go packages
  • Refactor attributes to add ability to install a version from source that differs from the packaged version (which is needed to build from source)


  • rename to chef-golang so that metadata name matches repositoriy name


  • change attribute namespace to node['golang']


  • Better chef12,13 support
  • Ruby 2.3
  • Update gems, lint


  • Create a temporary directory


  • Golang 1.5


  • Ability to install from source


  • Removed support for Ruby 1.9.3


  • Fix testing with Vagrant, Test-Kitchen
  • Golang 1.4


  • Golang 1.3


  • Add build action to LWRP
  • Update default go version to 1.2.2
  • Add autodetection the platform architecture
  • Change package location to




  • Added package LWRP
  • Configurable gopath & gobin


  • Lets users easily specify another install dir


  • Avoid extra unpacked copy of Go


  • Initial release of golang

Collaborator Number Metric

5.3.0 passed this metric

Contributing File Metric

5.3.0 passed this metric

Foodcritic Metric

5.3.0 passed this metric

No Binaries Metric

5.3.0 passed this metric

Testing File Metric

5.3.0 passed this metric

Version Tag Metric

5.3.0 passed this metric