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

RSS

habitat (17) Versions 0.26.0

Habitat related resources for chef-client

Berkshelf/Librarian
Policyfile
Knife
cookbook 'habitat', '= 0.26.0'
cookbook 'habitat', '= 0.26.0', :supermarket
knife cookbook site install habitat
knife cookbook site download habitat
README
Dependencies
Changelog
Quality

Habitat Cookbook

Build Status Cookbook Version

This cookbook provides resources for working with Habitat. It is intended that these resources will be included in core Chef at some point in the future, so it is important to note:

  • APIs are subject to change
  • Habitat is a rapidly changing product, and this cookbook may change rapidly as well

(this is a pre-1.0 version, after all)

Requirements

Platforms

  • RHEL 7+
  • Ubuntu 16.04+

Habitat

  • 0.26+ (for channel support)

Chef

  • Chef 12.11+

Cookbooks

  • None

Resources

hab_install

Installs Habitat on the system using the install script.

Actions

  • install: Installs Habitat. Does nothing if the hab binary is found in the default location for the system (/bin/hab on Linux, /usr/local/bin/hab on macOS)
  • upgrade: Installs the latest version of Habitat, does not check if the binary exists

Properties

  • install_url: URL to the install script, default is from the habitat repo
  • depot_url: Optional URL to an alternate Depot (defaults to the public Depot)
  • version: The version of habitat to install (defaults to latest)
  • channel: The release channel to install from (defaults to stable)

Examples

hab_install 'install habitat'
hab_install 'install habitat' do
  version "0.12.0"
end
hab_install 'install habitat' do
  depot_url "http://localhost/v1/depot"
end

hab_package

Install the specified Habitat package. Requires that Habitat is installed

This resource is written as a library resource because it subclasses Chef's package resource/provider to get features such as the multi-package API).

actions

  • install: installs the specified package
  • upgrade: aliased to install

Properties

  • package_name: A Habitat package name, must include the origin and package name separated by /, for example, core/redis
  • version: A Habitat version which contains the version and optionally a release separated by /, for example, 3.2.3 or 3.2.3/20160920131015
  • depot_url: The habitat depot url where packages will be downloaded from (defaults to public habitat depot)
  • channel: The release channel to install from (defaults to stable)

While it is valid to pass the version and release with a Habitat package as a "fully qualified package identifier" when using the hab CLI, they must be specified using the version property when using this resource. See the examples below.

Examples

hab_package "core/redis"

hab_package "core/redis" do
  version "3.2.3"
  channel "unstable"
end

hab_package "core/redis" do
  version "3.2.3/20160920131015"
end

hab_service

Manages a Habitat application service using hab sup/hab service. This requires that core/hab-sup be running as a service. See the hab_sup resource documentation below for more information about how to set that up with this cookbook.

Actions

  • load: (default action) runs hab service load to load and start the specified application service
  • unload: runs hab service unload to unload and stop the specified application service
  • start: runs hab service start to start the specified application service
  • stop: runs hab service stop to stop the specified application service

Properties

  • service_name: name property, the name of the service, must be in the form of origin/name
  • loaded: state property indicating whether the service is loaded in the supervisor
  • running: state property indicating whether the service is running in the supervisor
  • permanent_peer: Only valid for :start action, passes --permanent-peer to the hab command
  • listen_gossip: Only valid for :start action, passes --listen-gossip with the specified address and port, e.g., 0.0.0.0:9638, to the hab command
  • listen_http: Only valid for :start action, passes --listen-http with the specified address and port, e.g., 0.0.0.0:9631, to the hab command
  • org: Only valid for :start action, passes --org with the specified org name to the hab command
  • peer: Only valid for :start action, passes --peer with the specified initial peer to the hab command
  • ring: Only valid for :start action, passes --ring with the specified ring key name to the hab command
  • strategy: Only valid for :start or :load actions, passes --strategy with the specified update strategy to the hab command
  • topology: Only valid for :start or :load actions, passes --topology with the specified service topology to the hab command
  • depot_url: Only valid for :start or :load actions, passes --url with the specified Depot URL to the hab command
  • bind: Only valid for :start or :load actions, passes --bind with the specified services to bind to the hab command
  • service_group: Only valid for :start or :load actions, passes --group with the specified service group to the hab command
  • config_from: Only valid for :start action, passes --config-from with the specified directory to the hab command
  • override_name: Advanced Use Valid for all actions, passes --override-name with the specified name to the hab command; used for running services in multiple supervisors

Examples

# install and load nginx
hab_package "core/nginx"
hab_service "core/nginx"

hab_service "core/nginx unload" do
  service_name "core/nginx"
  action :unload
