mirror of
https://github.com/phfroidmont/self-hosting.git
synced 2025-12-25 13:46:59 +01:00
Add hostvars to dynamic inventory to specify ssh ProxyCommand
This commit is contained in:
parent
9f8e3dc0c7
commit
3bcd961c81
3 changed files with 23 additions and 6 deletions
8
ansible.cfg
Normal file
8
ansible.cfg
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
[defaults]
|
||||
any_errors_fatal = True
|
||||
deprecation_warnings = True
|
||||
display_skipped_hosts = False
|
||||
host_key_checking = False
|
||||
nocows = 1
|
||||
remote_user = root
|
||||
retry_files_enabled = False
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
---
|
||||
ansible_user: deploy
|
||||
ansible_become: true
|
||||
ansible_user: root
|
||||
ansible_port: 22
|
||||
|
||||
harden_linux_sshd_settings_user:
|
||||
|
|
|
|||
|
|
@ -52,11 +52,17 @@ class SCWInventory(object):
|
|||
[i['name'], i['public_ip'], i['tags'], i['private_ip']] for i in result_par1['servers'] + result_ams1['servers']
|
||||
]
|
||||
for host, ip_info, tags, private_ip in self.inventory:
|
||||
self.response['_meta']['hostvars'][host] = {
|
||||
'ansible_host': ip_info['address'] if ip_info else private_ip,
|
||||
'public_ip': ip_info['address'] if ip_info else None,
|
||||
'private_ip': private_ip
|
||||
host_vars = {
|
||||
'private_ip': private_ip,
|
||||
'ansible_python_interpreter': '/usr/bin/python3'
|
||||
}
|
||||
if ip_info:
|
||||
host_vars['ansible_host'] = ip_info['address']
|
||||
host_vars['public_ip'] = ip_info['address']
|
||||
else:
|
||||
host_vars['ansible_host'] = private_ip
|
||||
|
||||
self.response['_meta']['hostvars'][host] = host_vars
|
||||
if tags:
|
||||
for tag in tags:
|
||||
self._add_to_response(
|
||||
|
|
@ -64,6 +70,10 @@ class SCWInventory(object):
|
|||
host
|
||||
)
|
||||
|
||||
for host, variables in self.response['_meta']['hostvars'].items():
|
||||
if host != 'proxy1':
|
||||
variables['ansible_ssh_common_args'] = '-o ProxyCommand="ssh -W %h:%p -q root@' + self.response['_meta']['hostvars']['proxy1']['public_ip'] + '"'
|
||||
|
||||
def _add_to_response(self, group, hostname):
|
||||
'''
|
||||
add a host to a group within the response
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue