system-config/playbooks/roles/install-borg/tasks/main.yaml
Ian Wienand ea08cdbd16 create-venv: add role; use in install-borg
As noted inline, make a create-venv role that brings in appropriate
versions on Bionic.

This was noticed because pip is trying to install borgbackup with
setuptools_scm 7.0.5, which doesn't support Python 3.6.  We use this
new role to create the venv correctly.

Change-Id: I81fd268a9354685496a75e33a6f038a32b686352
2022-08-10 10:14:51 +10:00

34 lines
910 B
YAML

# We install into a virtualenv here for two reasons; we want a
# specific version pinned between server and client -- borg has had
# updates that required transitions so we don't want to use system
# packages where thing might get out of sync. Secondly we want to
# keep as few things as possible to go wrong when running backups.
- name: Install build deps
package:
name:
- python3-dev
- python3-venv
- libssl-dev
- openssl
- libacl1-dev
- libacl1
- build-essential
- libfuse-dev
- fuse
- pkg-config
- name: Create venv
include_role:
name: create-venv
vars:
create_venv_path: '/opt/borg'
- name: Install borg
pip:
# borg build deps are a little ... interesting, it needs cython
# but the requirements don't bring it in.
name:
- cython
- 'borgbackup[fuse]=={{ borg_version }}'
virtualenv: /opt/borg