Add golang based docker compose tool.

This installs the golang based compose (v2) tool.  Also make it the
python based tool optional, but installed by default.

The docker compose v2 tool comes from either:
 - Disrto   : Moby Engine : docker-compose-v2     : Focal -> Oracular
 - Upstream : Docker Inc  : docker-compose-plugin : Trusty -> Noble

With manual checking I can't see any distro older than focal that makes
use of the install-docker role, and all in-tree users pull from
upstream, so I think adding the golang compose tool without checking
the release is safe.

Change-Id: Ib8b5af40e626cd2d1a12b643f348001b9fdf4586
This commit is contained in:
Tony Breeds 2024-05-28 10:39:04 -05:00
parent 0ab443dddb
commit 25727fab47
4 changed files with 29 additions and 21 deletions

View File

@ -1,2 +1,3 @@
use_upstream_docker: True
docker_update_channel: stable
with_python_compose: True

View File

@ -1,5 +1,7 @@
- name: Install docker
become: yes
package:
name: docker.io
name:
- docker.io
- docker-compose-v2
state: present

View File

@ -34,26 +34,29 @@
- libssl-dev
state: present
- name: ensure pip3 is installed
include_role:
name: pip3
- name: Install python docker-compose if needed
when: with_python_compose|bool
block:
- name: ensure pip3 is installed
include_role:
name: pip3
- name: Install docker-compose
pip:
name:
# The explicit pin of requests is a temporary workaround to getting
# docker-compose functioning again after requests and urllib3 updates.
# Unfortunately python docker-compose is abandonware and we will need
# to migrate to the new docker plugin system or distro packages, but
# until then this is a quick workaround that will get things moving
# again.
# The explicit pin of docker is required as py docker 7.0 introduced
# incompatibilities with python docker-compose.
- requests<2.30.0
- docker<7.0.0
- docker-compose
state: present
executable: pip3
- name: Install docker-compose
pip:
name:
# The explicit pin of requests is a temporary workaround to getting
# docker-compose functioning again after requests and urllib3 updates.
# Unfortunately python docker-compose is abandonware and we will need
# to migrate to the new docker plugin system or distro packages, but
# until then this is a quick workaround that will get things moving
# again.
# The explicit pin of docker is required as py docker 7.0 introduced
# incompatibilities with python docker-compose.
- requests<2.30.0
- docker<7.0.0
- docker-compose
state: present
executable: pip3
- name: Install rsyslog redirector for container tags
copy:

View File

@ -49,6 +49,8 @@
- name: Install docker
become: yes
apt:
name: docker-ce
name:
- docker-ce
- docker-compose-plugin
state: present
update_cache: yes