]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/oxidized/recipes/default.rb
oxidized: use runtime directory for systemd
[chef.git] / cookbooks / oxidized / recipes / default.rb
index b0f25962c42fe8a8ba850607f6526289ddaebeb3..6d5486d498980bd90da1fcd1c2fa987101882870 100644 (file)
@@ -34,6 +34,12 @@ package %w[
 keys = data_bag_item("oxidized", "keys")
 devices = data_bag_item("oxidized", "devices")
 
+directory "/etc/oxidized" do
+  owner "root"
+  group "root"
+  mode "755"
+end
+
 template "/etc/oxidized/config" do
   source "config.erb"
   owner "oxidized"
@@ -57,6 +63,27 @@ directory "/var/log/oxidized" do
   mode "755"
 end
 
+directory "/opt/oxidized" do
+  owner "oxidized"
+  group "oxidized"
+  mode "755"
+end
+
+git "/opt/oxidized/daemon" do
+  action :sync
+  repository "https://github.com/openstreetmap/oxidized.git"
+  depth 1
+  user "oxidized"
+  group "oxidized"
+  notifies :run, "bundle_install[/opt/oxidized/daemon]"
+end
+
+directory "/opt/oxidized/.ssh" do
+  owner "oxidized"
+  group "oxidized"
+  mode "700"
+end
+
 # Key is set as a deployment key in github repo
 file "/opt/oxidized/.ssh/id_rsa" do
   content keys["git"].join("\n")
@@ -72,21 +99,24 @@ file "/opt/oxidized/.ssh/id_rsa.pub" do
   action :nothing
 end
 
-exec "/opt/oxidized/.ssh/id_rsa.pub" do
+execute "/opt/oxidized/.ssh/id_rsa.pub" do
   command "ssh-keygen -f /opt/oxidized/.ssh/id_rsa -y > /opt/oxidized/.ssh/id_rsa.pub"
-  owner "oxidized"
+  user "oxidized"
   group "oxidized"
   creates "/opt/oxidized/.ssh/id_rsa.pub"
   notifies :restart, "service[oxidized]"
 end
 
-git "/opt/oxidized" do
-  action :sync
-  repository "https://github.com/openstreetmap/oxidized.git"
-  depth 1
-  user "oxidized"
+ssh_known_hosts_entry 'github.com' do
+  file_location "/opt/oxidized/.ssh/known_hosts"
+  owner "oxidized"
+  group "oxidized"
+end
+
+directory "/var/lib/oxidized" do
+  owner "oxidized"
   group "oxidized"
-  notifies :run, "bundle_install[/opt/oxidized]"
+  mode "750"
 end
 
 git "/var/lib/oxidized/configs.git" do
@@ -97,7 +127,7 @@ git "/var/lib/oxidized/configs.git" do
   group "oxidized"
 end
 
-bundle_install "/opt/oxidized" do
+bundle_install "/opt/oxidized/daemon" do
   action :nothing
   options "--deployment"
   user "oxidized"
@@ -110,7 +140,8 @@ systemd_service "oxidized" do
   description "oxidized network device backup daemon"
   after "network.target"
   user "oxidized"
-  working_directory "/opt/oxidized"
+  working_directory "/opt/oxidized/daemon"
+  runtime_directory "oxidized"
   exec_start "#{node[:ruby][:bundle]} exec oxidized"
   environment "OXIDIZED_HOME" => "/etc/oxidized",
               "OXIDIZED_LOGS" => "/var/log/oxidized"