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

RSS

consul (83) Versions 6.0.0

Provides consul_installation, consul_config, consul_service, and related resources for managing HashiCorp Consul.

Policyfile
Berkshelf
Knife
cookbook 'consul', '~> 6.0.0', :supermarket
cookbook 'consul', '~> 6.0.0'
knife supermarket install consul
knife supermarket download consul
README
Dependencies
Changelog
Quality 50%

Consul Cookbook

Cookbook Version
CI State
OpenCollective
OpenCollective
License

Resource cookbook which installs and configures HashiCorp Consul.

Maintainers

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 sous-chefs.org or come chat with us on the Chef Community Slack in #sous-chefs.

Requirements

  • Chef Infra Client >= 15.3
  • Linux only (systemd-based distributions)

Supported Platforms

  • AlmaLinux 8, 9, 10
  • Amazon Linux 2023
  • CentOS Stream 9, 10
  • Debian 12, 13
  • Fedora (latest)
  • openSUSE Leap 15, 16
  • Oracle Linux 8, 9, 10
  • Red Hat Enterprise Linux 8, 9
  • Rocky Linux 8, 9, 10
  • Ubuntu 22.04, 24.04

Resources

This cookbook provides custom resources only — no recipes or node attributes. Use these resources directly in your wrapper cookbook recipes.

  • [consul_installation](documentation/consul_installation.md)
  • [consul_config](documentation/consul_config.md)
  • [consul_service](documentation/consul_service.md)
  • [consul_definition](documentation/consul_definition.md)
  • [consul_watch](documentation/consul_watch.md)
  • [consul_execute](documentation/consul_execute.md)
  • [consul_acl](documentation/consul_acl.md)
  • [consul_policy](documentation/consul_policy.md)
  • [consul_role](documentation/consul_role.md)
  • [consul_token](documentation/consul_token.md)

Quick Start

Server

consul_installation 'latest' do
  install_method 'repository'
end

group 'consul' do
  system true
end

user 'consul' do
  system true
  group 'consul'
  shell '/bin/false'
end

config = consul_config '/etc/consul/consul.json' do
  owner 'root'
  group 'consul'
  server true
  bootstrap true
  datacenter 'dc1'
  ui true
  notifies :reload, 'consul_service[consul]', :delayed
end

consul_service 'consul' do
  config_file config.path
  user 'consul'
  group 'consul'
end

Client

consul_installation 'latest' do
  install_method 'repository'
end

group 'consul' do
  system true
end

user 'consul' do
  system true
  group 'consul'
  shell '/bin/false'
end

config = consul_config '/etc/consul/consul.json' do
  retry_join %w(10.0.0.1 10.0.0.2 10.0.0.3)
  notifies :reload, 'consul_service[consul]', :delayed
end

consul_service 'consul' do
  config_file config.path
  user 'consul'
  group 'consul'
end

Installation Methods

The consul_installation resource supports two methods:

  • repository (default) — Installs via official HashiCorp APT/YUM repositories. Recommended for most platforms.
  • binary — Downloads a zip archive from releases.hashicorp.com. Required for openSUSE (no official repo).
consul_installation '1.22.5' do
  install_method 'binary'
  checksum 'abc123...'
end

Watches and Definitions

consul_definition 'redis' do
  type 'service'
  parameters(tags: %w(master), address: '127.0.0.1', port: 6379)
  notifies :reload, 'consul_service[consul]', :delayed
end

consul_watch 'app-deploy' do
  type 'event'
  parameters(handler: '/usr/local/bin/clear-disk-cache.sh')
  notifies :reload, 'consul_service[consul]', :delayed
end

ACLs

The consul_acl, consul_policy, consul_role, and consul_token resources require the Diplomat Ruby gem.

consul_acl '49f06aa9-782f-465a-becf-44f0aaefd335' do
  acl_name 'AwesomeApp Token'
  type 'client'
  rules 'key "" { policy = "read" }'
  auth_token 'master-token'
end

Upgrading from 5.x

Version 6.0 is a breaking change:

  • Recipes and attributes removed — use custom resources directly in your wrapper cookbook
  • Windows support removed — Linux only (systemd)
  • Consul < 1.0 support removedconfig_v0 resource deleted
  • NSSM dependency removed
  • Installation via repository is now the default (previously binary download)
  • Platform support updated — EOL platforms removed (CentOS 7/8, Ubuntu 16.04/18.04, Debian 9/10)

Contributors

This project exists thanks to all the people who contribute.

Backers

Thank you to all our backers!

https://opencollective.com/sous-chefs#backers

Sponsors

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

https://opencollective.com/sous-chefs/sponsor/0/website
https://opencollective.com/sous-chefs/sponsor/1/website
https://opencollective.com/sous-chefs/sponsor/2/website
https://opencollective.com/sous-chefs/sponsor/3/website
https://opencollective.com/sous-chefs/sponsor/4/website
https://opencollective.com/sous-chefs/sponsor/5/website
https://opencollective.com/sous-chefs/sponsor/6/website
https://opencollective.com/sous-chefs/sponsor/7/website
https://opencollective.com/sous-chefs/sponsor/8/website
https://opencollective.com/sous-chefs/sponsor/9/website

Changelog

6.0.0 (2026-03-19)

⚠ BREAKING CHANGES

  • modernize cookbook to resource-only pattern (v6.0)

Features

  • modernize cookbook to resource-only pattern (v6.0) (10ce6dd)

5.7.0 (2026-01-06)

Features

  • config: add the ui_config parameter to configuration (#608) (61387f4)

Bug Fixes

  • ci: Update workflows to use release pipeline (#646) (5524f5f)

5.6.9 (2025-10-15)

Bug Fixes

  • ci: Update workflows to use release pipeline (#646) (5524f5f)

5.6.8 - 2025-09-04

  • Standardise files with files in sous-chefs/repo-management

5.4.0 - 2022-09-12

  • Add missing ui_config attribute to consul_config, as ui is deprecated in Consul 1.9.0
  • Standardise files with files in sous-chefs/repo-management

5.3.2 - 2022-02-17

  • Standardise files with files in sous-chefs/repo-management
  • Remove delivery folder

5.3.1 - 2022-01-04

  • Fix idempotency checks for consul_token and consul_policy

5.3.0 - 2022-01-04

  • Fix wrong number of arguments when calling action :enable service on Windows platform

5.2.0 - 2021-12-01

  • Added setting license_path in consul_config resource for enterprise installations

5.1.0 - 2021-12-01

  • Support :stop action for consul_service resource

5.0.1 - 2021-11-24

  • Fix setting program in consul_service resource

5.0.0 - 2021-11-22

  • Remove Poise dependencies
  • Rewrite resources as Chef custom resources
  • Drop compatibility with Chef < 15.3

Collaborator Number Metric
            

6.0.0 passed this metric

Contributing File Metric
            

6.0.0 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 https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file

Cookstyle Metric
            

6.0.0 passed this metric

No Binaries Metric
            

6.0.0 passed this metric

Testing File Metric
            

6.0.0 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 https://github.com/user/repo, and your repo must contain a TESTING.md file

Version Tag Metric
            

6.0.0 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 https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number

Copyright © 2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.

Progress and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries.
See Trademarksfor appropriate markings. All rights in any other trademarks contained herein are reserved by their respective owners and their inclusion does not imply an endorsement, affiliation, or sponsorship as between Progress and the respective owners.

Code of Conduct Terms and Conditions of Use Privacy Policy Cookie Policy Trademark Policy Status