diff options
Diffstat (limited to 'bitcoind')
| -rw-r--r-- | bitcoind/defaults/main.yaml | 8 | ||||
| -rw-r--r-- | bitcoind/handlers/main.yaml | 5 | ||||
| -rw-r--r-- | bitcoind/tasks/main.yaml | 61 | ||||
| -rw-r--r-- | bitcoind/templates/bitcoin.conf.j2 | 16 | ||||
| -rw-r--r-- | bitcoind/templates/bitcoind.service.j2 | 16 |
5 files changed, 106 insertions, 0 deletions
diff --git a/bitcoind/defaults/main.yaml b/bitcoind/defaults/main.yaml new file mode 100644 index 0000000..0a6c6a7 --- /dev/null +++ b/bitcoind/defaults/main.yaml @@ -0,0 +1,8 @@ +--- + +bitcoind_user: "{{node_user}}" +bitcoind_version: "0.19.1" +bitcoind_arch: "{{ansible_architecture}}" +bitcoind_url: "https://bitcoin.org/bin/bitcoin-core-{{bitcoind_version}}/bitcoin-{{bitcoind_version}}-{{bitcoind_arch}}-linux-gnu.tar.gz" +bitcoind_conf_dir: "/home/{{bitcoind_user}}/.bitcoin" +bitcoind_enable_txindex: "1" diff --git a/bitcoind/handlers/main.yaml b/bitcoind/handlers/main.yaml new file mode 100644 index 0000000..b3e4bdb --- /dev/null +++ b/bitcoind/handlers/main.yaml @@ -0,0 +1,5 @@ +--- + +- name: restart bitcoind + become: yes + systemd: service="bitcoind.service" state="restarted" daemon_reload="yes" diff --git a/bitcoind/tasks/main.yaml b/bitcoind/tasks/main.yaml new file mode 100644 index 0000000..53e2e0a --- /dev/null +++ b/bitcoind/tasks/main.yaml @@ -0,0 +1,61 @@ +--- + +- name: add bitcoind user + become: yes + user: name="{{bitcoind_user}}" + +- name: unarchive bitcoind + become: yes + unarchive: + remote_src: yes + src: "{{bitcoind_url}}" + dest: "/tmp" + creates: "/tmp/bitcoin-{{bitcoind_version}}/" + +- name: install bitcoind + become: yes + copy: + src: "/tmp/bitcoin-{{bitcoind_version}}/bin/{{item}}" + dest: "/usr/local/bin/" + remote_src: yes + owner: "root" + group: "root" + mode: "0755" + with_items: + - "bitcoind" + - "bitcoin-cli" + +- name: create bitcoind data dir + become: yes + file: + path: "{{item}}" + state: "directory" + owner: "{{bitcoind_user}}" + group: "{{bitcoind_user}}" + mode: "0770" + with_items: + - "{{bitcoind_data_dir}}" + - "{{bitcoind_log_dir}}" + - "{{bitcoind_conf_dir}}" + +- name: configure bitcoind + become: yes + template: + src: "bitcoin.conf.j2" + dest: "{{bitcoind_conf_dir}}/bitcoin.conf" + owner: "{{bitcoind_user}}" + group: "{{bitcoind_user}}" + mode: "0644" + notify: restart bitcoind + +- name: install bitcoind service + become: yes + template: + src: "bitcoind.service.j2" + dest: "/lib/systemd/system/bitcoind.service" + mode: "0644" + notify: restart bitcoind + +- name: ensure bitcoind is started + become: yes + systemd: service="bitcoind.service" enabled="yes" state="started" daemon_reload="yes" diff --git a/bitcoind/templates/bitcoin.conf.j2 b/bitcoind/templates/bitcoin.conf.j2 new file mode 100644 index 0000000..87e7aa4 --- /dev/null +++ b/bitcoind/templates/bitcoin.conf.j2 @@ -0,0 +1,16 @@ +externalip={{node_external_ip}} +uacomment={{bitcoind_comment}} + +datadir={{bitcoind_data_dir}} +logdir={{bitcoind_log_dir}} +debug=rpc + +server=1 +rpcssl=1 +rpcuser={{bitcoind_rpc_user}} +rpcpassword={{bitcoind_rpc_pass}} + +txindex={{bitcoind_enable_txindex}} + +{% for node in bitcoind_add_node %}addnode={{node}} +{% endfor %} diff --git a/bitcoind/templates/bitcoind.service.j2 b/bitcoind/templates/bitcoind.service.j2 new file mode 100644 index 0000000..dfcc6e5 --- /dev/null +++ b/bitcoind/templates/bitcoind.service.j2 @@ -0,0 +1,16 @@ +[Unit] +Description=bitcoind +After=network.target + +[Service] +ExecStart=/usr/local/bin/bitcoind +User={{bitcoind_user}} + +PrivateTmp=true +ProtectSystem=full +NoNewPrivileges=true +PrivateDevices=true +MemoryDenyWriteExecute=true + +[Install] +WantedBy=multi-user.target |
