# Update user config - name: Ensure docker user directory exists file: state: directory path: "~/.docker" mode: 0700 - name: Check if docker user configuration exists stat: path: "~/.docker/config.json" register: docker_config_stat - name: Load docker user configuration when: docker_config_stat.stat.exists slurp: path: "~/.docker/config.json" register: docker_config - name: Parse docker user configuration when: docker_config_stat.stat.exists set_fact: docker_config: "{{ docker_config.content | b64decode | from_json }}" - name: Set default docker user configuration when: not docker_config_stat.stat.exists set_fact: docker_config: auths: {} - name: Add registry to docker user configuration vars: new_config: auths: | { "https://index.docker.io/v1/": {"auth": "{{ (buildset_registry.username + ":" + buildset_registry.password) | b64encode }}"}, "{{ buildset_registry_alias }}:{{ buildset_registry.port }}": {"auth": "{{ (buildset_registry.username + ":" + buildset_registry.password) | b64encode }}"}, "{{ buildset_registry_alias }}:{{ buildset_registry.proxy_port }}": {"auth": "{{ (buildset_registry.username + ":" + buildset_registry.password) | b64encode }}"} } set_fact: docker_config: "{{ docker_config | combine(new_config, recursive=True) }}" - name: Save docker user configuration copy: content: "{{ docker_config | to_nice_json }}" dest: "~/.docker/config.json" mode: 0600