aboutsummaryrefslogtreecommitdiffstats
path: root/roles/ssh_dns/templates
diff options
context:
space:
mode:
authorbinary <me@rgoncalves.se>2020-11-19 23:39:47 +0100
committerbinary <me@rgoncalves.se>2020-11-19 23:39:47 +0100
commit5a42c1c27eaf683b6bf51e0d875c5a7fc1ce670c (patch)
tree19af5996b37bf8127d933aa7ed9040d902b27802 /roles/ssh_dns/templates
parent4d4c3509914cacb571901840780d845ee32d0769 (diff)
downloadinfrastructure-5a42c1c27eaf683b6bf51e0d875c5a7fc1ce670c.tar.gz
Refactor ssh in sub roles
Diffstat (limited to 'roles/ssh_dns/templates')
-rw-r--r--roles/ssh_dns/templates/generate_dns.j224
1 files changed, 24 insertions, 0 deletions
diff --git a/roles/ssh_dns/templates/generate_dns.j2 b/roles/ssh_dns/templates/generate_dns.j2
new file mode 100644
index 0000000..5d58ae9
--- /dev/null
+++ b/roles/ssh_dns/templates/generate_dns.j2
@@ -0,0 +1,24 @@
+
+# ssh configuration for dns ~~ ~/.ssh/.config.d/
+# managed by Ansible
+
+{% for h in groups["all"] %}
+{% set h = hostvars[h] %}
+{##}
+{% 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 "ls /sys/class/net/{{ _i.dcontroller }} && ! ping -c 1 -W 5 {{ h.ip.out }}"
+ HostName {{ h.ip.in }}
+ Port {{ _port }}
+
+Match originalhost {{ h.ansible_host }}
+ HostName {{ h.ip.out }}
+ Port {{ _port }}
+ User root
+
+{% endif %}
+{##}
+{% endfor %}
remember that computers suck.