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


grafana (107) Versions 9.0.0

Installs/Configures Grafana Server

cookbook 'grafana', '= 9.0.0', :supermarket
cookbook 'grafana', '= 9.0.0'
knife supermarket install grafana
knife supermarket download grafana
Quality 100%

Grafana Cookbook

Cookbook Version
CI State


This cookbook provides a complete installation and configuration of Grafana. This includes the ability to manage dashboards, datasources, organizations, plugins and users with Chef via Custom Resources.


This cookbook is maintained by the Sous Chefs. The Sous Chefs are a community of Chef cookbook maintainers working together to maintain important cookbooks. If you’d like to know more please visit or come chat with us on the Chef Community Slack in #sous-chefs.


  • Chef Client 13+


This cookbook officially supports and is tested against the following platforms:

  • Ubuntu >= 16.04
  • Debian >= 8
  • CentOS/Redhat >= 6

PRs are welcome to add support for additional platforms.

Configuration Resource Features

We supply many different configuration resources, these all rely on the base config resource being called

For any LDAP the base config resource is: grafana_config_ldap
For any core configuration resources, the base config resource is: grafana_config

NOTE: Inorder to write the above configuration resources to the disk use grafana_config_writer at the end.


The default cookie name changed from Grafana 5.4.5 to 6.0.0. The name change was from grafana_sess to grafana_session. This cookbook now defaults to grafana_session. This can be a breaking change, so please be aware of this. Please see the grafana_cookie_name documentation for details


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.

CHANGELOG for grafana

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


  • Adds support for Ubuntu 20.04
  • resolved cookstyle error: resources/config_server.rb:25:59 refactor: ChefCorrectness/LazyEvalNodeAttributeDefaults
  • Removes support for Ubuntu 16.04
  • Removes support for centos 6
  • Removes support for amazonlinux 1
  • Improved stability in flakey tests using chef_sleep
  • Minimum chef version is now 15.5


  • Add in support for configuring rendering service


  • Fixes bug in dashboard library where request would return nil



  • Add in support for cookie_secure configuration option to security config.
  • Add in support for login_maximum_lifetime_days config option to set the cookie lifetime in days


  • Adding support for change to Grafana session cookie name. See README for details


  • Bugfix: fix the value types in the ldap.toml file
  • Add tests to make sure ldap.toml file is matching requirements


  • Bugfix: fix the value types in the ldap.toml file


  • Allow multiple LDAP mapping with the same group_dn



  • Bugfix for grafana_folder resource
  • Add organization support to grafana_folder
  • Migrate CI system to Github Actions

8.1.1 (2019-12-22)

  • Fix sensitive property of config_writer resource

8.1.0 (2019-11-26)

  • Generate Folder and folder permissions using Custom Resources


  • Changed ldap_config_servers host property from name property to required property
  • Changed ldap_config_group_mappings group_dn property from name_property to required property
  • Added instance_name to above resources as name property
  • Changed ldap config template from @grafana['ldap'] to @LDAP
  • Changed grafana_config
    • Property restart_on_upgrade now expects true or false
  • Changed grafana_config_database
    • Property type now expects a symbol
    • Property ssl_mode now expects a symbol or true/false
  • Changed grafana_config_remote_cache
    • Property remote_cache_type now expects a symbol
  • Changed grafana_config_server
    • Property protocol now expects a symbol
  • Changed grafana_config_session
    • Property session_provider now expects a symbol
  • Changed grafana_config_users

    • Property default_theme now expects a symbol
  • Removed the requirement to handle services outside of resources, config_writer now restarts when requested

  • Removed config directory from all config resource

  • Removed config file from all config resource

  • Removed cookbook from all config resource

  • Removed source from all config resource

  • Added resource called config_writer to output the config file

  • Added sensitive flag on config_writer

  • Added additional tests around grafana_user with proxy authentication

  • Added additional tests around all api resources under the configuration kitchen tests


  • Fix issue with wrong setting being configured in the log section


  • Add option for serve_from_sub_path in grafana_config_server


  • Resolves issue with service restarts using external service resources
  • Resolved the latest cookstyle issues


  • Removed misconfigured duplicate router_logging String property from config_server resource
  • Now correct Grafana version can be specified for installing/upgrading on Debian based systems.


  • Fixed type specification of group_search_dns to be Array instead of incorrect String previously.
  • Cookstyle fixes around long_description and header formats

5.1.1 (2019-08-16)

  • Fixed address appearing as basic_auth_password for internal metrics

5.1.0 (2019-07-26)

  • After modifying config files, grafana-server is restarted
  • Fixed session provider
  • Added remote-cache config support

5.0.0 (2019-06-20)

  • Allow custom database names
  • After modifying plugins, grafana-server is restarted
  • Added property for enable_embedding in config_security
  • Api helper will now retry for EADDRNOTAVAIL

