Skip to content

Instantly share code, notes, and snippets.

ruby_block "foo" do
block do
node[:some][:value] = 'is awesome'
end
action :nothing
run_action :create
end
node.save if node.run_list.roles.include?('mysql_master')
sleep 5 # just in case the queue takes a while
search(:node, 'role:mysql_master') do |foo|
...
end
{
"id": "0123456789abcdef",
"name": "myname",
"provider": "puppet",
"os": {
"name": "linux",
"version": "2.6.35-22-generic",
"vendor": "ubuntu",
"vendor_version": "10.10"
},
case node[:hostname]
when "foo"
node[:cron][:backup][:hour] = 10
when "bar"
node[:cron][:backup][:hour] = 11
end
require 'chef'
require 'chef/node'
class Opscode
class Backup
attr_accessor :backup_dir
def initialize(backup_dir, config_file)
@backup_dir = backup_dir
Chef::Config.from_file(config_file)
def action_create
if @current_resource.to != ::File.expand_path(@new_resource.to, @new_resource.target_file)
noop "Creating a #{@new_resource.link_type} link from #{@new_resource.to} -> #{@new_resource.target_file} for #{@new_resource}" do
if @new_resource.link_type == :symbolic
unless (::File.symlink?(@new_resource.target_file) && ::File.readlink(@new_resource.target_file) == @new_resource.to)
if ::File.symlink?(@new_resource.target_file) || ::File.exist?(@new_resource.target_file)
::File.unlink(@new_resource.target_file)
end
::File.symlink(@new_resource.to,@new_resource.target_file)
end
node['filesystem']['/dev/disk0s2']['percent_used'] =~ /^(\d+)%$/
percent_used = $1.to_i
if percent_used > 90
include_recipe "raid::grow"
end
#!/usr/bin/env ruby
require 'rubygems'
require 'chef'
require 'chef/client'
require 'chef/run_context'
Chef::Config[:solo] = true
Chef::Config[:log_level] = :info
Chef::Log.level(:info)
#!/usr/bin/env ruby
require 'rubygems'
require 'chef'
require 'chef/client'
require 'chef/run_context'
Chef::Config[:solo] = true
Chef::Config[:log_level] = :info
Chef::Log.level(:info)
@adamhjk
adamhjk / README
Created October 28, 2010 16:29 — forked from kennethkalmer/README
Prototype mysql_grant provider for Chef
---------------------------------------
Drop the two files into your mysql cookbook, and experiment with the following examples:
mysql_grant "kenneth" do
action :grant
username "root" # <- User with admin privs
password node[:mysql][:server_root_password]
# Actual grant details