Skip to content
This repository has been archived by the owner on Jan 18, 2023. It is now read-only.

Shopify/sysctl-cookbook

 
 

Repository files navigation

DESCRIPTION

Manage sysctl via a sysctl provider.

NOTE: If you are getting this from the community site it's named jn_sysctl. Due to some internal requirements the metadata sets it's name to "sysctl" this could cause some confusion.

WARNING: The default behavior on non-debian flavors is to write out /etc/sysctl.conf, which if you don't have settings in chef means you can kill your existing config. the sysctl_file atribute can control where this file goes in a role/override if you wish.

Attributes

  • sysctl: Hash of k/v pairs with sysctl settings.
  • sysctl_file: The location we write out the configuration defaults to /etc/sysctl.conf on anything not debian flavor defaults to /etc/sysctl.d/99-chef.conf on debian

Recipes

  • attribute_driver.rb: Reads attributes set in node[:sysctl][:values], and sets sysctl resources with the values
  • default.rb: Simply sets up the resources needed to use the lwrp
  • library.rb: Empty recipe if you want to avoid default, but still want to explicitly include (for whatever reason)

Sysctl LWRP

Properties

  • name: The key name. Defaults to the resource name i.e. sysctl "some.key"
  • value: what to set this key to
  • save: save the setting back to the node data (default: false)

Actions

  • :set Make sure the running state is set (default)
  • :write Write the config file (default)

Known Bugs

  • only intended to be used on Linux

Example Usage

LWRP

Ensure running state, and write this key to sysctl.conf

sysctl "kernel.sysrq" do
   value 1
end

Check out [example/recipes/example.rb] 2 For more recipe examples.

Attributes

In a role attribute or override:

{
  "sysctl": {
    "net.ipv4.tcp_window_scaling": 0
  }
}

Check out [example/attributes/example.rb] 1 For more attribute examples.

Author and License

Author Jesse Nelson spheromak@gmail.com

Copyright 2011-2013, Jesse Nelson

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.

About

No description, website, or topics provided.

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published