Add base for lnd
This commit is contained in:
parent
a06971afc4
commit
50b2fc08c7
8 changed files with 127 additions and 0 deletions
7
ansible/playbooks/lnd.yml
Normal file
7
ansible/playbooks/lnd.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
- hosts: lnd
|
||||||
|
roles:
|
||||||
|
- role: tor
|
||||||
|
- role: bitcoind
|
||||||
|
- role: lnd
|
||||||
|
...
|
|
@ -5,4 +5,5 @@
|
||||||
- import_playbook: consul-client.yml
|
- import_playbook: consul-client.yml
|
||||||
- import_playbook: nomad.yml
|
- import_playbook: nomad.yml
|
||||||
- import_playbook: nexus.yml
|
- import_playbook: nexus.yml
|
||||||
|
- import_playbook: lnd.yml
|
||||||
...
|
...
|
||||||
|
|
17
ansible/roles/bitcoind/files/bitcoind.service
Normal file
17
ansible/roles/bitcoind/files/bitcoind.service
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Bitcoin daemon
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStartPre=/bin/sh -c 'sleep 30'
|
||||||
|
ExecStart=/usr/bin/bitcoind -daemon -conf=/home/bitcoind/.bitcoin/bitcoin.conf -pid=/home/bitcoind/.bitcoin/bitcoind.pid
|
||||||
|
PIDFile=/home/bitcoind/.bitcoin/bitcoind.pid
|
||||||
|
User=bitcoind
|
||||||
|
Group=bitcoind
|
||||||
|
Type=forking
|
||||||
|
KillMode=process
|
||||||
|
Restart=always
|
||||||
|
TimeoutSec=120
|
||||||
|
RestartSec=30
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
5
ansible/roles/bitcoind/handlers/main.yml
Normal file
5
ansible/roles/bitcoind/handlers/main.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
- name: reload systemd
|
||||||
|
systemd:
|
||||||
|
daemon_reload: True
|
||||||
|
...
|
53
ansible/roles/bitcoind/tasks/main.yml
Normal file
53
ansible/roles/bitcoind/tasks/main.yml
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
---
|
||||||
|
- name: create bitcoind group
|
||||||
|
group:
|
||||||
|
name: bitcoind
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: create bitcoind user
|
||||||
|
user:
|
||||||
|
name: bitcoind
|
||||||
|
group: bitcoind
|
||||||
|
state: present
|
||||||
|
shell: /bin/bash
|
||||||
|
home: /home/bitcoind
|
||||||
|
|
||||||
|
- name: ensure bitcoind config directory exists
|
||||||
|
file:
|
||||||
|
path: /home/bitcoind/.bitcoin
|
||||||
|
state: directory
|
||||||
|
owner: bitcoind
|
||||||
|
group: bitcoind
|
||||||
|
mode: '0750'
|
||||||
|
|
||||||
|
- name: ensure bitcoind mount exists
|
||||||
|
mount:
|
||||||
|
path: /home/bitcoind/.bitcoin
|
||||||
|
src: /dev/sda1
|
||||||
|
fstype: ext4
|
||||||
|
opts: defaults
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: install bitcoind
|
||||||
|
apt:
|
||||||
|
name: bitcoind
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: ensure bitcoind service file exists
|
||||||
|
copy:
|
||||||
|
src: files/bitcoind.service
|
||||||
|
dest: /etc/systemd/system/bitcoind.service
|
||||||
|
mode: 0755
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
notify: reload systemd
|
||||||
|
|
||||||
|
- name: flush handlers for systemd reloading
|
||||||
|
meta: flush_handlers
|
||||||
|
|
||||||
|
- name: ensure bitcoind is enabled and started
|
||||||
|
systemd:
|
||||||
|
name: bitcoind
|
||||||
|
state: started
|
||||||
|
enabled: True
|
||||||
|
...
|
3
ansible/roles/lnd/defaults/main.yml
Normal file
3
ansible/roles/lnd/defaults/main.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
lnd_arch: amd64
|
||||||
|
...
|
30
ansible/roles/lnd/tasks/main.yml
Normal file
30
ansible/roles/lnd/tasks/main.yml
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
- name: ensure go/bin dir exists for bitcoind user
|
||||||
|
file:
|
||||||
|
path: /home/bitcoind/go/bin
|
||||||
|
state: directory
|
||||||
|
owner: bitcoind
|
||||||
|
group: bitcoind
|
||||||
|
mode: 0750
|
||||||
|
|
||||||
|
- name: check if lnd is installed
|
||||||
|
stat:
|
||||||
|
path: /home/bitcoind/go/bin/lnd
|
||||||
|
register: lnd_binary
|
||||||
|
|
||||||
|
- name: check lnd version
|
||||||
|
shell: /home/bitcoind/go/bin/lnd --version | cut -d ' ' -f3
|
||||||
|
when: lnd_binary.stat.exists
|
||||||
|
changed_when: False
|
||||||
|
register: lnd_installed_version
|
||||||
|
|
||||||
|
- name: update lnd
|
||||||
|
unarchive:
|
||||||
|
src: 'https://github.com/lightningnetwork/lnd/releases/download/{{ lnd_version }}/lnd-linux-{{ lnd_arch }}-{{ lnd_version }}.tar.gz'
|
||||||
|
dest: /home/bitcoind/go/bin/
|
||||||
|
owner: bitcoind
|
||||||
|
group: bitcoind
|
||||||
|
remote_src: True
|
||||||
|
extra_opts: [--strip-components=1]
|
||||||
|
when: (lnd_binary.stat.exists == False) or (lnd_version != lnd_installed_version)
|
||||||
|
...
|
11
ansible/roles/tor/tasks/main.yml
Normal file
11
ansible/roles/tor/tasks/main.yml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
- name: ensure tor exists
|
||||||
|
apt:
|
||||||
|
name: tor
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: ensure tor is started and enabled
|
||||||
|
systemd:
|
||||||
|
name: tor
|
||||||
|
state: started
|
||||||
|
enabled: True
|
Loading…
Reference in a new issue