in chef/cookbooks/cpe_ssh/resources/cpe_ssh.rb [25:91]
def configure
cpe_ssh_config = node['cpe_ssh']['config'].to_h.reject do |_k, v|
v.nil? || v.empty?
end
ssh_config_set = true
if cpe_ssh_config.empty? || cpe_ssh_config.nil?
Chef::Log.warn('config is not populated, skipping configuration')
ssh_config_set = false
end
cpe_known_hosts = node['cpe_ssh']['known_hosts'].compact
ssh_config = CPE::SSH.read_config
if ssh_config_set
unless CPE::SSH.chef_managed_config?
ssh_config += CPE::SSH.ssh_config_lines
end
update_ssh_config_hosts(ssh_config)
elsif !ssh_config_set
remove_cpe_include(ssh_config)
remove_ssh_config_hosts(ssh_config)
file CPE::SSH.cpe_config_path do
action :delete
end
end
file CPE::SSH.config_path do
owner root_owner
group node['root_group']
mode '0644'
content ssh_config.join
end
template CPE::SSH.cpe_config_path do
only_if { ssh_config_set }
source 'ssh_config_cpe.erb'
owner root_owner
group node['root_group']
mode '0644'
variables(
'config' => cpe_ssh_config,
)
end
template CPE::SSH.known_hosts_path do
source 'known_hosts_cpe.erb'
owner root_owner
group node['root_group']
mode '0644'
variables(
'config' => cpe_known_hosts,
)
end
end