summaryrefslogtreecommitdiff
path: root/roles/approx/tasks
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2024-06-04 19:06:12 +0200
committerChristian Pointner <equinox@spreadspace.org>2024-06-04 19:06:12 +0200
commit208dafdbcf5ba5eab47f00dfefad2749bd775faa (patch)
tree6311b39b2dc8902955514fe02082287431b9819e /roles/approx/tasks
parentrename ch-apt to ch-repo (diff)
switch form apt-cacher-ng to approx
Diffstat (limited to 'roles/approx/tasks')
-rw-r--r--roles/approx/tasks/main.yml85
1 files changed, 85 insertions, 0 deletions
diff --git a/roles/approx/tasks/main.yml b/roles/approx/tasks/main.yml
new file mode 100644
index 00000000..f913120f
--- /dev/null
+++ b/roles/approx/tasks/main.yml
@@ -0,0 +1,85 @@
+---
+- name: prepare storage volume for approx
+ when: approx_storage is defined
+ vars:
+ storage_volume: "{{ approx_storage | combine({'dest': approx_basepath}) }}"
+ include_role:
+ name: "storage/{{ approx_storage.type }}/volume"
+
+- name: install approx
+ apt:
+ name: approx
+ state: present
+
+- name: make sure cache and tmp directories exist
+ loop:
+ - cache
+ - tmp
+ file:
+ state: directory
+ path: "{{ approx_basepath }}/{{ item }}"
+ mode: 0700
+ owner: approx
+ group: approx
+
+- name: generate approx config
+ copy:
+ content: |
+ # ansible managed
+
+ {% for name, remote in approx_backends.items() %}
+ {{ name }} {{ remote }}
+ {% endfor %}
+
+ $cache {{ approx_basepath }}/cache
+ dest: /etc/approx/approx.conf
+
+- name: create override directories for approx systemd units
+ loop:
+ - approx@.service
+ - approx.socket
+ file:
+ state: directory
+ path: "/etc/systemd/system/{{ item }}.d"
+
+- name: create appprox service override
+ copy:
+ content: |
+ # ansible managed
+ [Unit]
+ CollectMode=inactive-or-failed
+
+ [Service]
+ Environment=TMPDIR="{{ approx_basepath }}/tmp"
+ dest: /etc/systemd/system/approx@.service.d/ansible.conf
+ notify: restart approx socket
+
+- name: create appprox socket override
+ copy:
+ content: |
+ # ansible managed
+ [Socket]
+ ListenStream=
+ ListenStream=127.0.0.1:19999
+ dest: /etc/systemd/system/approx.socket.d/ansible.conf
+ notify: restart approx socket
+
+- name: make sure approx socket is started
+ systemd:
+ daemon_reload: yes
+ name: approx.socket
+ state: started
+
+- name: configure nginx vhost
+ vars:
+ nginx_vhost:
+ default: yes
+ name: approx
+ template: generic
+ hostnames:
+ - "{{ approx_hostname }}"
+ locations:
+ '/':
+ proxy_pass: http://127.0.0.1:19999
+ include_role:
+ name: nginx/vhost