X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/d626103e52cc24d2e5e0f4d67bc46be86e0f6ce9..0ddacb5c8c0a919ff3f789c4dad04f504b243986:/cookbooks/openssh/recipes/default.rb diff --git a/cookbooks/openssh/recipes/default.rb b/cookbooks/openssh/recipes/default.rb index b69a86a51..3349dc85d 100644 --- a/cookbooks/openssh/recipes/default.rb +++ b/cookbooks/openssh/recipes/default.rb @@ -1,9 +1,9 @@ # -# Cookbook Name:: openssh +# Cookbook:: openssh # Recipe:: default # -# Copyright 2010, OpenStreetMap Foundation. -# Copyright 2008-2009, Opscode, Inc. +# Copyright:: 2010, OpenStreetMap Foundation. +# Copyright:: 2008-2009, Opscode, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -29,34 +29,35 @@ service "ssh" do end hosts = search(:node, "networking:interfaces").sort_by { |n| n[:hostname] }.collect do |node| - names = [node[:hostname]] + name = node.name.split(".").first - node.interfaces(:role => :external).each do |interface| - names |= ["#{node[:hostname]}.openstreetmap.org"] - names |= ["#{node[:hostname]}.#{interface[:zone]}.openstreetmap.org"] - end + names = [name] unless node.interfaces(:role => :internal).empty? - names |= ["#{node[:hostname]}.#{node[:networking][:roles][:external][:zone]}.openstreetmap.org"] + names.unshift("#{name}.#{node[:networking][:roles][:external][:zone]}.openstreetmap.org") + end + + unless node.interfaces(:role => :external).empty? + names.unshift("#{name}.openstreetmap.org") end keys = { - "ssh-rsa" => node[:keys][:ssh][:host_rsa_public], # ~FC039 - "ssh-dss" => node[:keys][:ssh][:host_dsa_public] # ~FC039 + "ssh-rsa" => node[:keys][:ssh][:host_rsa_public], + "ssh-dss" => node[:keys][:ssh][:host_dsa_public] } - if node[:keys][:ssh][:host_ecdsa_public] # ~FC039 - ecdsa_type = node[:keys][:ssh][:host_ecdsa_type] # ~FC039 + if node[:keys][:ssh][:host_ecdsa_public] + ecdsa_type = node[:keys][:ssh][:host_ecdsa_type] - keys[ecdsa_type] = node[:keys][:ssh][:host_ecdsa_public] # ~FC039 + keys[ecdsa_type] = node[:keys][:ssh][:host_ecdsa_public] end - if node[:keys][:ssh][:host_ed25519_public] # ~FC039 - keys["ssh-ed25519"] = node[:keys][:ssh][:host_ed25519_public] # ~FC039 + if node[:keys][:ssh][:host_ed25519_public] + keys["ssh-ed25519"] = node[:keys][:ssh][:host_ed25519_public] end Hash[ - :names => names.sort, + :names => names, :addresses => node.ipaddresses.sort, :keys => keys ]