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 supermarket mailing list.

Select Badges

Select Supported Platforms

RSS

memcached (28) Versions 3.0.1

Installs memcached and includes memcached_instance resource for setting up runit memcached instances

Berkshelf/Librarian
Policyfile
Knife
cookbook 'memcached', '~> 3.0.1'
cookbook 'memcached', '~> 3.0.1', :supermarket
knife cookbook site install memcached
knife cookbook site download memcached
README
Dependencies
Changelog
Quality

memcached Cookbook

Build Status Cookbook Version

Provides a custom resource for installing instances of memcached. Also ships with a default recipe that uses attributes to configure a single memcached instance on a host.

Requirements

Platforms

  • Debian / Ubuntu and derivatives
  • RHEL and derivatives
  • Fedora
  • openSUSE/SLES

Chef

  • Chef 12+

Cookbooks

  • runit (not used by default)
  • yum-epel
  • compat_resource

Attributes

The following are node attributes are used to configure the command line options of memcached if using the default.rb recipe. They are not used if using the memcached_instance custom resource.

  • memcached['memory'] - maximum memory for memcached instances.
  • memcached['user'] - user to run memcached as.
  • memcached['port'] - TCP port for memcached to listen on.
  • memcached['udp_port'] - UDP port for memcached to listen on.
  • memcached['listen'] - IP address for memcache to listen on, defaults to 0.0.0.0 (world accessible).
  • memcached['maxconn'] - maximum number of connections to accept (defaults to 1024)
  • memcached['max_object_size'] - maximum size of an object to cache (defaults to 1MB)
  • memcached['logfilepath'] - path to directory where log file will be written.
  • memcached['logfilename'] - logfile to which memcached output will be redirected in $logfilepath/$logfilename.
  • memcached['threads'] - Number of threads to use to process incoming requests. The default is 4.
  • memcached['experimental_options'] - Comma separated list of extended or experimental options. (array)
  • memcached['ulimit'] - maxfile limit to set (needs to be at least maxconn)

Usage

This cookbook can be used to to setup a single memcached instance running under the system's init provider by including memcached::default on your runlist. The above documented attributes can be used to control the configuration of that service.

The cookbook can also within other cookbooks in your infrastructure with the memcached_instance custom resource. See the documentation below for the usage and examples of that custom resource.

Custom Resources

instance

Adds or removes an instance of memcached running under the system's native init system (sys-v, upstart, or systemd). For backwards compatibility there is also a runit provider that can be used if desired.

Actions

  • :start: Starts (and installs) an instance of memcached
  • :stop: Stops an instance of memcached
  • :enable: Enabled (and installs) an instance of memcached to run at boot
  • :restart: Restarts an instance of memcached

Properties

  • :memory - the amount of memory allocated for the cache. default: 64
  • :port - the TCP port to listen on. default: 11,211
  • :udp_port - the UDP port to listen on. default: 11,211
  • :listen - the IP to listen on. default: '0.0.0.0'
  • :maxconn - the maximum number of connections to accept. default: 1024
  • :user - the user to run as
  • :threads - the number of threads to use
  • :max_object_size - the largest object size to store
  • :experimental_options - an array of additional config options
  • :ulimit - the ulimit setting to use for the service
  • :template_cookbook - the cookbook containing the runit service template. default: memcached
  • :disable_default_instance - disable the default 'memcached' service installed by the package, default: true

Examples

Create a new memcached instance named super_custom_memcached:

memcached_instance 'super_custom_memcached' do
  port 11_212
  memory 128
end

Stop and disable the super_custom_memcached instance:

memcached_instance 'super_custom_memcached'  do
  action :remove
end

Specify the runit provider to maintain legacy behavior (including optional usage of legacy actions)

memcached_instance_runit 'super_custom_memcached'  do
  action :create
end

License & Authors

Copyright:: 2009-2016, Chef Software, Inc
Copyright:: 2009, 37signals

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

compat_resource >= 12.10
yum-epel >= 0.0.0
runit >= 1.2.0

