diff options
Diffstat (limited to 'roles/sshdns/templates')
-rw-r--r-- | roles/sshdns/templates/sshdns.j2 | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/roles/sshdns/templates/sshdns.j2 b/roles/sshdns/templates/sshdns.j2 new file mode 100644 index 0000000..1778215 --- /dev/null +++ b/roles/sshdns/templates/sshdns.j2 @@ -0,0 +1,20 @@ +{% import 'macros.j2' as macros with context %} + +# ssh configuration for dns ~~ ~/.ssh/.config.d/ +# managed by Ansible + +{% set dcontroller = hostvars[global.dcontroller] %} +{% call(h) macros.loop_hosts("servers") %} +{% if h.ip is defined and h.services is defined %} +{% set _port = h.services | selectattr("name", "equalto", "ssh") | map(attribute="port") | list | join(' ') %} +# {{ h.ansible_host }} +Match originalhost {{ h.ansible_host }} exec "ping -c 1 -w {{ sshdns_waittime }} {{ dcontroller.ip.in }} && ! ping -c 1 -w {{ sshdns_waittime }} {{ h.ip.out }}" + HostName {{ h.ip.in }} + Port {{ _port }} +Match originalhost {{ h.ansible_host }} + HostName {{ h.ip.out }} + Port {{ _port }} + User root + +{% endif %} +{% endcall %} |