Skip to content

Commit 03e9096

Browse files
denrafmaxamillion
authored andcommitted
Use DOCKER env variables when defined (ansible#36759)
* Use DOCKER_DEFAULT_IP when defined * default localhost value overwrites DOCKER_TLS_HOSTNAME * Backward compatibility, allow localhost as default docker_tls_hostname
1 parent 5852df5 commit 03e9096

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

contrib/inventory/docker.py

+10-7
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,7 @@ class Client:
394394
DEFAULT_DOCKER_HOST = 'unix://var/run/docker.sock'
395395
DEFAULT_TLS = False
396396
DEFAULT_TLS_VERIFY = False
397+
DEFAULT_TLS_HOSTNAME = "localhost"
397398
DEFAULT_IP = '127.0.0.1'
398399
DEFAULT_SSH_PORT = '22'
399400

@@ -409,6 +410,7 @@ class Client:
409410
ssl_version='DOCKER_SSL_VERSION',
410411
tls='DOCKER_TLS',
411412
tls_verify='DOCKER_TLS_VERIFY',
413+
tls_hostname='DOCKER_TLS_HOSTNAME',
412414
timeout='DOCKER_TIMEOUT',
413415
private_ssh_port='DOCKER_DEFAULT_SSH_PORT',
414416
default_ip='DOCKER_DEFAULT_IP',
@@ -692,7 +694,7 @@ def get_hosts(self, config):
692694
api_version = host.get('version') or def_version or self._args.api_version or \
693695
self._env_args.api_version or DEFAULT_DOCKER_API_VERSION
694696
tls_hostname = host.get('tls_hostname') or def_tls_hostname or self._args.tls_hostname or \
695-
self._env_args.tls_hostname
697+
self._env_args.tls_hostname or DEFAULT_TLS_HOSTNAME
696698
tls_verify = host.get('tls_verify') or def_tls_verify or self._args.tls_verify or \
697699
self._env_args.tls_verify or DEFAULT_TLS_VERIFY
698700
tls = host.get('tls') or def_tls or self._args.tls or self._env_args.tls or DEFAULT_TLS
@@ -716,8 +718,8 @@ def get_hosts(self, config):
716718

717719
timeout = host.get('timeout') or def_timeout or self._args.timeout or self._env_args.timeout or \
718720
DEFAULT_TIMEOUT_SECONDS
719-
default_ip = host.get('default_ip') or def_ip or self._args.default_ip_address or \
720-
DEFAULT_IP
721+
default_ip = host.get('default_ip') or def_ip or self._env_args.default_ip or \
722+
self._args.default_ip_address or DEFAULT_IP
721723
default_ssh_port = host.get('private_ssh_port') or def_ssh_port or self._args.private_ssh_port or \
722724
DEFAULT_SSH_PORT
723725
host_dict = dict(
@@ -740,7 +742,8 @@ def get_hosts(self, config):
740742
docker_host = def_host or self._args.docker_host or self._env_args.docker_host or DEFAULT_DOCKER_HOST
741743
api_version = def_version or self._args.api_version or self._env_args.api_version or \
742744
DEFAULT_DOCKER_API_VERSION
743-
tls_hostname = def_tls_hostname or self._args.tls_hostname or self._env_args.tls_hostname
745+
tls_hostname = def_tls_hostname or self._args.tls_hostname or self._env_args.tls_hostname or \
746+
DEFAULT_TLS_HOSTNAME
744747
tls_verify = def_tls_verify or self._args.tls_verify or self._env_args.tls_verify or DEFAULT_TLS_VERIFY
745748
tls = def_tls or self._args.tls or self._env_args.tls or DEFAULT_TLS
746749
ssl_version = def_ssl_version or self._args.ssl_version or self._env_args.ssl_version
@@ -758,7 +761,7 @@ def get_hosts(self, config):
758761
key_path = os.path.join(key_path, 'key.pem')
759762

760763
timeout = def_timeout or self._args.timeout or self._env_args.timeout or DEFAULT_TIMEOUT_SECONDS
761-
default_ip = def_ip or self._args.default_ip_address or DEFAULT_IP
764+
default_ip = def_ip or self._env_args.default_ip or self._args.default_ip_address or DEFAULT_IP
762765
default_ssh_port = def_ssh_port or self._args.private_ssh_port or DEFAULT_SSH_PORT
763766
host_dict = dict(
764767
docker_host=docker_host,
@@ -846,8 +849,8 @@ def _parse_cli_args(self):
846849
parser.add_argument('--docker-host', action='store', default=None,
847850
help="The base url or Unix sock path to connect to the docker daemon. Defaults to %s"
848851
% (DEFAULT_DOCKER_HOST))
849-
parser.add_argument('--tls-hostname', action='store', default='localhost',
850-
help="Host name to expect in TLS certs. Defaults to 'localhost'")
852+
parser.add_argument('--tls-hostname', action='store', default=None,
853+
help="Host name to expect in TLS certs. Defaults to %s" % DEFAULT_TLS_HOSTNAME)
851854
parser.add_argument('--api-version', action='store', default=None,
852855
help="Docker daemon API version. Defaults to %s" % (DEFAULT_DOCKER_API_VERSION))
853856
parser.add_argument('--timeout', action='store', default=None,

0 commit comments

Comments
 (0)