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


kibana (9) Versions 0.2.3

Installs/Configures kibana, the logstash UI

cookbook 'kibana', '~> 0.2.3', :supermarket
cookbook 'kibana', '~> 0.2.3'
knife supermarket install kibana
knife supermarket download kibana
Quality 50%


Build Status

A cookbook that installs Kibana.

Kibana requires ElasticSearch index to be configured to work as per logstash requirements.


  • Chef 11+


  • Ubuntu 14.04, 16.04
  • CentOS 6, 7


  • build-essential
  • ark
  • apache2 (>= 2.0) (Suggested but not required)
  • authbind (Suggested but not required)
  • apt (Suggested but not required)
  • nginx (Suggested but not required)


  • node['kibana']['version'] - Kibana major version used. Defaults to 5.
  • node['kibana']['kibana3_version'] - Kibana3 exact version.
  • node['kibana']['kibana4_version'] - Kibana4 exact version.
  • node['kibana']['kibana5_version'] - Kibana5 exact version.
  • node['kibana']['base_dir'] - The base directory of kibana. Defaults to /opt/kibana.
  • node['kibana']['user'] - The user under which Kibana is installed. Defaults to kibana.
  • node['kibana']['group'] - The group under which Kibana is installed. Defaults to kibana.
  • node['kibana']['install_method'] - Install method. Can be package or release. Defaults to release.
  • node['kibana']['url'] - Url of tarball. Defaults to{node['kibana']['kibana3_version']}.tar.gz.
  • node['kibana']['kibana3_checksum'] - Checksum of the tarball.
  • node['kibana']['kibana4_checksum'] - Checksum of the tarball.
  • node['kibana']['kibana5_checksum'] - Checksum of the tarball.
  • node['kibana']['git']['url'] - The URL to Kibana repository. Defaults to
  • node['kibana']['git']['reference'] - The git reference in the Kibana repository. Defaults to 'v' + node['kibana']['kibana3_version'].
  • node['kibana']['rubyversion'] - The version of Ruby and Gems to use for Kibana. Defaults to 1.9.1.
  • node['kibana']['interface'] - The interface on which to bind. Defaults to
  • node['kibana']['port'] - The port on which to bind. Defaults to 5601.
  • node['kibana']['elasticsearch']['hosts'] - An Array of the elasticsearch service hosts. Defaults to [''].
  • node['kibana']['elasticsearch']['port'] - The port of the elasticsearch http service. Defaults to 9200.
  • node['kibana']['default_fields'] - The which fields are shown by default. Defaults to ["@message"].
  • node['kibana']['default_operator'] - The operator used if no explicit operator is specified. Defaults to OR.
  • node['kibana']['config']['cookbook'] - The cookbook from which config.js template is taken. Defaults to nil.
  • node['kibana']['config']['source'] - The template from which config.js is generated from. Defaults to nil.
  • node['kibana']['highlighted_field'] - Fields specifiers which default to @message (may need to be changed for newer logstash). Defaults to @message.
  • node['kibana']['primary_field'] - Defaults to @message.
  • node['kibana']['default_index'] - Defaults to @message.
  • node['kibana']['apache']['host'] - The host to create apache vhost for. Defaults to node['fqdn'].
  • node['kibana']['apache']['interface'] - The interface on which to bind apache. Defaults to node['ipaddress'].
  • node['kibana']['apache']['basic_auth'] - Enable http auth for Apache. Defaults to off.
  • node['kibana']['apache']['basic_auth_username'] - Apache http auth username. Defaults to admin.
  • node['kibana']['apache']['basic_auth_password'] - Apache http auth password. Defaults to PLEASEchangeme.
  • node['kibana']['apache']['port'] - The port on which to bind apache. Defaults to 80.
  • node['kibana']['apache']['proxy'] - Boolean switch to enable apache search query proxy. Defaults to false.
  • node['kibana']['nginx']['port'] - The port on which to bind nginx. Defaults to 80.
  • node['kibana']['nginx']['listen_http'] - The port on which to bind nginx. Defaults to 80.
  • node['kibana']['nginx']['listen_https'] - The HTTPS port on which to bind nginx. Defaults to 443.
  • node['kibana']['nginx']['client_max_body'] - Defaults to 50M.
  • node['kibana']['nginx']['ssl'] - Boolean switch to enable SSL configuration. Defaults to false.
  • node['kibana']['nginx']['proxy'] - Boolean switch to enable nginx search query proxy. Defaults to false.
  • node['kibana']['nginx']['auth'] - Boolean switch to enable auth basic. Defaults to false.
  • node['kibana']['auth_file'] - The path to auth basic file. Defaults to /etc/nginx/htpasswd.users.
  • node['kibana']['nginx']['ssl_certificate'] - The path to the SSL certificate file. Defaults to nil.
  • node['kibana']['nginx']['ssl_certificate_key'] - The path to the SSL certificate key. Defaults to nil.
  • node['kibana']['nginx']['ssl_protocols'] - The SSL protocols. Defaults to TLSv1 TLSv1.1 TLSv1.2.
  • node['kibana']['nginx']['ssl_ciphers'] - The SSL ciphers. Defaults to ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES128-SHA:AES256-CGM-SHA256:ECDHE-RSA-AES256-SHA256:RC4:HIGH:!aNULL:!MD5:-LOW:-SSLv2:-EXP.
  • node['kibana']['nginx']['ssl_session_cache'] - The SSL session cache. Defaults to shared:SSL:10m.
  • node['kibana']['nginx']['ssl_session_timeout'] - The SSL session timeout. Defaults to 10m.
  • node['kibana']['nginx']['server_name'] - The virtualhost server name. Defaults to kibana.


  • kibana::apache - Setup vhost for apache that rewrites to Kibana.
  • kibana::default - Install Kibana.
  • kibana::kibana3
  • kibana::kibana4
  • kibana::kibana5
  • kibana::nginx


