Skip to content

Instantly share code, notes, and snippets.

@densone
Created November 9, 2010 01:02
Show Gist options
  • Save densone/668554 to your computer and use it in GitHub Desktop.
Save densone/668554 to your computer and use it in GitHub Desktop.
#!/bin/env/ruby
require 'net/http'
require 'rubygems'
require 'json'
require 'logger'
couch_server = "http://localhost:5984/"
active_tasks = ['_active_tasks']
couch_db = 'chef/'
@@log = Logger.new(STDOUT)
@@log.level = Logger::INFO
compact_functions = ['_compact/clients','_compact/data_bags','_compact/id_map','_compact/nodes','_compact/roles','_compact/users','_compact/']
def couch_post(server,functions,db)
post_data = []
for function in functions
#This will be cleaned up in the future for more indepth posts.
res = Net::HTTP.post_form(URI.parse(server + db + function),{})
post_data << res
end
return post_data
end
def compact_db(server,functions,db)
@@log.info("Starting compact of chef database")
messages = couch_post(server,functions,db)
for message in messages
@@log.info(message)
end
@@log.info("Completed compact of chef database")
end
compact_db(couch_server,compact_functions,couch_db)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment