From 9bf5868d028638e4b265a740e272eb9fedc12489 Mon Sep 17 00:00:00 2001 From: Alex Schultz Date: Thu, 20 Jun 2019 10:45:28 -0600 Subject: [PATCH] Add docker login support We need to be able to perform a login prior to pulling containers from registries that require authentication. Change-Id: Ic3b720ba35db8e3f3f866cd31d9171e91b04a86c Related-Bug: #1833584 --- README.rst | 4 ++++ defaults/main.yml | 1 + tasks/docker-login.yml | 11 +++++++++++ 3 files changed, 16 insertions(+) create mode 100644 tasks/docker-login.yml diff --git a/README.rst b/README.rst index 18c0f86..f9c3f93 100644 --- a/README.rst +++ b/README.rst @@ -57,6 +57,10 @@ Role Variables * - `container_registry_skip_reconfiguration` - `false` - Do not perform container registry reconfiguration if it's already configured + * - `container_registry_logins` + - `[]` + - A dictionary containing registries and a username and a password associated with the registry. + Example: {'docker.io': {'myusername': 'mypassword'}, 'registry.example.com:8787': {'otheruser': 'otherpass'}} Requirements ------------ diff --git a/defaults/main.yml b/defaults/main.yml index 7584bfe..467ea0c 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -14,3 +14,4 @@ container_registry_storage_options: '-s overlay2' container_registry_selinux: false container_registry_additional_sockets: [] container_registry_skip_reconfiguration: false +container_registry_logins: {} diff --git a/tasks/docker-login.yml b/tasks/docker-login.yml new file mode 100644 index 0000000..3b76604 --- /dev/null +++ b/tasks/docker-login.yml @@ -0,0 +1,11 @@ +# tasks file for ansible-role-container-registry + +- name: perform docker login + become: true + docker_login: + username: "{{ lookup('dict', item.value).key }}" + password: "{{ lookup('dict', item.value).value }}" + registry: "{{ item.key }}" + loop: "{{ lookup('dict', container_registry_logins) }}" + when: container_registry_logins | length > 0 +