Skip to content

Instantly share code, notes, and snippets.

View ampledata's full-sized avatar

Greg Albrecht W2GMD ampledata

View GitHub Profile
require 'rubygems'
require 'cloudkick'
require 'json'
require 'timeout'
module MC
class CloudkickHandler < Chef::Handler
CHECK_NAME = 'chef-clientRun'
TIMEOUT = 10
[Wed, 01 Jun 2011 15:27:09 -0700] INFO: *** Chef 0.10.0 ***
[Wed, 01 Jun 2011 15:27:10 -0700] DEBUG: Building node object for jupiter.splunk.com
[Wed, 01 Jun 2011 15:27:10 -0700] DEBUG: Extracting run list from JSON attributes provided on command line
[Wed, 01 Jun 2011 15:27:10 -0700] INFO: Setting the run_list to ["recipe[git]"] from JSON
[Wed, 01 Jun 2011 15:27:10 -0700] DEBUG: Applying attributes from json file
[Wed, 01 Jun 2011 15:27:10 -0700] DEBUG: Platform is mac_os_x version 10.6.7
[Wed, 01 Jun 2011 15:27:10 -0700] INFO: Run List is [recipe[git]]
[Wed, 01 Jun 2011 15:27:10 -0700] INFO: Run List expands to [git]
[Wed, 01 Jun 2011 15:27:10 -0700] INFO: Starting Chef Run for jupiter.splunk.com
[Wed, 01 Jun 2011 15:27:10 -0700] DEBUG: No chefignore file found at /Users/gba/src/chef/cookbooks/chefignore no files will be ignored
require 'rubygems'
require 'dynect_rest'
res = 'i-8bd180e5.example.com'
dyn = DynectRest.new("example", "me", "xxx", "example.com")
DynectRest::Resource.new(dyn, 'CNAMERecord', 'example.com').get(res)
@ampledata
ampledata / gist:1182528
Created August 31, 2011 00:36
for loop shortcut
for k in id_rsa test.pem; do
chmod 0400 $k
ssh-add $k
done
{:period=>150000,
:type=>{:description=>"DISK", :code=>51},
:details=>{:path=>"/", :fs_critical=>95, :fs_warn=>90},
:threshold=>0,
:send_interval=>0,
:monitor_id=>"q86950d1e9",
:timeout=>100000}
@ampledata
ampledata / reload.rb
Created October 28, 2011 18:24
Reload Splunk Apps
#!/usr/bin/env ruby
#
# Reload Splunk Apps
#
# Author:: Greg Albrecht <gba@splunk.com>
require 'net/http'
require 'net/https'
@http = Net::HTTP.new('splunk.example.com', 8089)
@ampledata
ampledata / gist:1428457
Created December 3, 2011 23:13
'save and test notification' JSON
{
"node": {
"status": "running",
"provider_id": "pa931001",
"tags": ["agent"],
"color": "#fffffff",
"ipaddress": "1.2.3.4",
"id": "n1ad8bdcc9",
"name": "test",
"private_ips": [],
apt_repository 'nodejs' do
action :add
uri 'http://ppa.launchpad.net/chris-lea/node.js/ubuntu'
distribution node['lsb']['codename']
components ['main']
key 'C7917B12'
keyserver 'keyserver.ubuntu.com'
end
['nodejs', 'nodejs-dev', 'npm', 'build-essential'].each do |pkg|
# $SPLUNK_HOME/etc/system/local/inputs.conf
[batch:///var/mail]
disabled = false
move_policy = sinkhole
sourcetype = mbox
@ampledata
ampledata / conditional_string.rb
Created April 11, 2012 19:07
Conditional String?
#!/usr/bin/env ruby
# I've encountered this pattern in every language I've used:
#
# 1. Given a list of items.
# 2. I want to convert this list to a string.
# 3. Where the items are separated by a comma.
# 4. The last item should not end with a comma.
#
# This is what I'm using, but I feel there's a better way: