Skip to content

Instantly share code, notes, and snippets.

@jvshahid
Last active December 21, 2015 18:19
Show Gist options
  • Save jvshahid/6346633 to your computer and use it in GitHub Desktop.
Save jvshahid/6346633 to your computer and use it in GitHub Desktop.
Errplane agent chef recipe
# determine package type and architecture
user "errplane" do
action :create
system
end
if platform_family?("debian")
arch = node['kernel']['machine'] =~ /x86_64/ ? "amd64" : "i386"
package_name = "errplane-agent_latest_#{arch}.deb"
distro_provider = Chef::Provider::Package::Dpkg
else
arch = node['kernel']['machine'] =~ /x86_64/ ? "x86_64" : "i686"
package_name = "errplane-agent-latest-1.#{arch}.rpm"
distro_provider = Chef::Provider::Package::Rpm
end
filename="#{Chef::Config[:file_cache_path]}/#{package_name}"
remote_file filename do
backup false
source "https://s3.amazonaws.com/errplane-agent/#{package_name}"
use_last_modified true
end
package "errplane-agent" do
provider distro_provider
action :install
source filename
end
service "errplane-agent" do
supports :restart => true, :status => true
start_command "/etc/init.d/errplane-agent start"
stop_command "/etc/init.d/errplane-agent stop"
restart_command "/etc/init.d/errplane-agent restart"
status_command "/etc/init.d/errplane-agent status"
subscribes :restart, resources(:package => "errplane-agent")
end
# Use one of the following blocks to generate the initial
# errplane-agent configuration
# bash "generate errplane agent config file" do
# api_key = node[:errplane][:api_key]
# app_key = node[:errplane][:app_key]
# environment = node[:errplane][:environment]
# code <<-EOF
# sudo -u errplane errplane-config-generator -api-key="#{api_key}" -app-key="#{app_key}" --environment="#{environment}"
# EOF
# not_if {File.exists?("/etc/errplane-agent/config.yml")}
# notifies :restart, resources(:service => "errplane-agent")
# end
# file "/etc/errplane-agent/config.yml" do
# source "errplane-agent-config.conf"
# mode 0644
# notifies :restart, resources(:service => "errplane-agent")
# end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment