system-config/playbooks/roles/install-docker/tasks/main.yaml
Clark Boylan 19652c3f50 Add more docker-compose installation comments
This ensures the reason for weird docker-compose installation practices
is captured.

Change-Id: I5255d1f27a79cec3880c5ebd7969df5a58acc3de
2023-05-03 14:12:55 -07:00

81 lines
2.0 KiB
YAML

- name: Create docker directory
become: yes
file:
state: directory
path: /etc/docker
- name: Install docker-ce from upstream
include: upstream.yaml
when: use_upstream_docker|bool
- name: Install docker-engine from distro
include: distro.yaml
when: not use_upstream_docker|bool
- name: reset ssh connection to pick up docker group
meta: reset_connection
# We install docker-compose from pypi to get features like
# stop_grace_period.
# On arm64 we need build-essential, python3-dev, libffi-dev, and
# libssl-dev because wheels don't exist for all the things on arm64.
# Similarly for Xenial while we have it, some things (cffi) have
# stopped providing Python 3.5 wheels
- name: Install arm64 dev pacakges
when: >
ansible_architecture == 'aarch64' or
ansible_distribution_release == 'xenial'
package:
name:
- build-essential
- python3-dev
- libffi-dev
- libssl-dev
state: present
- 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.
- requests<2.30.0
- docker-compose
state: present
executable: pip3
- name: Install rsyslog redirector for container tags
copy:
src: '10-docker.conf'
dest: /etc/rsyslog.d/
owner: root
group: root
mode: 0644
notify:
- Restart rsyslog
- name: Ensure rsyslog restarted now
meta: flush_handlers
- name: Create container log directories
file:
state: directory
path: /var/log/containers/
owner: syslog
group: adm
mode: 0775
- name: Install log rotation for docker files
include_role:
name: logrotate
vars:
logrotate_file_name: '/var/log/containers/*.log'