{# Aggregate plain-HTTP registries (cluster build registry + Hub pull-through mirror) into a single insecure_registries list so docker accepts them. #} {% set _insecure = [] %} {% if DEPLOYMENT_MODE == 'swarm' and (swarm.registry.host | length > 0) %} {% set _ = _insecure.append(swarm.registry.host ~ ':' ~ swarm.registry.port) %} {% endif %} {% set _cache_hosts = groups['svc-registry-cache'] | default([]) %} {% if _cache_hosts | length > 0 %} {% set _cache_port = lookup('config', 'svc-registry-cache', 'services.cache.ports.local.registry') %} {% set _ = _insecure.append(_cache_hosts[0] ~ ':' ~ _cache_port) %} {% endif %} { {% if SYS_SVC_CONTAINER_DATA_ROOT | length > 0 %} "data-root": "{{ SYS_SVC_CONTAINER_DATA_ROOT }}", {% endif %} {% if lookup('container_dns') %} "dns": {{ lookup('container_dns') | to_json }}, {% endif %} "dns-search": ["{{ DOMAIN_PRIMARY }}"], "dns-opts": ["ndots:0"], "default-address-pools": {{ NETWORK_DOCKER_ADDRESS_POOLS | tojson }}, "log-driver": "json-file", "log-opts": {"max-size": "10m", "max-file": "2"} {% if DOCKER_IN_CONTAINER | bool %}, "storage-driver": "fuse-overlayfs" {% endif %} {% if SYS_DOCKER_DAEMONM_MTU is defined and SYS_DOCKER_DAEMONM_MTU | int > 0 %}, "mtu": {{ SYS_DOCKER_DAEMONM_MTU | int }} {% endif %} {% set firewall_backend = none if DEPLOYMENT_MODE == 'swarm' else SYS_SVC_CONTAINER_DOCKER_FIREWALL_BACKEND_BY_OS_FAMILY.get(ansible_facts['os_family']) %} {% if firewall_backend %}, "firewall-backend": "{{ firewall_backend }}" {% endif %} {% if _insecure | length > 0 %}, "insecure-registries": [{% for r in _insecure %}"{{ r }}"{% if not loop.last %}, {% endif %}{% endfor %}] {% endif %} {% if _cache_hosts | length > 0 %}, "registry-mirrors": ["http://{{ _cache_hosts[0] }}:{{ _cache_port }}"] {% endif %} {% set _shim_paths = {'kata': KATA_SHIM_BINARY, 'runsc': RUNSC_SHIM_BINARY} %} {% set _present = [] %} {% if sys_svc_container_kata_shim.stat.exists %}{% set _ = _present.append('kata') %}{% endif %} {% if sys_svc_container_runsc_shim.stat.exists %}{% set _ = _present.append('runsc') %}{% endif %} {% if _present | length > 0 %}, "runtimes": { {% for _name in _present %} "{{ _name }}": {"path": "{{ _shim_paths[_name] }}"{% if _name == 'runsc' and DOCKER_IN_CONTAINER | bool %}, "runtimeArgs": ["--network=host"]{% endif %}}{% if not loop.last %},{% endif %} {% endfor %} } {% if DEPLOYMENT_MODE == 'swarm' and not (IS_STACK_HOST | bool) and (SANDBOX_RUNTIME | trim) in _present %}, "default-runtime": "{{ SANDBOX_RUNTIME | trim }}" {% endif %} {% endif %} }