end

# pass the strategy and topology options to hab service commands (load by default)
hab_service "core/redis" do
  strategy 'rolling'
  topology 'standalone'
end

hab_sup

Runs a Habitat Supervisor for one or more Habitat Services. This requires Habitat version 0.20 or higher. It is used in conjunction with hab_service which will manage the services loaded and started within the supervisor.

The run action handles installing Habitat using the hab_install resource, ensures that the core/hab-sup package is installed using hab_package, and then drops off the appropriate init system definitions and manages the service. At this time, only systemd is supported.

Actions

  • run: starts the hab-sup service

Properties

  • permanent_peer: Only valid for :start action, passes --permanent-peer to the hab command
  • listen_gossip: Only valid for :start action, passes --listen-gossip with the specified address and port, e.g., 0.0.0.0:9638, to the hab command
  • listen_http: Only valid for :start action, passes --listen-http with the specified address and port, e.g., 0.0.0.0:9631, to the hab command
  • org: Only valid for :start action, passes --org with the specified org name to the hab command
  • peer: Only valid for :start action, passes --peer with the specified initial peer to the hab command
  • ring: Only valid for :start action, passes --ring with the specified ring key name to the hab command
  • override_name: Advanced Use Valid for all actions, passes --override-name with the specified name to the hab command; used for running services in multiple supervisors

Examples

# set up with just the defaults
hab_sup "default"

# run with an override name, requires changing listen_http and
# listen_gossip if a default supervisor is running
hab_sup 'test-options' do
  override_name 'myapps'
  listen_http '0.0.0.0:9999'
  listen_gossip '0.0.0.0:9998'
end

Maintainers

This cookbook is maintained by Chef's Community Cookbook Engineering team along with the following maintainers:

The goal of the Community Cookbook Engineering team is to improve cookbook quality and to aid the community in contributing to cookbooks. To learn more about our team, process, and design goals see our team documentation. To learn more about contributing to cookbooks like this see our contributing documentation, or if you have general questions about this cookbook come chat with us in #cookbok-engineering on the Chef Community Slack

License

Copyright: 2016-2017, Chef Software, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Dependent cookbooks

This cookbook has no specified dependencies.

Contingent cookbooks

depot Applicable Versions

habitat CHANGELOG

This file is used to list changes made in each version of the habitat cookbook.

0.26.0 (2017-07-17)

Breaking Changes

This cookbook was updated to be compatible with the changes made in Habitat 0.26. With these updates the cookbook now requires Habitat 0.26 or later. The version has been updated to match that of habitat. In the event of future breaking habitat changes the version of this cookbook will be updated to reflect the new minimum habitat release. - The cookbook now correctly parses the process status returned by the hab sup services endpoint - Packages now pull from the 'stable' channel by default. If you need to pull from another channel there is a new 'channel' property in the package resource that accepts a string.

Other Changes

  • Resolves deprecation warnings introduced in Chef 13.2
  • Removed references in the readme to Chefstyle and simplified some of the requirements information
  • Added maintainer information to the readme and removed the maintainers file

v0.4.0 (2017-04-26)

  • Backwards incompatible version, requires habitat 0.20 or higher
  • Add hab_sup resource for managing Habitat supervisor. See readme for usage.
  • Rewrite hab_service resource to manage services in Habitat supervisor

v0.3.0 (2017-02-21)

  • Add property for ExecStart options. See readme for usage
  • Add property for depot_url. See readme for usage
  • Added restart action to the resource

v0.2.0 (2016-11-30)

  • Added version and channel properties to install resource
  • Added depot_url property to hab_package resource

v0.1.1 (2016-11-10)

  • Removed Chef 11 compatibility in the metadata
  • Resolved Chefstyle warnings
  • Resolved foodcritic warnings
  • Added a chefignore file
  • Updated the gitignore file
  • Improve the readme format and add badges
  • Update all test deps to current
  • Remove the apt testing dependency
  • Add integration testing in Travis using kitchen-dokken

v0.1.0 (2016-11-08)

  • add hab_service resource
  • make the hab_package resource convergent
  • add chefspec and inspec tests
  • better documentation through README updates

v0.0.3 (2016-07-14)

  • Initial release, includes hab_package and hab_install resources

Collaborator Number Metric
            

0.26.0 passed this metric

Contributing File Metric
            

0.26.0 passed this metric

License Metric
            

0.26.0 passed this metric

Publish Metric
            

0.26.0 passed this metric

Supported Platforms Metric
            

0.26.0 passed this metric

Testing File Metric
            

0.26.0 passed this metric

Version Tag Metric
            

0.26.0 passed this metric