diff --git a/roles/docker_sdk/defaults/main.yml b/roles/docker_sdk/defaults/main.yml index 446a80d..192589e 100644 --- a/roles/docker_sdk/defaults/main.yml +++ b/roles/docker_sdk/defaults/main.yml @@ -33,3 +33,6 @@ docker_sdk_virtualenv_owner: "{{ kolla_user if create_kolla_user | bool else omi # A pip constraints file to use when installing the Docker SDK. docker_sdk_upper_constraints_file: + +docker_sdk_osbpo_apt_url: "http://osbpo.debian.net/debian" +docker_sdk_osbpo_apt_repo: "deb [signed-by=/etc/apt/keyrings/osbpo.asc] {{ docker_sdk_osbpo_apt_url }} bookworm-bobcat-backports-nochange main" diff --git a/roles/docker_sdk/tasks/main.yml b/roles/docker_sdk/tasks/main.yml index f9ca898..427cbdf 100644 --- a/roles/docker_sdk/tasks/main.yml +++ b/roles/docker_sdk/tasks/main.yml @@ -1,4 +1,36 @@ --- +- name: Configure osbpo apt repository + block: + - name: Ensure apt sources list directory exists + file: + path: /etc/apt/sources.list.d + state: directory + recurse: yes + become: True + + - name: Ensure apt keyrings directory exists + file: + path: /etc/apt/keyrings + state: directory + recurse: yes + become: True + + - name: Install osbpo apt gpg key + template: + src: osbpo_pubkey.gpg.j2 + dest: /etc/apt/keyrings/osbpo.asc + mode: "0644" + become: True + + - name: Enable osbpo apt repository + apt_repository: + repo: "{{ docker_sdk_osbpo_apt_repo }}" + filename: osbpo + become: True + when: + - ansible_facts.os_family == 'Debian' + - virtualenv is none + - name: Install packages package: name: "{{ docker_sdk_packages | select | list }}" diff --git a/roles/docker_sdk/templates/osbpo_pubkey.gpg.j2 b/roles/docker_sdk/templates/osbpo_pubkey.gpg.j2 new file mode 100644 index 0000000..68798a7 --- /dev/null +++ b/roles/docker_sdk/templates/osbpo_pubkey.gpg.j2 @@ -0,0 +1,29 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBF3QL7wBEAC0HwatykCC6Yldv2Pn+GRIed/qtzYJNIUjapD+U96nO1SW/RCs +5/SoJ87BWj/HjjwH9VW+WzCxBQDbXtzDpAIuZMovALZ7Q/XvgrQGk+3oIlVzjDK1 +x8CH+Ers/aTFCZPBQyCcWOl4btombnpmOgyY5fMBz4X2mtxnxNqyF2zjVxZ8pgFP +tGpDaF5RhQasdOHgfx5VEVYCAk0IHxuAgkFd93GDvg5TY6/BgHnEnQR0iORCBTaM +AQHY3cr5M7r4DYIKl+Sk4B8C++jVIY9L3pyeJmIhSzToweNNNPJTExLNIBBDZWEq +Qv/WCZRtudxI8G95bdCiaUSm+ieJIMGhMFM5NKXincNzS7Pm7xD/rgANPYtuxrhR +Qd8S8NXD/fGWQwJB9o8jjE6TPwrX3zymyHAECxiY33Vwmgghyg27KwQ1dFCxBlH6 +tRqjIly1lZVPd4EDJkuKbowN59b2230aLhAwi7r+DXUn9DSHRm/8s/gagy1XewW3 +ZHA2aWZITrkGnXGOJRtbUhwcrwaLUnRx7zm4T12Mtky7jHphNXGTBaMW4/EnAtEj +MlKoECuNUjJml7km2pzOHRoNF+UpLK2bytflRl++qeDG2BEEC3SIZzIy2qPB68wl +cjdAPE1rRHJKZ4WsBoHfemXgy86YbWMRCvdL7W/uTlNJnzABAQO1Gbv36wARAQAB +tClBdXRvZ2VuZXJhdGVkIGtleSA8cm9vdEBvc2Jwby5kZWJpYW4ubmV0PokCTgQT +AQgAOBYhBA+46N0ZSY/skLJeXlYFarL+5O7LBQJd0C+8AhsvBQsJCAcDBRUKCQgL +BRYCAwEAAh4BAheAAAoJEFYFarL+5O7LcP0P/1oEbCtuMjO3nraOpUoYaS81hHwa +FSpAOoOMaR0a1ZRl3T83nDlYsPEU9oWpd8HiRbJelc3ZjXODU9XzmgXdhuGK3vZd +jJmYKmSJ/Dr7d+PCTO1ZmvOgVXyYJcJlIw+6WHg+/dtFC6uhiJKSYS71BudjFqLB +mcJ4vwe2ttRF5HG3XiUlfi5bVDYt/9vANA+h966leiXE0zFx89eWuGl8kxhJ8YI1 +yv2WybskbTQAnOzWij3qeoF9OhKeXjWANalu0PTgal5zFL1Ar9n+JQlZVRXnYOx8 +u4FVyt4NvUy4T7RhQeL8UsXBlVwH694+L9Y7T8p0jV4vZ7UvCR5zY+uGFSo6b7V1 +DDn6uIaHaFt0DdndjQxhgP2kHyNB3f9tQrbVYxNR6XpsA5qHZVysSOqDGFE2V47H +4EiH0cyMJkAHQzGgPJa9DiMgNKI1luRkBgVsr79BbgoeOlKqpJ3bI2ViiTO/xDEr +mNVraGOCBYMTXYzR5xIQU9ob3ksD0ZX7jaeRdJpucbnWfHs0iZF/uC1H9Xl/LXbi +EMPRlhLlBsafsAb3xfiv8Uo7ULJ3Mc7bPiRtUO5nx1kS30m3yJlGv8dAYISn84h3 +ts8N/5toE4NMsxqp47LX059LLaI2Fo2J7B+mhaYSVrgr2YNPRUu/62amB0AAZ44O +QxSClHlCzZqFu0KT +=kjjV +-----END PGP PUBLIC KEY BLOCK-----