X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/81237de2de82c5da30ca650220e35d64fd6427a9..c4c1ad0640ba4be09143e3a0e70ce97146618f4b:/cookbooks/oxidized/recipes/default.rb diff --git a/cookbooks/oxidized/recipes/default.rb b/cookbooks/oxidized/recipes/default.rb index 9963670fc..66c919908 100644 --- a/cookbooks/oxidized/recipes/default.rb +++ b/cookbooks/oxidized/recipes/default.rb @@ -29,6 +29,7 @@ package %w[ libssh2-1-dev zlib1g-dev pkg-config + libyaml-dev ] keys = data_bag_item("oxidized", "keys") @@ -75,7 +76,7 @@ git "/opt/oxidized/daemon" do depth 1 user "oxidized" group "oxidized" - notifies :run, "bundle_install[/opt/oxidized/daemon]" + notifies :run, "bundle_install[/opt/oxidized/daemon]", :immediately end directory "/opt/oxidized/.ssh" do @@ -85,34 +86,41 @@ directory "/opt/oxidized/.ssh" do end # Key is set as a deployment key in github repo -file "/opt/oxidized/.ssh/id_rsa" do +file "/opt/oxidized/.ssh/id_ed25519" do content keys["git"].join("\n") owner "oxidized" group "oxidized" mode "400" - notifies :delete, "file[/opt/oxidized/.ssh/id_rsa.pub]", :immediately + notifies :delete, "file[/opt/oxidized/.ssh/id_ed25519.pub]", :immediately notifies :restart, "service[oxidized]" end # Ensure public key is deleted if private key is changed. Trigged by notify -file "/opt/oxidized/.ssh/id_rsa.pub" do +file "/opt/oxidized/.ssh/id_ed25519.pub" do action :nothing end -execute "/opt/oxidized/.ssh/id_rsa.pub" do - command "ssh-keygen -f /opt/oxidized/.ssh/id_rsa -y > /opt/oxidized/.ssh/id_rsa.pub" +execute "/opt/oxidized/.ssh/id_ed25519.pub" do + command "ssh-keygen -f /opt/oxidized/.ssh/id_ed25519 -y > /opt/oxidized/.ssh/id_ed25519.pub" user "oxidized" group "oxidized" - creates "/opt/oxidized/.ssh/id_rsa.pub" + creates "/opt/oxidized/.ssh/id_ed25519.pub" notifies :restart, "service[oxidized]" end -ssh_known_hosts_entry 'github.com' do +ssh_known_hosts_entry "github.com" do + action [:create, :flush] file_location "/opt/oxidized/.ssh/known_hosts" owner "oxidized" group "oxidized" end +directory "/var/lib/oxidized" do + owner "oxidized" + group "oxidized" + mode "750" +end + git "/var/lib/oxidized/configs.git" do action :sync repository "git@github.com:openstreetmap/oxidized-configs.git" # Uses oxidized ssh key @@ -135,15 +143,13 @@ systemd_service "oxidized" do after "network.target" user "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" nice 10 - private_tmp true - private_devices true - protect_system "full" - protect_home true - no_new_privileges true + sandbox :enable_network => true + read_write_paths ["/run/oxidized", "/var/lib/oxidized", "/var/log/oxidized"] restart "on-failure" notifies :restart, "service[oxidized]" end