From 347529a0cf23c774d46b06644602e9ff71a8ad8c Mon Sep 17 00:00:00 2001 From: weltamdraht Date: Wed, 8 Jul 2020 12:38:59 +0200 Subject: [PATCH] Adding inventory variable to set "extra_hosts" in generated compose file Signed-off-by: weltamdraht --- installer/inventory | 6 ++++++ .../local_docker/templates/docker-compose.yml.j2 | 14 ++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/installer/inventory b/installer/inventory index 85a875eb0a..8ea054a5fb 100644 --- a/installer/inventory +++ b/installer/inventory @@ -162,3 +162,9 @@ secret_key=awxsecret # Be aware that journald may rate limit your log messages if you choose it. # See: https://docs.docker.com/config/containers/logging/configure/ # docker_logger=journald +# + +# Add extra hosts to docker compose file. This might be necessary to +# sneak in servernames. For exmaple for DMZ self-signed CA certificates. +# Equivialent to using the --add-host parameter with "docker run". +#docker_compose_extra_hosts="otherserver.local:192.168.0.1,ldap-server.local:192.168.0.2" diff --git a/installer/roles/local_docker/templates/docker-compose.yml.j2 b/installer/roles/local_docker/templates/docker-compose.yml.j2 index aab318ec77..249cd4eca8 100644 --- a/installer/roles/local_docker/templates/docker-compose.yml.j2 +++ b/installer/roles/local_docker/templates/docker-compose.yml.j2 @@ -64,6 +64,13 @@ services: {% elif awx_alternate_dns_servers is defined %} dns: "{{ awx_alternate_dns_servers }}" {% endif %} + {% if (docker_compose_extra_hosts is defined) and (':' in docker_compose_extra_hosts) %} + {% set docker_compose_extra_hosts_list = docker_compose_extra_hosts.split(',') %} + extra_hosts: + {% for docker_compose_extra_host in docker_compose_extra_hosts_list %} + - "{{ docker_compose_extra_host }}" + {% endfor %} + {% endif %} environment: http_proxy: {{ http_proxy | default('') }} https_proxy: {{ https_proxy | default('') }} @@ -124,6 +131,13 @@ services: {% elif awx_alternate_dns_servers is defined %} dns: "{{ awx_alternate_dns_servers }}" {% endif %} + {% if (docker_compose_extra_hosts is defined) and (':' in docker_compose_extra_hosts) %} + {% set docker_compose_extra_hosts_list = docker_compose_extra_hosts.split(',') %} + extra_hosts: + {% for docker_compose_extra_host in docker_compose_extra_hosts_list %} + - "{{ docker_compose_extra_host }}" + {% endfor %} + {% endif %} environment: http_proxy: {{ http_proxy | default('') }} https_proxy: {{ https_proxy | default('') }}