diff --git a/tasks/general/settings/tunnel.yml b/tasks/general/settings/tunnel.yml index f97a723..bc250bd 100644 --- a/tasks/general/settings/tunnel.yml +++ b/tasks/general/settings/tunnel.yml @@ -4,4 +4,65 @@ # ssh -N -p SSH_PORT -R REMOTE_PORT:localhost:LOCAL_PORT USER@REMOTE_HOST -v -# TBD / TODO +- name: General | Tunnel | Provisioned Variables + ansible.builtin.debug: + var: "{{ item }}" + loop: + - tunnel_local_port + - tunnel_remote_host + - tunnel_remote_port + - tunnel_ssh_port + +- name: General | Tunnel | Block + block: + + - name: General | Tunnel | Facts + ansible.builtin.set_fact: + tunnel_service_name: tunnel + + - name: General | Tunnel | mkdir | /etc/sv + ansible.builtin.file: + path: /etc/sv/{{ tunnel_service_name }}/log + state: directory + mode: "0644" + + - name: General | Tunnel | mkdir | /var/log + ansible.builtin.file: + path: /var/log/{{ tunnel_service_name }} + state: directory + mode: "0644" + + - name: General | Tunnel | Script | Run + ansible.builtin.copy: + dest: /etc/sv/{{ tunnel_service_name }}/run + content: | + #!/bin/sh -e + exec 2>&1 + exec chpst -u {{ user }} ssh -v -H \ + -R {{ tunnel_remote_port }}:localhost:{{ tunnel_local_port }} \ + -p {{ tunnel_ssh_port }} {{ tunnel_remote_host }} + mode: "0755" + + - name: General | Tunnel | Script | Finish + ansible.builtin.copy: + dest: /etc/sv/{{ tunnel_service_name }}/finish + content: | + {{ runit_finish_sleep }} + mode: "0755" + + - name: General | Tunnel | Script | Log + ansible.builtin.copy: + dest: /etc/sv/{{ tunnel_service_name }}/log/run + content: | + #!/bin/sh -e + exec svlogd -tt /var/log/{{ tunnel_service_name }} + mode: "0755" + + - name: General | Tunnel | Script | Log Config + ansible.builtin.copy: + dest: /var/log/{{ tunnel_service_name }}/config + content: | + {{ runit_log_config_10mb }} + mode: "0755" + + when: tunnel_remote_host