This commit is contained in:
Vincent Van der Kussen 2018-09-13 07:50:32 +02:00
parent e291ce2c9e
commit 1985da8043
3 changed files with 57 additions and 23 deletions

View file

@ -35,7 +35,8 @@ users:
#multiline
state: absent
ssh_config:
- ServerAliveInterval: 10
- line: "ServerAliveInterval: 10"
- line: "Compression no"
- name: test
state: present
keys:

View file

@ -1,3 +1,3 @@
10.106.116.157 ssh_short_name=host1 ansible_user=root
10.106.116.139 ssh_short_name=host2 ansible_user=root
34.242.108.38 ssh_short_name=freebsd1 ansible_user=ec2-user ansible_python_interpreter=/usr/local/bin/python2.7
10.106.116.157 ansible_user=root
10.106.116.139 ansible_user=root
#34.242.108.38 ssh_short_name=freebsd1 ansible_user=ec2-user ansible_python_interpreter=/usr/local/bin/python2.7

View file

@ -19,27 +19,60 @@
no_log: True
- name: Configure ~/.ssh/config
blockinfile:
path: "/home/{{ item.0.name }}/.ssh/config"
owner: "{{ item.0.name }}"
group: "{{ item.0.name }}"
mode: 0600
marker: "# {mark} ANSIBLE MANAGED BLOCK"
content: |
{% for host in groups['all'] -%}
Host {{ hostvars[host]['ssh_short_name'] }}
Hostname {{ hostvars[host]['inventory_hostname'] }}
RemoteForward /home/{{ item.0.name }}/.gnupg/S.gpg-agent $HOME/.gnupg/S.gpg-agent
RemoteForward /home/{{ item.0.name }}/.gnupg/S.gpg-agent.ssh $HOME/.gnupg/S.gpg-agent.ssh
{% for k,v in item.1.items() %}
{% if k|lower != "host" and k|lower != "hostname" %}
{{k}} {{v}}
{% endif %}
{% endfor %}
{% endfor %}
- name: CHECK VARS
debug:
msg: "{{ item.1 }}"
with_subelements:
- "{{ users }}"
- ssh_config
- skip_missing: true
when: item.0.state == "present"
- name: Configure ~/.ssh/config
blockinfile:
#path: "/home/{{ item.0.name }}/.ssh/config"
path: "/home/{{ item.name }}/.ssh/config"
#owner: "{{ item.0.name }}"
owner: "{{ item.name }}"
#group: "{{ item.0.name }}"
group: "{{ item.name }}"
mode: 0600
marker: "# {mark} ANSIBLE MANAGED BLOCK"
content: |
{% for host in groups['all'] -%}
Host {{ hostvars[host]['ansible_hostname'] }}
Hostname {{ hostvars[host]['inventory_hostname'] }}
RemoteForward /home/{{ item.name }}/.gnupg/S.gpg-agent $HOME/.gnupg/S.gpg-agent
RemoteForward /home/{{ item.name }}/.gnupg/S.gpg-agent.ssh $HOME/.gnupg/S.gpg-agent.ssh
{% for item in item.ssh_config %}
{{ item.line }}
{% endfor %}
{% endfor %}
with_items:
- "{{ users }}"
- skip_missing: true
when: item.ssh_config is defined and item.state == "present"
#- name: Configure ~/.ssh/config
# blockinfile:
# path: "/home/{{ item.0.name }}/.ssh/config"
# owner: "{{ item.0.name }}"
# group: "{{ item.0.name }}"
# mode: 0600
# marker: "# {mark} ANSIBLE MANAGED BLOCK"
# content: |
# {% for host in groups['all'] -%}
# Host {{ hostvars[host]['ssh_short_name'] }}
# Hostname {{ hostvars[host]['inventory_hostname'] }}
# RemoteForward /home/{{ item.0.name }}/.gnupg/S.gpg-agent $HOME/.gnupg/S.gpg-agent
# RemoteForward /home/{{ item.0.name }}/.gnupg/S.gpg-agent.ssh $HOME/.gnupg/S.gpg-agent.ssh
# {% for k,v in item.1.items() %}
# {% if k|lower != "host" and k|lower != "hostname" %}
# {{k}} {{v}}
# {% endif %}
# {% endfor %}
# {% endfor %}
# with_dict:
# - "{{ users }}"
# - skip_missing: true
# when: item.0.state == "present"