src.nth.io/

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Hoersten <[email protected]>2020-05-16 17:59:15 -0500
committerLuke Hoersten <[email protected]>2020-05-16 17:59:15 -0500
commitbdf1d899839b88a69400a2f147821ec806eadbee (patch)
tree8432c67d9c7cda57b62544c0316bd83256f08021
parent3888ff9f8bbbc4dd4cbee4c1d49a556de6b048c1 (diff)
Added bitcoind-prometheus-exporter role.
-rw-r--r--bitcoind-prometheus-exporter/defaults/main.yaml6
-rw-r--r--bitcoind-prometheus-exporter/handlers/main.yaml5
-rw-r--r--bitcoind-prometheus-exporter/tasks/main.yaml45
-rw-r--r--bitcoind-prometheus-exporter/templates/bitcoind-prometheus-exporter.service.j218
-rw-r--r--bitcoind/tasks/main.yaml10
-rw-r--r--lnd/tasks/main.yaml10
6 files changed, 84 insertions, 10 deletions
diff --git a/bitcoind-prometheus-exporter/defaults/main.yaml b/bitcoind-prometheus-exporter/defaults/main.yaml
new file mode 100644
index 0000000..a81a9e5
--- /dev/null
+++ b/bitcoind-prometheus-exporter/defaults/main.yaml
@@ -0,0 +1,6 @@
+---
+
+bitcoind_prometheus_exporter_conf: "/home/bitcoin/.bitcoin/bitcoin.conf"
+bitcoind_prometheus_exporter_version: "0.5.0"
+bitcoind_prometheus_exporter_url: "https://github.com/jvstein/bitcoin-prometheus-exporter/archive/v{{bitcoind_prometheus_exporter_version}}.tar.gz"
+bitcoind_prometheus_exporter_tar_name: "bitcoin-prometheus-exporter-{{bitcoind_prometheus_exporter_version}}"
diff --git a/bitcoind-prometheus-exporter/handlers/main.yaml b/bitcoind-prometheus-exporter/handlers/main.yaml
new file mode 100644
index 0000000..a98877f
--- /dev/null
+++ b/bitcoind-prometheus-exporter/handlers/main.yaml
@@ -0,0 +1,5 @@
+---
+
+- name: restart service
+ become: yes
+ systemd: service="bitcoind-prometheus-exporter.service" state="restarted" daemon_reload="yes"
diff --git a/bitcoind-prometheus-exporter/tasks/main.yaml b/bitcoind-prometheus-exporter/tasks/main.yaml
new file mode 100644
index 0000000..b29b10e
--- /dev/null
+++ b/bitcoind-prometheus-exporter/tasks/main.yaml
@@ -0,0 +1,45 @@
+---
+
+- name: apt-get bitcoind-prometheus-exporter install deps
+ become: yes
+ apt: name="python3-pip"
+
+- name: pip bitcoind-prometheus-exporter install deps
+ become: yes
+ pip: name="{{item}}"
+ loop:
+ - "riprova"
+ - "prometheus_client"
+ - "python-bitcoinlib"
+
+- name: unarchive bitcoind-prometheus-exporter
+ become: yes
+ unarchive:
+ remote_src: yes
+ src: "{{bitcoind_prometheus_exporter_url}}"
+ dest: "/tmp"
+ creates: "/tmp/{{bitcoind_prometheus_exporter_tar_name}}/"
+ notify: restart service
+
+- name: install bitcoind-prometheus-exporter
+ become: yes
+ copy:
+ src: "/tmp/{{bitcoind_prometheus_exporter_tar_name}}/bitcoind-monitor.py"
+ dest: "/usr/local/bin/bitcoind-prometheus-exporter.py"
+ remote_src: yes
+ owner: "root"
+ group: "root"
+ mode: "0755"
+ changed_when: false
+
+- name: install bitcoind-prometheus-exporter service
+ become: yes
+ template:
+ src: "bitcoind-prometheus-exporter.service.j2"
+ dest: "/lib/systemd/system/bitcoind-prometheus-exporter.service"
+ mode: "0644"
+ notify: restart service
+
+- name: ensure bitcoind-prometheus-exporter service is started
+ become: yes
+ systemd: service="bitcoind-prometheus-exporter.service" enabled="yes" state="started" daemon_reload="yes"
diff --git a/bitcoind-prometheus-exporter/templates/bitcoind-prometheus-exporter.service.j2 b/bitcoind-prometheus-exporter/templates/bitcoind-prometheus-exporter.service.j2
new file mode 100644
index 0000000..2d101b6
--- /dev/null
+++ b/bitcoind-prometheus-exporter/templates/bitcoind-prometheus-exporter.service.j2
@@ -0,0 +1,18 @@
+[Unit]
+Description=Bitcoind Prometheus Exporter
+Wants=bitcoind.service
+After=bitcoind.service
+
+[Service]
+ExecStart=/usr/local/bin/bitcoind-prometheus-exporter.py
+User=prometheus
+Environment="BITCOIN_CONF_PATH={{bitcoind_prometheus_exporter_conf}}"
+
+PrivateTmp=true
+ProtectSystem=full
+NoNewPrivileges=true
+PrivateDevices=true
+MemoryDenyWriteExecute=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/bitcoind/tasks/main.yaml b/bitcoind/tasks/main.yaml
index 64528ec..2d0745c 100644
--- a/bitcoind/tasks/main.yaml
+++ b/bitcoind/tasks/main.yaml
@@ -28,15 +28,15 @@
- name: create bitcoind data dir
become: yes
file:
- path: "{{item}}"
+ path: "{{item.path}}"
state: "directory"
owner: "{{bitcoind_user}}"
group: "{{bitcoind_user}}"
- mode: "0770"
+ mode: "{{item.mode}}"
loop:
- - "{{bitcoind_data_dir}}"
- - "{{bitcoind_log_dir}}"
- - "{{bitcoind_conf_dir}}"
+ - { path: "{{bitcoind_data_dir}}", mode: "0750" }
+ - { path: "{{bitcoind_log_dir}}", mode: "0750" }
+ - { path: "{{bitcoind_conf_dir}}", mode: "0755" }
- name: configure bitcoind
become: yes
diff --git a/lnd/tasks/main.yaml b/lnd/tasks/main.yaml
index edea807..0818f29 100644
--- a/lnd/tasks/main.yaml
+++ b/lnd/tasks/main.yaml
@@ -38,15 +38,15 @@
- name: create lnd data dir
become: yes
file:
- path: "{{item}}"
+ path: "{{item.path}}"
state: "directory"
owner: "{{lnd_user}}"
group: "{{lnd_user}}"
- mode: "0770"
+ mode: "{{item.mode}}"
loop:
- - "{{lnd_data_dir}}"
- - "{{lnd_log_dir}}"
- - "{{lnd_conf_dir}}"
+ - { path: "{{lnd_data_dir}}", mode: "0750" }
+ - { path: "{{lnd_log_dir}}", mode: "0750" }
+ - { path: "{{lnd_conf_dir}}", mode: "0755" }
- name: configure lnd
become: yes