# This file is generated by Puppet
# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

Host *
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no
<% if scope.lookupvar('::site_config::params::environment') == 'local' -%>
    #
    # Vagrant nodes should have strict host key checking
    # turned off. The problem is that the host key for a vagrant
    # node is specific to the particular instance of the vagrant
    # node you have running locally. For this reason, we can't
    # track the host keys, or your host key for vpn1 would conflict
    # with my host key for vpn1.
    #
    StrictHostKeyChecking no
<% end -%>

#
# Tell SSH what host key algorithm we should use. I don't understand why this
# is needed, since the man page says that "if hostkeys are known for the
# destination host then [HostKeyAlgorithms default] is modified to prefer
# their algorithms."
#

<% @hosts.sort.each do |name, host| -%>
Host <%= name %> <%= host['domain_full'] %> <%= host['domain_internal'] %> <%= host['ip_address'] %>
<% if host['host_pub_key'] -%>
HostKeyAlgorithms <%= host['host_pub_key'].split(" ").first %>
<% end -%>
<% if host['port'] -%>
Port <%= host['port'] %>
<% end -%>

<% end -%>