Contingent cookbooks

chef-manageiq Applicable Versions
ftp-cloudfs Applicable Versions
gitorious Applicable Versions
graphite Applicable Versions
mcrouter Applicable Versions
nodestack Applicable Versions
noosfero Applicable Versions
phpstack Applicable Versions
pythonstack Applicable Versions
stack_commons Applicable Versions

memcached Cookbook CHANGELOG

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

3.0.1 (2016-06-23)

  • Remove smartos from the supported platforms metadata as it's not longer supported
  • Add opensuse and opensuseleap as supported platforms in the metadata
  • Increase the compat_resource depdency from >= 12.9 to >= 12.10 to bring in important fixes
  • Add requirement of Chef 12 to the metadata
  • Restart the service on failure when running under systemd
  • Disable FC023 in Foodcritic tests

3.0.0 (2016-05-24)

  • The preferred method of use for this cookbook is now the custom resources via your own wrapper cookbook. The default recipe simply wraps the custom resource and allows you to set attributes instead of directly changing custom resource properties. To support this goal, the custom resource now uses the native init system of your OS by default (sys-v, upstart or systemd). The Runit provider is still present for backwards compatibility, but must be specified. See the readme for an example of how to do that with the custom resource. The default recipe does not support using runit and runit is no longer an init system we suggest users use.

  • The ulimit attribute and custom resource property behavior have been changed. Ulimit now takes the actual ulimit value as a string or int. Previously a boolean value was passed and if true the connection max was set. This gives users additional control over the ulimit value.

  • SmartOS support has been removed. SmartOS support was never properly implemented and didn't support the custom resource. We've chosen to remove it instead of leaving partially functional and untested code in place.

Other CHANGES

  • Testing has been improved with additional specs and integration tests that better match the capabilities of the cookbook
  • Support has been added for platforms that lacked the Runit package, specifically opensuse -

2.1.0 (2016-03-16)

  • Added a new property, disable_default_instance, to the instance custom resource for disabling the package installed memcached service. This prevents resource merging from resulting in a service that isn't disabled.
  • Updated the custom resource to avoid potential namespace conflicts
  • Require the latest custom_resource to avoid failures and extra warning messages
  • Resolved nil attribute deprecation warnings
  • Added maintainers files

2.0.3 (2016-02-16)

  • Fix template whitespace location that resulted in bad command

2.0.2 (2015-11-20)

  • Push new version to Supermarket to deal with bad artifact

2.0.1 (2015-11-19)

  • Push new version to Supermarket to deal with bad artifact

2.0.0 (2015-11-10)

BREAKING CHANGES:

  • The user and group attributes have been removed and are instead handled by a helper that picks the appropriate user / group based on the platform
  • The memcached_instance definition that used both passed values and node attributes for configuration has been rewritten as a 12.5 custom resource with compat_resource providing backwards compatibility to all Chef 12.X releases. This new custom resource handles the installation of memcached and all configuration is passed in via custom resource properties. See the readme for examples of how to use this new resource. This change should greatly improve the ability to use memcached_instance within wrapper cookbooks.

1.9.0 (2015-11-05)

NOTE: This will be the last version of this cookbook that supports Chef 11 and the traditional attribute / resource hybrid setup for memcached instances. After this release this cookbook will function with attributes for a simple install or Chef 12.5 custom resources for creating individual memcached instances. If you utilize memcached instances using the attributes to define the config you'll need to pin to ~1.0 and later update to the new format in ~2.0.

  • Debian/Ubuntu switched the user that memcached runs under from nobody to memcache. Updated the cookbook to use this user on those platforms and create it in case we're on an older distro release that didn't yet have that user
  • Removed use of shellout that was causing issues for users
  • Improved the workaround on Debian/Ubuntu for not starting the service on package install so that it doesn't show up as a changed resource on every Chef run
  • Updated Chefspec to 4.X and added additional specs
  • Add oracle to the metadata
  • Add issues_url and source_url to the metadata
  • Add new contributing.md, maintainers.md, and testing.md docs
  • Add travis and cookbook version badges to the readme
  • Clarified Chef 11 is the minimum required chef release
  • Updated platforms in the Kitchen config
  • Added chefignore file
  • Removed all hash rockets
  • Added a .foodcritic file with exclusions
  • Updated travis to use their container infrastructure, chef-dk for testing deps, and kitchen-docker for integration testing
  • Added a Rakefile to simplify testing
  • Removed yum as a dependency as it wasn't being used.
  • Removed attributes from the metadata as they hadn't been updated

