Skip to content

Instantly share code, notes, and snippets.

@fujin
Forked from brynary/client.rb
Created December 30, 2009 10:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save fujin/265976 to your computer and use it in GitHub Desktop.
Save fujin/265976 to your computer and use it in GitHub Desktop.
the Chef client.rb config that sucks instance data
# Chef Client Config File
# Automatically grabs configuration from ohai ec2 metadata.
require 'ohai'
require 'json'
o = Ohai::System.new
o.all_plugins
chef_config = JSON.parse(o[:ec2][:userdata])
if chef_config.kind_of?(Array)
chef_config = chef_config[o[:ec2][:ami_launch_index]]
end
log_level :info
log_location STDOUT
chef_server_url chef_config["chef_server"]
registration_url chef_config["chef_server"]
openid_url chef_config["chef_server"]
template_url chef_config["chef_server"]
remotefile_url chef_config["chef_server"]
search_url chef_config["chef_server"]
role_url chef_config["chef_server"]
client_url chef_config["chef_server"]
node_name o[:ec2][:instance_id]
unless File.exists?("/etc/chef/client.pem")
File.open("/etc/chef/validation.pem", "w") do |f|
f.print(chef_config["validation_key"])
end
end
if chef_config.has_key?("attributes")
File.open("/etc/chef/client-config.json", "w") do |f|
f.print(JSON.pretty_generate(chef_config["attributes"]))
end
json_attribs "/etc/chef/client-config.json"
end
validation_key "/etc/chef/validation.pem"
validation_client_name chef_config["validation_client_name"]
Mixlib::Log::Formatter.show_time = true
{
"attributes": {
"run_list": [
"recipe[foo]",
"role[bar]"
]
},
"validation_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAyehqT9Rp2mD2w4KMUwW5ctQ1z\/Kklz+EA0BPNso4Ka1X7Q4O\nJlPcVrCTrh8SUp9h6khbLpcShK4uDVh7LDTU66UzpALBMTd\/8BFkHLPjs2KCd2tj\nLP3uNeBn9UitP1PXyFM2cesHYv6iRMAfKa1XKJKZ5crUmAZpLzMiJk57bOXMTjI8\n5RFr\/1rjIaOCLOmwAbZdOe30p+UqeEVf3JkeR96vjzN43WMZXvbEQMSAQWc\/HRdG\nPX8V9YI7pnI4HU4eOam2Sq3ahvFK949qaZsvNrfeKof8D8PSVpFqXDS+7cNGoHj3\nE44AuUWV0zf6DSjS\/JL3Y87lAapbL2enSr+0wwIDAQABAoIBABqYxBBaAcujhD4C\n32s8UM6Ah8opw2atFj27ZfPotXc\/\/1oZxOFloJvGzN1d+HLrzeEnwOMlQWo665QU\neL09BGM6MtBDEKHkFrVQBSkGxVLnAhqrCbhuhseQFQGpnjC+Yalg1MYy2JlAw61c\nxX4e+GE+1oj\/q\/uOtKJkEPaM1hNlAhNIFoCLdXl1eBx\/4egjle59HaEIXZi0v6MP\nljoJOmiR1gxcI5S+cYiOPl9PM1sV2nNRRPNVJDvRVdhYEQf5IrnHsnbukavsH0\/G\nipg\/01IYii9V8bkTGmmY1yVKgjrGwTg64hPFrZpwsQHLAhztPQrC2Jn+m6\/uBgWR\n\/+v+T5ECgYEA6yG2SjNK1ON2apjL8VEq7iF+9cPlgKHVTh3Wi9ug7V+SmPGbGbQc\ndyVnj7nnDgabpzF6Z0DTFJxqxx68BJohyu4e1jd5vatcapELmVWmB800C0iP7JxB\nw1cw0G08q+MrIF6CAHaxbPArHxFiPtWMD0itgD51ZbtduWw7uXX4C2kCgYEA29PY\nNPszCHoxWIoHRDuSNydiQAwFeB0fTNXQrTpdkE8okxiIoJw+Djk1zTJ0J\/BUKYtd\nhdwjnH9FNEaN3HK13jH\/hogvrSrhrC7yxQt215Y8nfRhTKfhrVtimIGWQt1BHbfG\njzh9w297NePoD2BRABPb4GQ1iWZz1eA7Rmgm1UsCgYEAwbB5m1H5WLkvOMw5Y8Y7\nGQKatRT0HywwrDLEI11+iUtrVXXhECFgOX2ke67l+JXU7rtBW4D44EehC6vscdYN\n9D6HRGtaa7WXYWmuJld5d3\/AWXMirARj3+gZG\/iAPA\/b3MQ9Tuh3a4fD3cnSJnR+\n9bAmzDenOXBI2o+f+zyEYdECgYAQ5u31zOa0nSiUJTC\/11C7uuR8BjCZdqvEbaA4\n4Yb2JI\/7F2TR7JF86HsxhtKVi439D8EmHLIEQ2jfxxj7PTqsle2Ou4Pm7agiZA24\nhtQhaWTJxFOC4FmiyacAEN6rz3VFQq8arf5Fe5nen+Jk5EP2HJDIZQwUv3Lim\/YS\nyMlLlwKBgQDHCxJIvdNSDj9txpvMpyiPD64XglTupy6xKRjSjiC6DLpDn2jvvisc\nD1lrEnpZCow62Azpp2kyA\/g2DbDPiwwPVDGXibvtl5TtYZCdsrzl0CZS5DXlMxfc\nwirursGexJa5Sdapio9VZnjkc2XSIDQkySdNNjfpGeF9A7xlIP17DQ==\n-----END RSA PRIVATE KEY-----\n",
"validation_client_name": "chef-validator",
"chef_server": "http:\/\/localhost:4000"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment