summaryrefslogtreecommitdiff
path: root/roles/rss-aggregator
diff options
context:
space:
mode:
Diffstat (limited to 'roles/rss-aggregator')
-rw-r--r--roles/rss-aggregator/tasks/main.yml125
-rw-r--r--roles/rss-aggregator/templates/header.html15
-rw-r--r--roles/rss-aggregator/templates/nginx/feed.conf4
-rw-r--r--roles/rss-aggregator/templates/rss-aggregator.toml16
4 files changed, 0 insertions, 160 deletions
diff --git a/roles/rss-aggregator/tasks/main.yml b/roles/rss-aggregator/tasks/main.yml
deleted file mode 100644
index c3ee8d4..0000000
--- a/roles/rss-aggregator/tasks/main.yml
+++ /dev/null
@@ -1,125 +0,0 @@
-- name: Install rss-aggregator by pre-compiling the binary
- when: ( not ( rss_aggregator_install_method is defined ) ) or rss_aggregator_install_method == "precompile"
- block:
- - name: Fetch rss-aggregator source code
- delegate_to: 127.0.0.1
- become: false
- ansible.builtin.git:
- repo: https://git.joeac.net/rss-aggregator.git
- dest: /tmp/rss-aggregator
- depth: 1
- - name: Cross-compile rss-aggregator
- delegate_to: 127.0.0.1
- become: false
- ansible.builtin.shell:
- cmd: cross build --release --target {{ rust_target }}
- chdir: /tmp/rss-aggregator
- changed_when: "'Compiling' in _task.result.stderr"
- - name: Install rss-aggregator binary
- ansible.builtin.copy:
- src: /tmp/rss-aggregator/target/{{ rust_target }}/release/rss-aggregator
- dest: /usr/bin/rss-aggregator
- mode: +x
-
-- name: Install or update rss-aggregator using rustup
- when: rss_aggregator_install_method == "rustup"
- block:
- - name: Install Rust toolchain using installation script
- ansible.builtin.shell:
- cmd: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- creates: /usr/bin/rustc
- - name: Update Rust toolchain with rustup
- ansible.builtin.shell: rustup update
- changed_when: "'updated' in _task.result.stdout"
- - name: Install or update rss-aggregator using cargo
- ansible.builtin.shell:
- cmd: cargo install --git git://git.joeac.net/rss-aggregator.git
- changed_when: "'Installed' in _task.result.stdout or 'Replaced' in _task.result.stdout"
- - name: Install daily crontab to update rss-aggregator using cargo
- ansible.builtin.cron:
- special_time: daily
- name: Update rss-aggregator
- job: cargo install --git git://git.joeac.net/rss-aggregator.git
-
-- name: Install rss-aggregator using cargo provided by APK
- when: rss_aggregator_install_method == "cargo"
- block:
- - name: Install cargo using APK
- community.general.apk:
- name: cargo
- - name: Install or update rss-aggregator using cargo
- ansible.builtin.shell:
- cmd: cargo install --git git://git.joeac.net/rss-aggregator.git
- changed_when: "'Installed' in _task.result.stdout or 'Replaced' in _task.result.stdout"
- - name: Install daily crontab to update rss-aggregator using cargo
- ansible.builtin.cron:
- special_time: daily
- name: Update rss-aggregator
- job: cargo install --git git://git.joeac.net/rss-aggregator.git
-
-- name: Create rss-aggregator configuration directory
- ansible.builtin.file:
- path: /etc/rss-aggregator
- state: directory
-
-- name: Configure rss-aggregator
- ansible.builtin.template:
- src: rss-aggregator.toml
- dest: /etc/rss-aggregator/config.toml
-
-- name: Configure HTML feed head
- ansible.builtin.shell:
- cmd: |
- curl --silent https://git.joeac.net/joeac.net.git/plain/http/share/components/head.upphtml \
- | grep -E ^\<link\ rel=\"stylesheet\" \
- > {{ feed_html_head }}
- creates: "{{ feed_html_head }}"
-
-- name: Configure HTML feed header
- ansible.builtin.template:
- src: header.html
- dest: "{{ feed_html_header }}"
-
-- name: Fetch subscriptions
- ansible.builtin.git:
- repo: git://git.joeac.net/subscriptions.git
- dest: "{{ src_dir }}/subscriptions"
- depth: 1
-
-- name: Symlink subscriptions into rss-aggregator configuration directory
- ansible.builtin.file:
- src: "{{ src_dir }}/subscriptions/subscriptions.txt"
- dest: /etc/rss-aggregator/subscriptions.txt
- state: link
-
-- name: Create directory for RSS file
- ansible.builtin.file:
- path: "{{ http_files_dir }}/feed/{{ feed_dir }}"
- state: directory
- owner: nginx
- group: nginx
-
-- name: Use rss-aggregator to generate RSS file
- ansible.builtin.shell:
- cmd: rss-aggregator
- creates: "{{ http_files_dir }}/feed/{{ feed_rss_path }}"
-
-- name: Install nginx location config
- register: nginx_conf
- ansible.builtin.template:
- src: nginx/feed.conf
- dest: /etc/nginx/http.d/joeac.net.locations.d/feed.conf
-
-- name: Restart nginx
- when: nginx_conf is changed
- ansible.builtin.service:
- name: nginx
- state: restarted
-
-- name: Install hourly crontab to update subscriptions and run rss-aggregator
- ansible.builtin.cron:
- special_time: daily
- name: Run rss-aggregator
- job: >-
- git -C "{{ src_dir }}/subscriptions" pull;
- rss-aggregator
diff --git a/roles/rss-aggregator/templates/header.html b/roles/rss-aggregator/templates/header.html
deleted file mode 100644
index 7b7249b..0000000
--- a/roles/rss-aggregator/templates/header.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<nav>
- <ul>
- <li>
- <a href=/>Home</a>
- </li>
- <li>
- <a href=/{{ feed_rss_path }}>RSS</a>
- </li>
- </ul>
-</nav>
-
-<script type="module">
-import { addExpandItemButtons } from '/scripts/feed-condense-content.js';
-addExpandItemButtons();
-</script>
diff --git a/roles/rss-aggregator/templates/nginx/feed.conf b/roles/rss-aggregator/templates/nginx/feed.conf
deleted file mode 100644
index 6f650ba..0000000
--- a/roles/rss-aggregator/templates/nginx/feed.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-location /feed {
- root {{ http_files_dir }}/feed;
- try_files $uri $uri.xml $uri.rss $uri.atom $uri.rss.xml $uri.html $uri/index.html $uri.php $uri/index.php =404;
-}
diff --git a/roles/rss-aggregator/templates/rss-aggregator.toml b/roles/rss-aggregator/templates/rss-aggregator.toml
deleted file mode 100644
index 1b408f6..0000000
--- a/roles/rss-aggregator/templates/rss-aggregator.toml
+++ /dev/null
@@ -1,16 +0,0 @@
-subscriptions_path = "subscriptions.txt"
-
-[channel]
-title = "Stuff that Joe Carstairs wants to read"
-description = "Stuff that Joe Carstairs wants to read"
-link = "https://joeac.net/{{ feed_rss_path }}"
-
-[output]
-outfile_rss = "{{ http_files_dir }}/feed/{{ feed_rss_path }}"
-outfile_html = "{{ http_files_dir }}/feed/{{ feed_html_path }}"
-produce_formats = ["html", "rss"]
-max_age = 31
-
-[output.html]
-head = "{{ feed_html_head }}"
-header = "{{ feed_html_header }}"