diff options
| author | Dmitry Ilvokhin <d@ilvokhin.com> | 2026-01-02 22:18:30 +0000 |
|---|---|---|
| committer | Dmitry Ilvokhin <d@ilvokhin.com> | 2026-01-02 22:18:30 +0000 |
| commit | e0bfe2bf0c42a1a000d1a326500793e10b15ff1a (patch) | |
| tree | 0bf592a13a0771a09f216f33f46cd789b7dda41c | |
| parent | 6bc9c8ff43796a702b7abf8fc5baa68f5e85ee5d (diff) | |
| download | infra-e0bfe2bf0c42a1a000d1a326500793e10b15ff1a.tar.gz infra-e0bfe2bf0c42a1a000d1a326500793e10b15ff1a.tar.bz2 infra-e0bfe2bf0c42a1a000d1a326500793e10b15ff1a.zip | |
Add playbook for epgtrim
| -rw-r--r-- | epgtrim.yml | 4 | ||||
| -rw-r--r-- | roles/epgtrim/files/epgtrim | 7 | ||||
| -rw-r--r-- | roles/epgtrim/files/epgtrim.service | 15 | ||||
| -rw-r--r-- | roles/epgtrim/files/epgtrim.timer | 8 | ||||
| -rw-r--r-- | roles/epgtrim/meta/main.yml | 3 | ||||
| -rw-r--r-- | roles/epgtrim/tasks/main.yml | 30 | ||||
| -rw-r--r-- | roles/pacman/files/misc | 3 | ||||
| -rw-r--r-- | roles/pacman/tasks/main.yml | 22 |
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' |