diff --git a/roles/apps/tasks/bitcoin.yml b/roles/apps/tasks/bitcoin.yml index fbb338d..f1b27bb 100644 --- a/roles/apps/tasks/bitcoin.yml +++ b/roles/apps/tasks/bitcoin.yml @@ -1,51 +1,48 @@ --- # tasks file for build # -- name: bitcoin - Generate rpcauth information if unset - register: rpcauth_raw - local_action: - module: ansible.builtin.shell - cmd: python roles/apps/files/bitcoin/rpcauth.py -json {{ansible_hostname}} - when: ((bitcoin_rpcuser is defined) and (bitcoin_rpcuser|length==0)) or ((bitcoin_rpcpassword is defined) and (bitcoin_rpcpassword|length==0)) or ((bitcoin_rpcauth is defined) and (bitcoin_rpcauth|length==0)) +- name: bitcoin - Check rpcauth + block: + - name: Generate rpcauth information if unset + register: rpcauth_raw + local_action: + module: ansible.builtin.shell + cmd: python roles/apps/files/bitcoin/rpcauth.py -json {{ansible_hostname}} + + - name: bitcoin - Parse raw rpcauth info into json + local_action: + module: ansible.builtin.set_fact + rpcauth_json: "{{ rpcauth_raw.stdout | from_json }}" -- name: bitcoin - Parse raw rpcauth info into json - local_action: - module: ansible.builtin.set_fact - rpcauth_json: "{{ rpcauth_raw.stdout | from_json }}" - when: ((bitcoin_rpcuser is defined) and (bitcoin_rpcuser|length==0)) or ((bitcoin_rpcpassword is defined) and (bitcoin_rpcpassword|length==0)) or ((bitcoin_rpcauth is defined) and (bitcoin_rpcauth|length==0)) - -- name: bitcoin - Write json values (user) to host inventory file - local_action: - module: ansible.builtin.lineinfile - path: hosts - search_string: "bitcoin_rpcuser=" - line: "bitcoin_rpcuser={{rpcauth_json.username}}" - insertafter: "^[{{ansible_hostname}}:vars]" - when: ((bitcoin_rpcuser is defined) and (bitcoin_rpcuser|length==0)) or ((bitcoin_rpcpassword is defined) and (bitcoin_rpcpassword|length==0)) or ((bitcoin_rpcauth is defined) and (bitcoin_rpcauth|length==0)) - -- name: bitcoin - Write json values (password) to host inventory file - local_action: - module: ansible.builtin.lineinfile - path: hosts - search_string: "bitcoin_rpcpassword=" - line: "bitcoin_rpcpassword={{rpcauth_json.password}}" - insertafter: "^[{{ansible_hostname}}:vars]" - when: ((bitcoin_rpcuser is defined) and (bitcoin_rpcuser|length==0)) or ((bitcoin_rpcpassword is defined) and (bitcoin_rpcpassword|length==0)) or ((bitcoin_rpcauth is defined) and (bitcoin_rpcauth|length==0)) - -- name: bitcoin - Write json values (auth) to host inventory file - local_action: - module: ansible.builtin.lineinfile - path: hosts - search_string: "bitcoin_rpcauth=" - line: "bitcoin_rpcauth={{rpcauth_json.rpcauth}}" - insertafter: "^[{{ansible_hostname}}:vars]" - when: ((bitcoin_rpcuser is defined) and (bitcoin_rpcuser|length==0)) or ((bitcoin_rpcpassword is defined) and (bitcoin_rpcpassword|length==0)) or ((bitcoin_rpcauth is defined) and (bitcoin_rpcauth|length==0)) + - name: bitcoin - Write json values (user) to host inventory file + local_action: + module: ansible.builtin.lineinfile + path: hosts + search_string: "bitcoin_rpcuser=" + line: "bitcoin_rpcuser={{rpcauth_json.username}}" + insertafter: "^[{{ansible_hostname}}:vars]" -- name: bitcoin - Reset local rpc user/auth facts if they changed - ansible.builtin.set_fact: - bitcoin_rpcuser: "{{rpcauth_json.username}}" - bitcoin_rpcpassword: "{{ rpcauth_json.password }}" - bitcoin_rpcauth: "{{ rpcauth_json.rpcauth}}" + - name: bitcoin - Write json values (password) to host inventory file + local_action: + module: ansible.builtin.lineinfile + path: hosts + search_string: "bitcoin_rpcpassword=" + line: "bitcoin_rpcpassword={{rpcauth_json.password}}" + insertafter: "^[{{ansible_hostname}}:vars]" + + - name: bitcoin - Write json values (auth) to host inventory file + local_action: + module: ansible.builtin.lineinfile + path: hosts + search_string: "bitcoin_rpcauth=" + line: "bitcoin_rpcauth={{rpcauth_json.rpcauth}}" + insertafter: "^[{{ansible_hostname}}:vars]" + + - name: bitcoin - Reset local rpc user/auth facts if they changed + ansible.builtin.set_fact: + bitcoin_rpcuser: "{{rpcauth_json.username}}" + bitcoin_rpcpassword: "{{ rpcauth_json.password }}" + bitcoin_rpcauth: "{{ rpcauth_json.rpcauth}}" when: ((bitcoin_rpcuser is defined) and (bitcoin_rpcuser|length==0)) or ((bitcoin_rpcpassword is defined) and (bitcoin_rpcpassword|length==0)) or ((bitcoin_rpcauth is defined) and (bitcoin_rpcauth|length==0)) - name: bitcoin - Create bitcoin-pod diff --git a/roles/apps/templates/clightning/clightning-node.container.j2 b/roles/apps/templates/clightning/clightning-node.container.j2 index 764018a..e0973c7 100644 --- a/roles/apps/templates/clightning/clightning-node.container.j2 +++ b/roles/apps/templates/clightning/clightning-node.container.j2 @@ -4,7 +4,7 @@ Description=Core Lightning Server [Container] Image={{ registry_url }}/clightning:{{ clightning_version }} PodmanArgs=--pod bitcoin-pod -Exec=--bitcoin-rpcuser={{bitcoin_rpcuser}} --bitcoin-rpcpassword={{bitcoin_rpcpassword}} +Exec=--bitcoin-rpcuser={{bitcoin_rpcuser}} --bitcoin-rpcpassword={{bitcoin_rpcpassword}} --wallet=sqlite3://root/.lightning/bitcoin/lightningd.sqlite3 --clnrest-port=3010 # Use volume Volume=/home/{{ansible_user}}/.bitcoin:/data/.bitcoin:ro,Z diff --git a/roles/apps/templates/clightning/run.sh.j2 b/roles/apps/templates/clightning/run.sh.j2 new file mode 100644 index 0000000..fd227c6 --- /dev/null +++ b/roles/apps/templates/clightning/run.sh.j2 @@ -0,0 +1 @@ +podman run -it --rm --name clightning-node -v ~/.bitcoin:/data/.bitcoin:ro,Z -v ~/.lightning:/data/.lightning:Z clightning-node:{{clightning_version}} --bitcoin-rpcuser={{bitcoin_rpcuser}} --bitcoin-rpcpassword={{bitcoin_rpcpassword}} \ No newline at end of file diff --git a/roles/config/tasks/main.yml b/roles/config/tasks/main.yml index 975a3b9..9214151 100644 --- a/roles/config/tasks/main.yml +++ b/roles/config/tasks/main.yml @@ -90,12 +90,12 @@ enabled: false masked: true -#- name: Set {{ ansible_user }} user to linger - #become: true - #become_method: sudo - #command: loginctl enable-linger {{ ansible_user }} - #args: - #creates: /var/lib/systemd/linger/{{ ansible_user }} +- name: Set {{ ansible_user }} user to linger + become: true + become_method: sudo + ansible.builtin.shell: + cmd: loginctl enable-linger {{ ansible_user }} + creates: /var/lib/systemd/linger/{{ ansible_user }} - name: Set update zincati wariness to {{update_wariness}} become: true