4.4.0 (2019-05-21)

  • grafana_plugin now works
  • Migrated to new circleci orb
  • Depreciated testing on fedora and opensuse

4.3.0 (2019-05-16)

  • Aligned grafana_config_auth login_cookie_name default to rest of cookbook
  • Add API resource support for proxy_auth
  • Added PATCH support to the org library

4.2.0 (2019-05-14)

  • Fixed misspelling of oath to oauth

4.1.0 (2019-04-26)

  • Added feature to enable AWS S3 based external image storage.

4.0.2 (2019-04-14)

  • Fixes several issues in LDAP resources and template.

4.0.1 (2019-04-2)

  • Added support for Amazon Linux 2

4.0.0 (2019-03-24)

  • Migrate existing LWRP to Custom Resources
  • Create new config resources to be able to configure the grafana instance
  • Created new ldap config resources
  • Create install resource to install Grafana, does not do any configuration
  • Update repo location to new grafana repos (#220)
  • Add login_cookie_name property to config_auth resource
  • Add root_url property to config_server resource
  • Added documentation for all new resources

3.0.1 (2018-11-27)

3.0.0 (2018-04-29)

  • Require Chef 13 or later
  • Remove use_inline_resources and why_run statements from LWRPs which are no longer necessary with Chef 13+
  • Remove the dependency on apt/yum cookbooks since we can setup apt/yum repositories with Chef 13
  • Switch package installs to multi-package installs to speed up Chef runs
  • Remove the 'name' LWRP properties since Chef creates these automatically for us
  • Switch testing to InSpec / Delivery local mode
  • Add codeowners,, and files
  • Fix failures in the ChefSpecs and simplify the specs
  • Remove ChefSpec matchers since these are autogenerated by ChefSpec now
  • Sped up ChefSpec runtimes by enabling caching
  • Drop support for Debian 7 since it goes EOL in a few weeks

2.2.1 (2018-04-03)

  • Add exception handling for JSON::ParserError #155 by @ton31337
  • new attribute node[grafana][restart_on_upgrade] #164 by InformatiQ
  • Switch to nginx cookbook to create the nginx site instead of manually templating out the file

2.2.0 (2017-10-12)

  • Switch to linter cookstyle
  • Fix serverspec tests #180
  • Upgrade grafana version
  • Fix env file

2.1.3 (2015-08-24)

  • Fix a bug in error message handling code #80

2.1.2 (2015-08-24)

  • Fix Grafana package checksums #79

2.1.1 (2015-08-20)

  • Update Grafana default version to 2.1.2
  • Ensure we're displaying better messages in some edge cases with HTTP requests #76

2.1.0 (2015-08-17)

  • Update Grafana default version to 2.1.1
  • Make sure upgrading via deb file don't fail on configuration conflict #74
  • Ensure installing a new version trigger a server restart
  • Add packages checksum to ensure expected file and prevent unecessary re-download (see warnings section below)
  • Installation package file only if present and/or modified (@arifcse019) #73
  • Fix start service making it just be restarted at the end of the configuration (@HelioCampos) #71
  • Improve error messages during dashboard creation #64
  • Update ServerSpec test to check :stderr for curl output

When using the default's file installation, we've added checksum for package files if you set the grafana version to something different than the default you will also need set the checksum for the package you're expecting to use:

# Example if your Grafana version is different from the cookbook default
node['grafana']['version'] = '2.1.0'
# For debian platform family
node['grafana']['file']['checksum']['deb'] = 'b824c8358ff07f76f0d9eb35e9441f6f9e591819ad8bc70db4b0c904a8e7130e'
# For rhel platform family
node['grafana']['file']['checksum']['rpm'] = '1b436b286bd464e65eeb2a9b393da0986569fe483e1053b01c092b2e590d8399'

2.0.0 (2015-06-28)

  • Major overhaul of the cookbook to support Grafana 2.x

1.x dev

  • Ensure setting node['grafana']['listen_address'] to nil render a valid nginx config file (@lanyonm) #39

1.5.5 (2015-03-29)

  • Update elasticsearch git url in Berksfile for elasticsearch to elastic rename (@lanyonm) #38
  • Allow nginx to listen on all interface when node['grafana']['webserver_listen'] is nil or false (@BackSlasher) #37
  • Fix base64 encoding appending a newline in nginx config for basic auth (@BackSlasher) #36

1.5.4 (2015-02-22)

  • Update Grafana to 1.9.1 (@osigida) #32
  • Interpolate "version" and "type" attributes to build grafana file url (Bernhard Köhler) #31 and (Olivier Bazoud) #29
  • Add support for lambdas in datasources. This change makes it possible to evaluate derived attributes correctly. (Bernhard Köhler) #30 and #25

1.5.3 (2014-11-15)

  • Add support for Centos#28

1.5.2 (2014-11-04)

  • Allow configuration of default_route via attributes (Miguel Landaeta) #26
  • Add support for grafana admin password option (Andrew Goktepe) #23

1.5.1 (2014-10-08)

  • Update Grafana to 1.8.1

1.5.0 (2014-09-22)

  • Update Grafana to 1.8.0


  • Check for the presence of node['grafana']['es_role'] and node['grafana']['graphite_role'] instead of node['grafana']['es_server'] and node['grafana']['graphite_server'] to know if we should search and replace default['grafana']['es_server'] and default['grafana']['graphite_server'] (Jonathon W. Marshall) #22

1.4.2 (2014-09-14)

  • Fix attributes doc in README

1.4.1 (2014-09-12)

  • Do not use template resource's helpers method to bring back older Chef compatibility.

1.4.0 (2014-09-12)

  • Update Grafana to 1.8.0-rc1
  • Add default['grafana']['window_title_prefix'] and default['grafana']['search_max_results'] config attributes.


  • Grafana 1.8.0-rc1 upgraded to JQuery to 2.1.1 and thus dropped support for Internet Explorer 7 and 8

1.3.4 (2014-08-19)

  • Update attributes in README for better Supermarket display
  • Update foodcritic and rubocop (Tim Smith) #21
  • Remove mention of zipfile in README and attributes (Thanks to Gref Fitzgerald)
  • Fix default['grafana']['install_type'] documentation to have the correct possible values: git and file (Fred Hatfull) #20
  • Fix default['grafana']['webserver'] documentation not to include apache as possible value. (osigida) #19

1.3.2 (2014-08-12)

  • Update default Grafana to 1.7.0. (Greg Fitzgerald) #18.

1.3.1 (2014-08-07)

  • Update Grafana to 1.7.1-rc1. It fixes a regression introduced when merging #16. Thanks to Greg Fitzgerald for reporting it.

1.3.0 (2014-07-31)

  • Allow attribute configuration for datasources (Grégoire Seux) #16

1.2.0 (2014-07-11)

breaking changes

  • Update ark dependency to >= 0.7.2 and deprecation warning by using strip_component (Grégoire Seux) #15

minor changes

  • Support newer nginx cookbook by specifying template: false when enabling the grafana site (Grégoire Seux) #15

1.1.1 (2014-07-10)

  • Update default attributes to install Grafana 1.6.1 (Greg Fitzgerald) #14

1.1.0 (2014-06-20)

  • config.js data for graphite and elasticsearch changed back to use:
  • window.location.protocol+"//"+window.location.hostname+":"+window.location.port+"/_graphite"
    • window.location.protocol+"//"+window.location.hostname+":"+window.location.port

The idea is to allow external access without CORS problems or credential leaks in config.js.

  • Value for default['grafana']['install_path'] changed from /opt to /srv/apps (Greg Fitzgerald) #13

  • Default installation uses zip file instead of git (Greg Fitzgerald) #13

  • Major cleanup and additional tests (Greg Fitzgerald) #13

1.0.6 (2014-06-17)

1.0.5 (2014-06-17)

  • config.js was unintentionally changed to use node info to configure graphite and elasticsearch index.
  • Value for default['grafana']['grafana_index'] changed from grafana-dash to grafana-index (Greg Fitzgerald) #11
  • Update grafana to 1.6.0 (Greg Fitzgerald) #11

1.0.4 (2014-05-18)

  • Update config.js based on the one in 1.5.4
  • Update to grafana 1.5.4
  • Update to new download URL

1.0.3 (2014-04-12)

  • Add some basic specs, foodcritic, knife test and enable TravisCI
  • Fix error with undefined grafana_user variable Thanks to @klamontagne
  • Fix timezone value quoting in config.js (Anatoliy D.) #9
  • Update grafana to 1.5.2 (Grégoire Seux) #7
  • Don't set normal attribute node['nginx']['default_site_enabled'] (Grégoire Seux) #5
  • Remove "use strict"; from config.js as it seems to not be present in grafana releases, thanks to @iiro for proposing it in #1
  • Don't search when node['grafana']['es_server'] or node['grafana']['graphite_server'] is set and don't use normal attributes (Grégoire Seux) #3
  • Refactor and separate install in two recipes: install_git and install_file (Grégoire Seux) #2

1.0.2 (2014-03-23)

  • Update file release to 1.5.1

1.0.1 (2014-03-10)

  • Update file release to 1.5.0

1.0.0 (2014-03-01)

  • Initial release of grafana

Collaborator Number Metric

9.0.0 passed this metric

Contributing File Metric

9.0.0 passed this metric

Foodcritic Metric

9.0.0 passed this metric

No Binaries Metric

9.0.0 passed this metric

Testing File Metric

9.0.0 passed this metric

Version Tag Metric

9.0.0 passed this metric