Setup vhost for apache that rewrites to Kibana.


Install Kibana.



Resource to manage plugins


resource_name :kibana_plugin

property :name, String, name_property: true
property :url, String
property :plugin_dir, String, default: ::File.join(node['kibana']['base_dir'],'current','installedPlugins')
property :kibana_home, String, default: ::File.join(node['kibana']['base_dir'],'current')
property :plugins_registry, String, default: ::File.join(node['kibana']['base_dir'],'installedPugins.json')

default_action :install



Install plugin if not installed


If plugin source changed, remove installed and install new version
The resource keeps track of plugins in a json file plugins_registry in the form

"foo": "http:\\path\to\foo-version.gz",
"bar": "http:\\path\to\bar-version.gz"


Remove plugin if already installed


kibana_plugin 'foo' do
  action :update
  url 'http:\\url\to\foo-version.gz'

License and Maintainers

Maintainers:: Peter Donald (, Dimitry Ryobryshkin (@cyberflow), Scott Nelson Windels (, Michael Burns (@mburns)

License:: Apache 2.0


  • Further test fixes
  • Run unit tests on multiple platforms #112 (@mburns)
  • Move away from deprecated nginx fork cookbook #111 (@mburns)


  • Update to fix travis runs for CentOS7 and Ubuntu 16.04. #102 (@drenalin23)
  • Update ark #103 (@drenalin23)
  • kibana_plugin resource to manage plugins #106 (@InformatiQ)
  • Kibana5, Amazon Linux fixes #107 (@InformatiQ)
  • switch node['kibana']['version'] to integer #109 (@InformatiQ)
  • Lint fixes #104 (@drenalin23)


  • fix issue with bin_path for package installs (@drenalin23)
  • update the nginx source attribute so it is easier to override in wrapper cookbooks (@drenalin23)
  • rubocop fixes, updated README (@drenalin23)


  • Added stove support (@drenalin23)
  • Added better startup script support for CentOS6 and CentOS7 (@drenalin23)
  • Add systemd startup support for Ubuntu 16.04 (@drenalin23)
  • updates to integration tests, travis matrix, and rubocop fixes (@drenalin23)
  • change kibana service default action to enable and start (@g.fediere and @drenalin23)
  • updates to better support recent versions of the upstream apache2 cookbook (@drenalin23)
  • add logging options for Kibana4 (@sT331h0rs3)
  • add package install method for deb (@cyberflow)
  • [possibly breaking] Switch to chef_nginx cookbook as default (@drenalin23)


  • removed support for kibana2 ( use 0.1.10 release if Kibana2 is needed )
  • added serverspec tests. Submitted by Dmitry and Scott (cyberflow and drenalin23).
  • added chefspec unit tests. Submitted by Scott (drenalin23).


  • Support proxying elasticsearch through apache. Submitted by Dmitry (cyberflow).
  • Replace depends with suggest for the apache cookbook as it is not needed when using nginx. Submitted by Bryan Casey.
  • Correct apache configuration to work with apache < 2.4. Submitted by Olivier Dolbeau (odolbeau).
  • Add support kibana 4.X
  • Fix some bugs


  • nginx support. Submitted by Gregoire Seux and Jonathon W. Marshall.
  • Add initial support for centos. Submitted by Gregoire Seux.
  • Support configuration of the default operator, default fields, highlighted_field, primary_field and default_index. Submitted by Joseph Anthony Pasquale Holsten.
  • Add test-ktichen support for 12.04
  • Re-order default attributes file for future changes


  • Make Elasticsearch Kibana config an array by default - this will make it easier to supply multiple ES nodes by simply overriding node['kibana']['elasticsearch']['host'] attribute


  • add additional logic to decide which apt package to install based on the version of ruby specified. 1.8, 1.9.1, 1.9.3 are supported. (doublerr)
  • Update README to reflect above (doublerr)
  • Add Berkshelf support (doublerr)


  • include build-essential recipe to ensure bundle install works. Reported by Max Stepanov.
  • Stop declaring the apache template twice.
  • Use https rather than the git protocol to define the kibana repository as many enterprises firewall out the git protocol.
  • Adjusting command to ensure the proper version of ruby is used to execute Kibana in the init script. gems are installed for ruby1.9.1, so the daemon startup command will force using ruby1.9.1 too now, but 1.9.1 is an attribute so that it can be changed in one place as necessary. (nschelly)
  • Fixed permissions for KibanaConfig.rb so that the kibana user can read it. Used to be root:root, now uses the :user and :group attributes (nschelly)


  • Prefer new notification syntax.


  • Initial release

Collaborator Number Metric

0.2.3 passed this metric

Contributing File Metric

0.2.3 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

0.2.3 passed this metric

No Binaries Metric

0.2.3 passed this metric

Testing File Metric

0.2.3 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

0.2.3 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 include a tag that matches this cookbook version number