|
|
|
---
|
|
|
|
- name: Ensure Besu group exists
|
|
|
|
group:
|
|
|
|
name: "{{ besu_group }}"
|
|
|
|
state: present
|
|
|
|
become: true
|
|
|
|
|
|
|
|
- name: Create Besu user
|
|
|
|
user:
|
|
|
|
comment: Besu client user
|
|
|
|
name: "{{ besu_user }}"
|
|
|
|
group: "{{ besu_group }}"
|
|
|
|
become: true
|
|
|
|
|
|
|
|
- name: Create base directory
|
|
|
|
file:
|
|
|
|
path: "{{ besu_base_dir }}"
|
|
|
|
state: directory
|
|
|
|
owner: "{{ besu_user }}"
|
|
|
|
group: "{{ besu_group }}"
|
|
|
|
become: true
|
|
|
|
|
|
|
|
- name: Create install directory
|
|
|
|
file:
|
|
|
|
path: "{{ besu_install_dir }}"
|
|
|
|
state: directory
|
|
|
|
owner: "{{ besu_user }}"
|
|
|
|
group: "{{ besu_group }}"
|
|
|
|
become: true
|
|
|
|
|
|
|
|
- name: Create log directory
|
|
|
|
file:
|
|
|
|
path: "{{ besu_log_dir }}"
|
|
|
|
state: directory
|
|
|
|
owner: "{{ besu_user }}"
|
|
|
|
group: "{{ besu_group }}"
|
|
|
|
become: true
|
|
|
|
|
|
|
|
- name: Setup logrotate
|
|
|
|
template:
|
|
|
|
src: "logrotate/besu"
|
|
|
|
dest: "/etc/logrotate.d/besu"
|
|
|
|
become: true
|
|
|
|
|
|
|
|
- name: Extract Besu source to install directory
|
|
|
|
unarchive:
|
|
|
|
src: "{{ '/tmp/besu/build/distributions/besu-' + besu_version + '.tar.gz' if besu_build_from_source else besu_download_url }}"
|
|
|
|
remote_src: "{{ false if besu_build_from_source else true }}"
|
|
|
|
dest: "{{ besu_install_dir }}"
|
|
|
|
owner: "{{ besu_user }}"
|
|
|
|
group: "{{ besu_group }}"
|
|
|
|
mode: '0775'
|
|
|
|
extra_opts:
|
|
|
|
- --strip-components
|
|
|
|
- '1'
|
|
|
|
become: true
|
|
|
|
register: extract_src
|
|
|
|
|
|
|
|
- name: Set updated optionally to trigger a systemd restart at the end
|
|
|
|
set_fact:
|
|
|
|
besu_state_updates: "{{ besu_state_updates + ['besu.install_dir'] }}"
|
|
|
|
when: extract_src is changed
|
|
|
|
|
|
|
|
# will throw error the first time you install since the service isnt present
|
|
|
|
- name: Stop Besu systemd service if running
|
|
|
|
service:
|
|
|
|
name: besu
|
|
|
|
state: stopped
|
|
|
|
when: ( extract_src is changed ) and
|
|
|
|
( besu_managed_service ) and
|
|
|
|
( ansible_os_family != "Darwin" )
|
|
|
|
become: true
|
|
|
|
ignore_errors: true
|
|
|
|
|
|
|
|
- name: Create a symlink to current
|
|
|
|
file:
|
|
|
|
src: "{{ besu_install_dir }}/"
|
|
|
|
dest: "{{ besu_current_dir }}"
|
|
|
|
state: link
|
|
|
|
become: true
|