1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/restic_ynh.git synced 2024-09-03 20:16:22 +02:00
restic_ynh/playbook.yml
Lionel Coupouchetty-Ramouchetty f99b01e3d7 feat: set vagrant vm timezone
2021-02-28 14:00:34 +01:00

134 lines
3.9 KiB
YAML

---
- name: upgrade
hosts: all
become: true
vars:
ansible_python_interpreter: python3
tasks:
- name: set timezone
community.general.timezone:
name: Europe/Paris
- name: upgrade
apt:
upgrade: true
update_cache: true
- name: stat reboot-required file
stat:
path: /var/run/reboot-required
register: _reboot_required_stat
- name: debug _reboot_required_stat
debug:
var: _reboot_required_stat
- name: reboot if required
reboot:
when: _reboot_required_stat.stat.exists
- name: get package checker
hosts: all
become: true
vars:
ansible_python_interpreter: python3
tasks:
- name: install git
apt:
name: git
state: present
- name: clone package checker
git:
repo: 'https://github.com/YunoHost/package_check.git'
dest: /package_check
- name: set vagrant as package check owner
file:
path: /package_check
owner: vagrant
group: vagrant
- name: install package checker requirements
hosts: all
become: true
vars:
ansible_python_interpreter: python3
tasks:
- name: install apt packages
apt:
name:
- git
- snapd
state: present
- name: install snap core package
community.general.snap:
name:
- core
- name: install snap lxd package
community.general.snap:
name:
- lxd
- name: make vagrant user member of lxd group
user:
name: vagrant
groups: lxd
append: true
- name: add lxc and lxd to /usr/local/bin
file:
dest: /usr/local/bin/{{ item }}
src: /snap/bin/{{ item }}
state: link
loop:
- lxc
- lxd
- name: install apt packages
apt:
name:
- python3-pexpect
- python3-pip
- lynx
- jq
- name: create ansible local facts directory
file:
path: /etc/ansible/facts.d
state: directory
- name: debug local facts
debug:
var: ansible_local
- name: initialize lxd
expect:
command: lxd init
responses:
(?i)Would you like to use LXD clustering: no
(?i)Do you want to configure a new storage pool: yes
(?i)Name of the new storage pool: default
(?i)Name of the storage backend to use: btrfs
(?i)Create a new BTRFS pool: yes
(?i)Would you like to use an existing empty block device: no
(?i)Size in GB of the new loop device: 24GB
(?i)Would you like to connect to a MAAS server: no
(?i)Would you like to create a new local network bridge: yes
(?i)What should the new bridge be called: lxdbr0
(?i)What IPv4 address should be used: auto
(?i)What IPv6 address should be used: auto
(?i)Would you like the LXD server to be available over the network: no
(?i)Would you like stale cached images to be updated automatically: yes
(?i)preseed to be printed: no
notify:
- update local facts
when: >
'provision' not in ansible_local
or 'lxd' not in ansible_local['provision']
or 'initialized' not in ansible_local['provision']['lxd']
or not ansible_local['provision']['lxd']['initialized']
- name: list lxc remotes
become_user: vagrant
command: lxc remote list
changed_when: "'yunohost' not in _lxc_remote_list.stdout"
register: _lxc_remote_list
notify:
- add lxc yunohost remote
handlers:
- name: update local facts
copy:
dest: /etc/ansible/facts.d/provision.fact
content: |
[lxd]
initialized=true
- name: add lxc yunohost remote
become_user: vagrant
command: lxc remote add yunohost https://devbaseimgs.yunohost.org --public --accept-certificate
changed_when: true