v1.8.0 (2015-08-11)

  • updated serverspec tests to pass (See 3c7b5c9)
  • deconflict memcached_instance runit definition from default init (See b06d2d)

    • split default.rb into install.rb and configure.rb so that memcached_instance only starts the specified number of instances
  • added attributes logfilepath, version, threads, experimental_options, and ulimit

  • NOTE: if memcached_instance name is not specified or set to "memcached", the instance name will be "memcached". If anything else is specified, the instance name will be "memcached-${name}"

v1.7.2 (2014-03-12)

  • [COOK-4308] - Enable memcache on RHEL, Fedora, and Suse
  • [COOK-4212] - Support max_object_size rhel and fedora

v1.7.0

Updating for yum ~> 3.0. Fixing up style issues for rubocop. Updating test-kitchen harness

v1.6.6

fixing metadata version error. locking to 3.0

v1.6.4

Locking yum dependency to '< 3'

v1.6.2

[COOK-3741] UDP settings for memcached

v1.6.0

Bug

  • COOK-3682 - Set user when using Debian packages

Improvement

  • COOK-3336 - Add an option to specify the logfile (fix)

v1.5.0

Improvement

  • COOK-3336 - Add option to specify logfile
  • COOK-3299 - Document that memcached is exposed by default

Bug

  • COOK-2990 - Include listen, maxconn, and user in the runit service

New Feature

  • COOK-2790 - Add support for defining max object size

v1.4.0

Improvement

  • [COOK-2756]: add SUSE support to memcached cookbook
  • [COOK-2791]: Remove the template for Karmic from the memcached cookbook

Bug

  • [COOK-2600]: support memcached on SmartOS

v1.3.0

  • [COOK-2386] - update memcached_instance definition for runit_service resource

v1.2.0

  • [COOK-1469] - include yum epel recipe on RHEL 5 (introduces yum cookbook dependency)
  • [COOK-2202] - Fix typo in previous ticket/commits
  • [COOK-2266] - pin runit dependency

v1.1.2

  • [COOK-990] - params insite runit_service isn't the same as outside

v1.1.0

  • [COOK-1764] - Add Max Connections to memcached.conf and fix typos

v1.0.4

  • [COOK-1192] - metadata doesn't include RH platforms (supported)
  • [COOK-1354] - dev package changed name on centos6

v1.0.2

  • [COOK-1081] - support for centos/rhel

v1.0.0

  • [COOK-706] - Additional info in README
  • [COOK-828] - Package for RHEL systems

v0.10.4

  • Current released version

Foodcritic Metric

FC005: Avoid repetition of resource declarations: /tmp/cook/c0f50744de7561c3a196aa33/memcached/libraries/helpers.rb:56
FC016: LWRP does not declare a default action: /tmp/cook/c0f50744de7561c3a196aa33/memcached/resources/instance_runit.rb:1
FC016: LWRP does not declare a default action: /tmp/cook/c0f50744de7561c3a196aa33/memcached/resources/instance_systemd.rb:1
FC016: LWRP does not declare a default action: /tmp/cook/c0f50744de7561c3a196aa33/memcached/resources/instance_sysv_init.rb:1
FC016: LWRP does not declare a default action: /tmp/cook/c0f50744de7561c3a196aa33/memcached/resources/instance_upstart.rb:1
FC023: Prefer conditional attributes: /tmp/cook/c0f50744de7561c3a196aa33/memcached/libraries/helpers.rb:88