summaryrefslogtreecommitdiff
path: root/roles/web/tasks/main.yaml
diff options
context:
space:
mode:
authorrepliqa <sarzilhossain@proton.me>2025-07-23 14:06:15 +0600
committerrepliqa <sarzilhossain@proton.me>2025-07-23 14:06:15 +0600
commit69acb7a82a68eeb439e55b994281056df52c81b1 (patch)
tree7c6a53694e11511a3014470c213255a503f9c95e /roles/web/tasks/main.yaml
v0.0.1alphaHEADmain
Diffstat (limited to 'roles/web/tasks/main.yaml')
-rw-r--r--roles/web/tasks/main.yaml78
1 files changed, 78 insertions, 0 deletions
diff --git a/roles/web/tasks/main.yaml b/roles/web/tasks/main.yaml
new file mode 100644
index 00000000..e541df09
--- /dev/null
+++ b/roles/web/tasks/main.yaml
@@ -0,0 +1,78 @@
+---
+
+- name: "check if files exist"
+ ansible.builtin.stat:
+ path: "{{ item }}"
+ register: check_pass_stats
+ loop:
+ - /var/reactance/.temp/ocserv_user_pass_dict
+ - /var/reactance/.temp/xray_user_pass_dict
+ - /var/reactance/.temp/sshvpn_user_pass_dict
+
+- name: "slurp ocserv creds"
+ ansible.builtin.slurp:
+ src: /var/reactance/.temp/ocserv_user_pass_dict
+ register: ocserv_user_pass_dict_contents
+ when: check_pass_stats.results[0].stat.exists
+
+- name: "slurp xray creds"
+ ansible.builtin.slurp:
+ src: /var/reactance/.temp/xray_user_pass_dict
+ register: xray_user_pass_dict_contents
+ when: check_pass_stats.results[1].stat.exists
+
+- name: "slurp sshvpn creds"
+ ansible.builtin.slurp:
+ src: /var/reactance/.temp/sshvpn_user_pass_dict
+ register: sshvpn_user_pass_dict_contents
+ when: check_pass_stats.results[2].stat.exists
+
+- name: "combine dicts"
+ ansible.builtin.set_fact:
+ user_pass_dict: "{{ (ocserv_user_pass_dict_contents.content|default('e30K')|b64decode|from_json)|combine(xray_user_pass_dict_contents.content|default('e30K')|b64decode|from_json, sshvpn_user_pass_dict_contents.content|default('e30K')|b64decode|from_json, recursive=true, list_merge='append') }}"
+ notify:
+ - cleanup_temp_dir
+
+- name: "get salamander public key"
+ ansible.builtin.slurp:
+ path: "/var/reactance/xray/xray_public_key"
+ register: xray_pub_key_b64e
+ when: check_pass_stats.results[1].stat.exists
+
+- name: "register salamander public key"
+ ansible.builtin.set_fact:
+ xray_public_key: "{{ xray_pub_key_b64e.content|b64decode }}"
+ when: check_pass_stats.results[1].stat.exists
+
+- name: "build and copy sites"
+ ansible.builtin.include_tasks: build_hugo_sites.yaml
+
+- name: "copy certificates and keys"
+ ansible.builtin.include_tasks: copy_certs.yaml
+
+- name: "setup httpd"
+ ansible.builtin.include_tasks: setup_httpd.yaml
+
+- name: "setup htpasswd auth"
+ ansible.builtin.include_tasks: setup_auth.yaml
+
+- name: "store web expiration date"
+ ansible.builtin.set_fact:
+ web_exp_dict: "{{ web_exp_dict|default({}) | combine({item: ansible_facts.date_time.epoch|int + 86400 }) }}"
+ loop: "{{ user_pass_dict.keys() }}"
+
+- name: "check if web_expiration.json exists"
+ ansible.builtin.stat:
+ path: /var/reactance/.web_expiration.json
+ register: web_exp_stat
+
+- name: "slurp previous web_expiration.json contents"
+ ansible.builtin.slurp:
+ path: /var/reactance/.web_expiration.json
+ when: web_exp_stat.stat.exists
+ register: web_exp_e64
+
+- name: "write it to file"
+ ansible.builtin.copy:
+ content: "{{ web_exp_dict|default({})|combine(web_exp_e64.content|default('e30K')|b64decode|from_json) | to_json }}"
+ dest: /var/reactance/.web_expiration.json