diff options
| author | Joe Carstairs <me@joeac.net> | 2026-09-24 08:24:32 +0100 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2026-09-24 08:24:32 +0100 |
| commit | 54bbd2e9d716a18542431e04c3f829a39146dfce (patch) | |
| tree | a55101338ed397240884fde96d90f253415d3c09 /roles/rss-aggregator | |
| parent | 55207ffd187fc703edfea2a40d118073678c813f (diff) | |
Diffstat (limited to 'roles/rss-aggregator')
| -rw-r--r-- | roles/rss-aggregator/tasks/main.yml | 125 | ||||
| -rw-r--r-- | roles/rss-aggregator/templates/header.html | 15 | ||||
| -rw-r--r-- | roles/rss-aggregator/templates/nginx/feed.conf | 4 | ||||
| -rw-r--r-- | roles/rss-aggregator/templates/rss-aggregator.toml | 16 |
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 }}" |
