summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--epgtrim.yml4
-rw-r--r--roles/epgtrim/files/epgtrim7
-rw-r--r--roles/epgtrim/files/epgtrim.service15
-rw-r--r--roles/epgtrim/files/epgtrim.timer8
-rw-r--r--roles/epgtrim/meta/main.yml3
-rw-r--r--roles/epgtrim/tasks/main.yml30
-rw-r--r--roles/pacman/files/misc3
-rw-r--r--roles/pacman/tasks/main.yml22
8 files changed, 92 insertions, 0 deletions
diff --git a/epgtrim.yml b/epgtrim.yml
new file mode 100644
index 0000000..cd05e46
--- /dev/null
+++ b/epgtrim.yml
@@ -0,0 +1,4 @@
+- name: Setup machines to run epgtrim
+ hosts: web
+ roles:
+ - { role: epgtrim }
diff --git a/roles/epgtrim/files/epgtrim b/roles/epgtrim/files/epgtrim
new file mode 100644
index 0000000..f44e909
--- /dev/null
+++ b/roles/epgtrim/files/epgtrim
@@ -0,0 +1,7 @@
+$ANSIBLE_VAULT;1.1;AES256
+64393131613537666136636330373731643339663837666561366665373331343333383834326239
+6137663939356630333433373437376633646562376636360a663137653831316364346331643732
+64336539623633363563643435383864643865656163336563366131353137386639356162636366
+6130656266653237300a623730396638313135333634633036333962366565643965626634656339
+38356233663030306633343433313430373166393039633933363638363133646164643335306161
+3037663166346161326631336539646464363632396463373734
diff --git a/roles/epgtrim/files/epgtrim.service b/roles/epgtrim/files/epgtrim.service
new file mode 100644
index 0000000..6501465
--- /dev/null
+++ b/roles/epgtrim/files/epgtrim.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Run epgtrim once
+After=network.target
+
+[Service]
+User=http
+Group=http
+Type=oneshot
+WorkingDirectory=/srv/http/ilvokhin.com
+EnvironmentFile=/etc/epgtrim
+ExecStart=/usr/bin/epgtrim -output xmltv.xml ${URL}
+ExecStart=/usr/bin/gzip --force xmltv.xml
+
+[Install]
+WantedBy=default.target
diff --git a/roles/epgtrim/files/epgtrim.timer b/roles/epgtrim/files/epgtrim.timer
new file mode 100644
index 0000000..d9883b8
--- /dev/null
+++ b/roles/epgtrim/files/epgtrim.timer
@@ -0,0 +1,8 @@
+[Unit]
+Description=Run epgtrim everyday
+
+[Timer]
+OnCalendar=*-*-* 00:00:00
+
+[Install]
+WantedBy=timers.target
diff --git a/roles/epgtrim/meta/main.yml b/roles/epgtrim/meta/main.yml
new file mode 100644
index 0000000..d78310f
--- /dev/null
+++ b/roles/epgtrim/meta/main.yml
@@ -0,0 +1,3 @@
+dependencies:
+ - role: pacman
+ - role: home
diff --git a/roles/epgtrim/tasks/main.yml b/roles/epgtrim/tasks/main.yml
new file mode 100644
index 0000000..7a521e9
--- /dev/null
+++ b/roles/epgtrim/tasks/main.yml
@@ -0,0 +1,30 @@
+- name: Install epgtrim
+ ansible.builtin.package:
+ name:
+ - epgtrim
+ state: present
+
+- name: Configure epgtrim
+ ansible.builtin.copy:
+ src: files/epgtrim
+ dest: /etc/
+ owner: root
+ group: root
+ mode: u+rw,g+r,o-rw
+
+- name: Configure epgtrim service
+ ansible.builtin.copy:
+ src: files/{{ item }}
+ dest: /usr/lib/systemd/system/{{ item }}
+ owner: root
+ group: root
+ mode: u+rw,g+r,o+r
+ loop:
+ - epgtrim.service
+ - epgtrim.timer
+
+- name: Enable epgtrim systemd timer
+ ansible.builtin.service:
+ name: epgtrim.timer
+ enabled: true
+ state: started
diff --git a/roles/pacman/files/misc b/roles/pacman/files/misc
new file mode 100644
index 0000000..bc506c8
--- /dev/null
+++ b/roles/pacman/files/misc
@@ -0,0 +1,3 @@
+Server = https://packages.ilvokhin.com/$arch
+# TODO: sign all packages and remove this line.
+SigLevel = Optional
diff --git a/roles/pacman/tasks/main.yml b/roles/pacman/tasks/main.yml
new file mode 100644
index 0000000..e7c9a9a
--- /dev/null
+++ b/roles/pacman/tasks/main.yml
@@ -0,0 +1,22 @@
+- name: Configure misc pacman repository
+ ansible.builtin.copy:
+ src: files/misc
+ dest: /etc/pacman.d
+ owner: root
+ group: root
+ mode: u+rw,g+r,o+r
+
+- name: Add misc repository to pacman.conf
+ ansible.builtin.lineinfile:
+ dest: /etc/pacman.conf
+ state: present
+ regexp: "{{ item.regexp }}"
+ line: "{{ item.line }}"
+ owner: root
+ group: root
+ mode: u+rw,g+r,o+r
+ loop:
+ - regexp: '^[misc]'
+ line: '[misc]'
+ - regexp: '^Include = /etc/pacman.d/misc'
+ line: 'Include = /etc/pacman.d/misc'