Tools: RipGrep, PushBullet and AlertHub

Published: Oct 14, 2024 by Isaac Johnson

On my list of interesting Open-Source tools to investigate was RipGrep which offers to provide fast local grep searches that can use my favourite; regular expressions. In this article I’ll show in Windows and Linux and touch on how we cn use RipGrep. PushBullet is a cheap push SaaS offering that can give us a fast and easy way to send alerts and notifications to our various devices including browsers, PCs and phones. I’ll setup the free tier and show some examples.

Lastly, we’ll look at another Open-Source project (that hasn’t really gotten enough love lately), AlertHub. This lets us subscribe to Github and Gitlab repositories to get alerts for commits or releases. It can do PushBullet and email, amongst other endpoints and provides a nice RSS feed for them as well. We’ll set it up to run locally in NodeJS, then build a docker container and run that and lastly set it up in Kubernetes with a ConfigMap volume and proper TLS ingress.

Let’s dig in!

RipGrep

I found ripgrep recently that offers give us recursive searches with regexps.

Installing with Scoop. We just need to add the bucket and Scoop install the app

PS C:\Users\isaac\Documents> scoop bucket add ingenarel_ingenarel-scoop-bucket https://github.com/ingenarel/ingenarel-scoop-bucket
Checking repo... OK
The ingenarel_ingenarel-scoop-bucket bucket was added successfully.
PS C:\Users\isaac\Documents> scoop install ingenarel_ingenarel-scoop-bucket/ripgrep-git-ssh
Updating Scoop...
Updating Buckets...
INFO  Converting 'main' bucket to git repo...
The main bucket was removed successfully.
Checking repo... OK
The main bucket was added successfully.
 * e33c289efd6e vscode-insiders: Update to version 1.95.0-1727963755686  versions     3 hours ago
 * 90ffabbeaeb2 sharex-dev: Update to version 16.1.3.418                 versions     3 hours ago
 * d725c686f671 odin-nightly: Update to version 2024-10-03               versions     3 hours ago
 * 342c8d0853e6 nodejs20: Update to version 20.18.0                      versions     3 hours ago
 * 0b8f5781700c neochat-nightly: Update to version 9780                  versions     3 hours ago
 * a491e60a1cfc firefox-developer: Update to version 132.0b2             versions     3 hours ago
 * 2869d31881f9 chromium-dev: Update to version 131.0.6756.0-r1363645    versions     3 hours ago
 * ec539f6ddffb chromedriver-canary: Update to version 131.0.6755.0      versions     3 hours ago
 * 1d5a73df653c brave-nightly: Update to version 1.72.59                 versions     3 hours ago
 * 7c9a66db9cb6 android-studio-canary: Update to version 2024.2.2.5      versions     3 hours ago
 * f54b09a1f218 zig-dev: Update to version 0.14.0-dev.1702               versions     6 hours ago
 * c83d2515b6a7 rclone-beta: Update to version 1.69.0-beta.8363.4db093.. versions     6 hours ago
 * bdf06eaa42cc phpstorm-eap: Update to version 2024.3-243.18137.7       versions     6 hours ago
 * 383716bb134f kicad-nightly: Update to version 8.99.0.2558.g95bbcaffbf versions     6 hours ago
 * 51a7101ff539 kicad-lite-nightly: Update to version 8.99.0.2558.g95b.. versions     6 hours ago
 * 8ffe96682b8d kate-nightly: Update to version 8103                     versions     6 hours ago
 * bbb3ebbb96e1 firefox-nightly: Update to version 133.0a1.20241003094.. versions     6 hours ago
 * c1fece06a436 firefox-developer: Update to version 132.0b1             versions     6 hours ago
 * c3a3369e1ef7 ffmpeg-yt-dlp: Update to version 7.0.2-19-20241003       versions     6 hours ago
 * 78653bc97a39 ffmpeg-nightly: Update to version 1727964666             versions     6 hours ago
 * 53eaaeee0ab6 ffmpeg-gyan-nightly: Update to version 2024-10-02        versions     6 hours ago
 * 7cd2d94c941d chromium-nosync: Update to version 129.0.6668.90-r1343.. versions     6 hours ago
 * 29bb7aacec3b chromium-dev: Update to version 131.0.6755.0-r1363608    versions     6 hours ago
 * df4109700adb chromedriver-beta: Update to version 130.0.6723.31       versions     6 hours ago
 * 8f5ccdbfa3b5 brave-nightly: Update to version 1.72.58                 versions     6 hours ago
 * e03ab9ff03e5 ffmpeg-nightly@1727895366: Fix hash (Closes #1968)       versions     8 hours ago
 * a25d12542419 webstorm-eap: Update to version 2024.3-243.18137.24      versions     10 hours ago
 * efdcdbf3b5cd rubymine-eap: Update to version 2024.3-243.18137.23      versions     10 hours ago
 * 825372fbe560 pycharm-professional-eap: Update to version 2024.3-243.. versions     10 hours ago
 * fee8ff4bb781 pycharm-eap: Update to version 2024.3-243.18137.19       versions     10 hours ago
 * 836c4a66799f kdenlive-nightly: Update to version 8931                 versions     10 hours ago
 * cd588116f495 chromium-dev: Update to version 131.0.6755.0-r1363538    versions     10 hours ago
 * 479f818417a5 rstudio-daily: Update to version 2024.11.0-daily-261     versions     14 hours ago
 * 19b3581558ba neovim-nightly: Update to version 0.11.0-888             versions     14 hours ago
 * 608d6365e434 ipfilter-nightly: Update to version 1727932026           versions     14 hours ago
 * 647f5aa2e2da googlechrome-canary: Update to version 131.0.6753.0      versions     14 hours ago
 * 5dbe18b009fb dart-dev: Update to version 3.6.0-310.0.dev              versions     14 hours ago
 * f8275385157c chromium-dev: Update to version 131.0.6755.0-r1363487    versions     14 hours ago
 * 12efbd174e12 chromedriver-canary: Update to version 131.0.6754.0      versions     14 hours ago
 * b26a35f54d47 brave-beta: Update to version 1.71.104                   versions     14 hours ago
 * 800bdcb7d5a0 beef-nightly: Update to version 0.43.5.10022024          versions     14 hours ago
 * 8ba1fd540980 vlc-nightly-ucrt-llvm: Update to version 20241003        versions     18 hours ago
 * af8397a2cef3 stash-dev: Update to version 0.27.0-14-g3e4515e6         versions     18 hours ago
 * 59ab910f9860 sfsu-beta: Update to version 1.15.0-beta.1               versions     18 hours ago
 * faf081b0e154 oss-cad-suite-nightly: Update to version 2024-10-03      versions     18 hours ago
 * e2a555bcb247 musescore-nightly: Update to version 242770308           versions     18 hours ago
 * fe31b35fb15f gitbutler-nightly: Update to version 0.5.778             versions     18 hours ago
 * 4067177489a5 chromium-dev: Update to version 131.0.6755.0-r1363460    versions     18 hours ago
 * 03af07fb1f61 brave-nightly: Update to version 1.72.57                 versions     18 hours ago
 * 54ac2bfead91 zed-nightly: Update to version 20241003                  versions     21 hours ago
 * 19cfdb0a41e9 stash-dev: Update to version 0.27.0-10-gc92de09e         versions     21 hours ago
 * 0414744d3e83 sqlitebrowser-nightly: Update to version 2024-10-03      versions     21 hours ago
 * fa9b406c0ca8 ruffle-nightly: Update to version 2024-10-03             versions     21 hours ago
 * 962747cb6a7a neochat-nightly: Update to version 9776                  versions     21 hours ago
 * e4f145bc3e62 micro-nightly: Update to version nightly-2024-10-03      versions     21 hours ago
 * a8aa9d816e0f lapce-nightly: Update to version 1727916631              versions     21 hours ago
 * 66ef5b49644f firefox-nightly: Update to version 133.0a1.20241002212.. versions     21 hours ago
 * 14b9094b98dc edgedriver-canary: Update to version 131.0.2870.0        versions     21 hours ago
 * 61684509fd58 cmake-nightly: Update to version 3.30.20241002           versions     21 hours ago
 * 733e5fe8a3f9 chromium-dev: Update to version 131.0.6754.0-r1363330    versions     21 hours ago
 * 46d1d427b323 bottom-nightly: Update to version 11153684076            versions     21 hours ago
 * 774acbf610a3 pwsh-beta: Update to version 7.5.0-preview.5             versions     27 hours ago
 * 8daa065616ba odin-nightly: Update to version 2024-10-02               versions     27 hours ago
 * 97de331fe8de neochat-nightly: Update to version 9767                  versions     27 hours ago
 * 5f8054ab25ea marknote-nightly: Update to version 731                  versions     27 hours ago
 * c6afe0338097 goland-eap: Update to version 2024.3-243.18137.20        versions     27 hours ago
 * 17f61060a36e firefox-developer: Update to version 132.0b2             versions     27 hours ago
 * d7fd252e9488 firefox-beta: Update to version 132.0b2                  versions     27 hours ago
 * 9a9b0fd9fdda ffmpeg-yt-dlp: Update to version 7.0.2-19-20241002       versions     27 hours ago
 * 842a099c7e07 ffmpeg-shared-nightly: Update to version 117304          versions     27 hours ago
 * dc9d9f85ba16 ffmpeg-nightly: Update to version 1727895366             versions     27 hours ago
 * 2fe3dc8943a9 edgedriver-canary: Update to version 131.0.2869.0        versions     27 hours ago
 * 1a213b06332d dataspell-eap: Update to version 2024.3-243.18137.18     versions     27 hours ago
 * d676893d00e8 chromium-dev: Update to version 131.0.6754.0-r1363199    versions     27 hours ago
 * e2c50f20bde2 chromedriver-canary: Update to version 131.0.6753.0      versions     27 hours ago
 * 2df593e6acd3 brave-nightly: Update to version 1.72.56                 versions     27 hours ago
 * 8d11aa84630b vscode-insiders: Update to version 1.94.0-1727874565890  versions     30 hours ago
 * a1253484197b vivaldi-snapshot: Update to version 6.10.3483.4          versions     30 hours ago
 * 7ae7c03dd3ec idea-ultimate-eap: Update to version 2024.3-243.18137.10 versions     30 hours ago
 * 5f25cf1d3145 idea-eap: Update to version 2024.3-243.18137.10          versions     30 hours ago
 * 23d7d50f6ffa firefox-nightly: Update to version 133.0a1.20241002095.. versions     30 hours ago
 * 9f66caf51f13 edgedriver-canary: Update to version 131.0.2870.0        versions     30 hours ago
 * dc8dbc33b99a chromium-dev: Update to version 131.0.6754.0-r1363043    versions     30 hours ago
 * 46cbe47f2180 brave-nightly: Update to version 1.72.55                 versions     30 hours ago
 * dc5d4a9bd4f5 vlc-nightly-ucrt-llvm: Update to version 20241002        versions     34 hours ago
 * a09f06198f67 swift-nightly: Update to version 20241002.1              versions     34 hours ago
 * c1af5ca65f3f rclone-beta: Update to version 1.69.0-beta.8354.9614fc.. versions     34 hours ago
 * 536ec66b0dc5 kicad-nightly: Update to version 8.99.0.2542.g37a656fae7 versions     34 hours ago
 * 7ccde6cb20e8 kicad-lite-nightly: Update to version 8.99.0.2542.g37a.. versions     34 hours ago
 * 92ca6e75ac57 kate-nightly: Update to version 8097                     versions     34 hours ago
 * 33ab9847844b edgedriver-canary: Update to version 131.0.2869.0        versions     34 hours ago
 * 41cc7ab95f1c cmake-nightly: Update to version 3.30.20241001           versions     34 hours ago
 * 6a0f181a291f chromium-dev: Update to version 131.0.6753.0-r1362946    versions     34 hours ago
 * a5926a0fe3a7 vscode-insiders: Update to version 1.94.0-1727844446843  versions     2 days ago
 * 82bdf10db279 stash-dev: Update to version 0.27.0-9-g9765b6d5          versions     2 days ago
 * 0f81f62a4ecc rstudio-daily: Update to version 2024.11.0-daily-258     versions     2 days ago
 * 31681ae05740 r-patched: Update to version 4.4.1-r87205                versions     2 days ago
 * 940f0c55ba58 openscad-dev: Update to version 2024.10.02               versions     2 days ago
 * 7d86fc63c75b neovim-nightly: Update to version 0.11.0-881             versions     2 days ago
 * 57d3fb538def ipfilter-nightly: Update to version 1727845668           versions     2 days ago
 * e9db1b0a80b6 googlechrome-canary: Update to version 131.0.6751.0      versions     2 days ago
 * 0e9eb265e663 edgedriver-dev: Update to version 131.0.2863.0           versions     2 days ago
 * ddde869353bd edgedriver-canary: Update to version 131.0.2870.0        versions     2 days ago
 * e866c8ab60f7 chromium-dev: Update to version 131.0.6753.0-r1362854    versions     2 days ago
 * 3ef680d462ed chromedriver-canary: Update to version 131.0.6752.0      versions     2 days ago
 * 56fe4e3cf761 brave-beta: Update to version 1.71.103                   versions     2 days ago
 * e3fced7203f4 beef-nightly: Update to version 0.43.5.10012024          versions     2 days ago
 * fa8b07a0c0bd vscode-insiders@1.94.0-1727698760170: Fix hash (Closes.. versions     2 days ago
 * 1ee44edd1c84 neovim-nightly@0.11.0-869: Fix hash (Closes #1964)       versions     2 days ago
 * aa698554dd09 swift-nightly: Update to version 20241002.0              versions     2 days ago
 * db171261a335 stash-dev: Update to version 0.27.0-8-gc6c3754f          versions     2 days ago
 * 2ad060e8ed54 oss-cad-suite-nightly: Update to version 2024-10-02      versions     2 days ago
 * 24e1155be85f musescore-nightly: Update to version 242760307           versions     2 days ago
 * d9fb6f7f61ed gitbutler-nightly: Update to version 0.5.777             versions     2 days ago
 * 1b70b546340f chromium-dev: Update to version 131.0.6752.0-r1362809    versions     2 days ago
 * a8b43b06627b brave-nightly: Update to version 1.72.54                 versions     2 days ago
 * f258e2fb8c31 zed-nightly: Update to version 20241002                  versions     2 days ago
 * 7f33308a0689 yt-dlp-nightly: Update to version 2024.10.01.232843      versions     2 days ago
 * 5c70e6225663 vim-nightly: Update to version 9.1.0754                  versions     2 days ago
 * e3b4b8ce2426 systeminformer-nightly: Update to version 3.1.24276      versions     2 days ago
 * d387e17f4a44 swift-nightly: Update to version 20241001.3              versions     2 days ago
 * 1cb3cf3a182f stash-dev: Update to version 0.27.0-7-g76a5b2a0          versions     2 days ago
 * 94635e11b5d4 sqlitebrowser-nightly: Update to version 2024-10-02      versions     2 days ago
 * cf467a7c43e1 ruffle-nightly: Update to version 2024-10-02             versions     2 days ago
 * 0af4ae2b2869 micro-nightly: Update to version nightly-2024-10-02      versions     2 days ago
 * 778958cbaf31 lapce-nightly: Update to version 1727830195              versions     2 days ago
 * b2ad09cbcb9f labplot-nightly: Update to version 7272                  versions     2 days ago
 * bd1b65706df3 gitbutler-nightly: Update to version 0.5.776             versions     2 days ago
 * 9b92ac3e72ab firefox-nightly: Update to version 133.0a1.20241001155.. versions     2 days ago
 * a7752a84e081 chromium-dev: Update to version 131.0.6752.0-r1362699    versions     2 days ago
 * 460bd1456676 bottom-nightly: Update to version 11135629122            versions     2 days ago
 * 5b9cab8e5199 systeminformer-nightly: Update to version 3.1.24275      versions     2 days ago
 * c1a3807827c7 neochat-nightly: Update to version 9763                  versions     2 days ago
 * a51d2b21d853 firefox-developer: Update to version 131.0b9             versions     2 days ago
 * 4b41fe7b53e7 chromium-dev: Update to version 131.0.6752.0-r1362519    versions     2 days ago
 * 8aa5c47a212a chromedriver-canary: Update to version 131.0.6751.0      versions     2 days ago
 * b4bdfbf6ccf2 brave-nightly: Update to version 1.72.53                 versions     2 days ago
 * 7c7426659cb3 python312: Update to version 3.12.7                      versions     2 days ago
 * 86c05bb71f85 python-rc: Update to version 3.13.0rc3                   versions     2 days ago
 * 5aeb855a3fdd python-pre: Update to version 3.13.0rc3                  versions     2 days ago
 * 4da32508d282 python-beta: Update to version 3.13.0rc3                 versions     2 days ago
 * 19443c6bb2bf firefox-developer: Update to version 132.0b1             versions     2 days ago
 * 4d98d28a73a7 firefox-beta: Update to version 132.0b1                  versions     2 days ago
 * 1702d04c043a ffmpeg-yt-dlp: Update to version 7.0.2-19-20241001       versions     2 days ago
 * acccec1ec613 ffmpeg-shared-nightly: Update to version 117286          versions     2 days ago
 * 16b574997697 ffmpeg-nightly: Update to version 1727790471             versions     2 days ago
 * d97d20da8188 chromium-dev: Update to version 131.0.6751.0-r1362327    versions     2 days ago
 * e8127f5dce35 brave-nightly: Update to version 1.72.52                 versions     2 days ago
 * 324e346ae4c3 prismlauncher-git: Update to version 7.0-44b4262         versions     2 days ago
 * 41448473554a odin: Update to version 2024-10                          versions     2 days ago
 * 9f63545f060b odin-nightly: Update to version 2024-10-01               versions     2 days ago
 * 416bb939a8be odin-dev: Update to version 2024-10                      versions     2 days ago
 * 528468bfec51 kicad-nightly: Update to version 8.99.0.2525.gd74caace0a versions     2 days ago
 * 874c250e4f8c kicad-lite-nightly: Update to version 8.99.0.2525.gd74.. versions     2 days ago
 * 258575de8d24 kate-nightly: Update to version 8093                     versions     2 days ago
 * 8060c7cba137 gitbutler-nightly: Update to version 0.5.775             versions     2 days ago
 * ee139147a289 ffmpeg-nightly: Update to version 1727787349             versions     2 days ago
 * d350b6047d17 chromium-dev: Update to version 131.0.6751.0-r1362261    versions     2 days ago
 * 5ffb79d468f1 chromedriver-canary: Update to version 131.0.6750.0      versions     2 days ago
 * d4fbd9985ea0 rstudio-daily: Update to version 2024.10.0-daily-250     versions     3 days ago
 * 91403e6cd8d1 r-patched: Update to version 4.4.1-r87204                versions     3 days ago
 * 4b091aa2ffef prismlauncher-git: Update to version 7.0-fa92e6b         versions     3 days ago
 * c19324a40858 neovim-nightly: Update to version 0.11.0-869             versions     3 days ago
 * 7e1bb7fc1171 kodi-dev: Update to version 20240930                     versions     3 days ago
 * acf55fa9ccb4 ipfilter-nightly: Update to version 1727759258           versions     3 days ago
 * ee91d0914d28 googlechrome-canary: Update to version 131.0.6749.0      versions     3 days ago
 * 8e84ec97f42b explorerplusplus-dev: Update to version 1.5.0.2490       versions     3 days ago
 * 40ef6265c3ce dart-dev: Update to version 3.6.0-300.0.dev              versions     3 days ago
 * 39e5b0a0d779 chromium-dev: Update to version 131.0.6751.0-r1362203    versions     3 days ago
 * 8e11f41a3309 brave-beta: Update to version 1.71.102                   versions     3 days ago
 * 2a895f6762b3 beef-nightly: Update to version 0.43.5.09302024          versions     3 days ago
 * 1a9f10a41121 oss-cad-suite-nightly: Update to version 2024-10-01      versions     3 days ago
 * da856a473c97 musescore-nightly: Update to version 242750314           versions     3 days ago
 * 8c412204c629 gitbutler-nightly: Update to version 0.5.774             versions     3 days ago
 * 8f143518bd67 explorerplusplus-dev: Update to version 1.5.0.2487       versions     3 days ago
 * 6da7cb36c059 edgedriver-canary: Update to version 131.0.2868.0        versions     3 days ago
 * 160d504bf25d chromium-dev: Update to version 131.0.6750.0-r1362166    versions     3 days ago
 * 962a2a06f302 brave-nightly: Update to version 1.72.51                 versions     3 days ago
 * e03b9de3d87d zed-nightly: Update to version 20241001                  versions     3 days ago
 * 11453cacca0d yt-dlp-nightly: Update to version 2024.09.30.232929      versions     3 days ago
 * 60320ae524f8 yt-dlp-master: Update to version 2024.10.01.001408       versions     3 days ago
 * 98225d15ccbd sqlitebrowser-nightly: Update to version 2024-10-01      versions     3 days ago
 * 9c8c46eab89a ruffle-nightly: Update to version 2024-10-01             versions     3 days ago
 * 6bcc74cc8612 prismlauncher-git: Update to version 7.0-974c89b         versions     3 days ago
 * 1e5fcc429e7c neochat-nightly: Update to version 9748                  versions     3 days ago
 * 6b756d7fa30e micro-nightly: Update to version nightly-2024-10-01      versions     3 days ago
 * 8c886828e105 lapce-nightly: Update to version 1727743868              versions     3 days ago
 * a2ccc81dc802 firefox-nightly: Update to version 133.0a1.20240930215.. versions     3 days ago
 * bd8e4e3790b7 edgedriver-canary: Update to version 131.0.2863.0        versions     3 days ago
 * 9406ca1509d6 cmake-nightly: Update to version 3.30.20240930           versions     3 days ago
 * 1ea9850fbaca chromium-dev: Update to version 131.0.6750.0-r1362045    versions     3 days ago
 * 38ed783d122d bottom-nightly: Update to version 11116323021            versions     3 days ago
 * b4b4a1574bcf rclone-beta: Update to version 1.69.0-beta.8352.17e7cc.. versions     3 days ago
 * de06516d961b odin-nightly: Update to version 2024-09-30               versions     3 days ago
 * 678e70e733ad kate-nightly: Update to version 8088                     versions     3 days ago
 * ee601fc4a282 firefox-nightly: Update to version 133.0a1.20240930145.. versions     3 days ago
 * 9ac384c186a7 edgedriver-canary: Update to version 131.0.2867.0        versions     3 days ago
 * 634c4008aa9b chromium-dev: Update to version 131.0.6750.0-r1361891    versions     3 days ago
 * 1b152856a513 chromedriver-canary: Update to version 131.0.6749.0      versions     3 days ago
 * 5af845cc1957 brave-nightly: Update to version 1.72.50                 versions     3 days ago
 * a3e32fc6a301 vscode-insiders: Update to version 1.94.0-1727698760170  versions     3 days ago
 * a28ca9073849 rclone-beta: Update to version 1.69.0-beta.8351.8a6fc8.. versions     3 days ago
 * 2de4642469b0 github-beta: Update to version 3.4.6-beta3               versions     3 days ago
 * 2bd2f1505e03 ffmpeg-yt-dlp: Update to version 7.0.2-19-20240930       versions     3 days ago
 * 7a959eb7405a ffmpeg-shared-nightly: Update to version 117275          versions     3 days ago
 * 14c70cb88b30 ffmpeg-nightly: Update to version 1727713686             versions     3 days ago
 * 5d4479a64c76 chromium-dev: Update to version 131.0.6749.0-r1361769    versions     3 days ago
 * 769d25f0c19b brave-nightly: Update to version 1.72.49                 versions     3 days ago
 * 1081740cbdf1 vscode-insiders@1.94.0-1727448901163: Fix hash (Closes.. versions     3 days ago
 * 25f6ec97b781 zettlr-nightly: Update to version 3.2.1-20240930         versions     3 days ago
 * 7ad48060fb3d rclone-beta: Update to version 1.69.0-beta.8350.c05342.. versions     3 days ago
 * ced664b16b01 labplot-nightly: Update to version 7265                  versions     3 days ago
 * 5ac9e87b90dd kicad-nightly: Update to version 8.99.0.2477.g330150a6a6 versions     3 days ago
 * 437a1ac2d2f6 kicad-lite-nightly: Update to version 8.99.0.2477.g330.. versions     3 days ago
 * 4ba52fe330a2 gitbutler-nightly: Update to version 0.5.773             versions     3 days ago
 * 81c4bfe25a71 firefox-nightly: Update to version 132.0a1.20240930091.. versions     3 days ago
 * 3d4ca134464c chromium-dev: Update to version 131.0.6749.0-r1361722    versions     3 days ago
 * 1af93b26841d chromedriver-canary: Update to version 131.0.6748.0      versions     3 days ago
 * d46530ac1ade stash-dev: Update to version 0.27.0-6-g93a2ee12          versions     4 days ago
 * 378ebb153024 rstudio-daily: Update to version 2024.10.0-daily-247     versions     4 days ago
 * 556fc483afc9 openscad-dev: Update to version 2024.09.30               versions     4 days ago
 * b6ea6276fffb neovim-nightly: Update to version 0.11.0-866             versions     4 days ago
 * 470a810166b3 ipfilter-nightly: Update to version 1727672872           versions     4 days ago
 * f5c03e1edea9 handbrake-snapshot: Update to version 20240929-e27eddb90 versions     4 days ago
 * e27257762c35 handbrake-cli-snapshot: Update to version 202409292119.. versions     4 days ago
 * 05eaf10d5fc1 googlechrome-canary: Update to version 131.0.6747.0      versions     4 days ago
 * 47bde97abd37 chromium-dev: Update to version 131.0.6749.0-r1361671    versions     4 days ago
 * a3bbeaa21e9f brave-beta: Update to version 1.71.101                   versions     4 days ago
 * 0e32ec9f591d beef-nightly: Update to version 0.43.5.09292024          versions     4 days ago
 * d52b65f8738b neovim-nightly@0.11.0-854: Fix hash (Closes #1959)       versions     4 days ago
 * 8ebde48e93fb vlc-nightly-ucrt-llvm: Update to version 20240930        versions     4 days ago
 * acfbcaaf31b7 oss-cad-suite-nightly: Update to version 2024-09-30      versions     4 days ago
 * 5de58caf657e musescore-nightly: Update to version 242740311           versions     4 days ago
 * fd76efd521a4 kodi-nightly: Update to version 20240928                 versions     4 days ago
 * 855f6c64cf43 gitbutler-nightly: Update to version 0.5.772             versions     4 days ago
 * 845039cfadb1 chromium-dev: Update to version 131.0.6748.0-r1361648    versions     4 days ago
 * badd5c430ac4 brave-nightly: Update to version 1.72.48                 versions     4 days ago
 * a8eeae38150c zig-dev: Update to version 0.14.0-dev.1694               versions     4 days ago
 * d78e879a9020 zed-nightly: Update to version 20240930                  versions     4 days ago
 * 68cc45b91862 yt-dlp-nightly: Update to version 2024.09.29.232819      versions     4 days ago
 * 96a07dfc212e yt-dlp-master: Update to version 2024.09.29.210359       versions     4 days ago
 * e8a749c8f8e6 vim-nightly: Update to version 9.1.0748                  versions     4 days ago
 * 6cd1f5021c27 sqlitebrowser-nightly: Update to version 2024-09-30      versions     4 days ago
 * 4e33e0a5ce48 ruffle-nightly: Update to version 2024-09-30             versions     4 days ago
 * e4ab2fae8102 rclone-beta: Update to version 1.69.0-beta.8347.5147d1.. versions     4 days ago
 * f808b663d054 micro-nightly: Update to version nightly-2024-09-30      versions     4 days ago
 * 56e7e19a2950 lapce-nightly: Update to version 1727657577              versions     4 days ago
 * cf7cf5f13921 freac-continuous: Update to version 11096776949          versions     4 days ago
 * 48686d84cce6 firefox-nightly: Update to version 132.0a1.20240929211.. versions     4 days ago
 * 83b5c0f6a6e3 cmake-nightly: Update to version 3.30.20240929           versions     4 days ago
 * e5bae9de765e chromium-dev: Update to version 131.0.6748.0-r1361620    versions     4 days ago
 * c7f5f98541f2 bottom-nightly: Update to version 11097203968            versions     4 days ago
 * ea961311d678 odin-nightly: Update to version 2024-09-29               versions     4 days ago
 * b959277fcd0b kate-nightly: Update to version 8077                     versions     4 days ago
 * a900a1d1fc8d chromium-dev: Update to version 131.0.6748.0-r1361611    versions     4 days ago
 * f48ed55eccb7 chromedriver-canary: Update to version 131.0.6747.0      versions     4 days ago
 * 0fad666bdb92 zig-dev: Update to version 0.14.0-dev.1693               versions     4 days ago
 * 4f07e950995b kate-nightly: Update to version 8075                     versions     4 days ago
 * 9eb0081ddc80 ffmpeg-yt-dlp: Update to version 7.0.2-19-20240929       versions     4 days ago
 * f016cfe31019 ffmpeg-shared-nightly: Update to version 117253          versions     4 days ago
 * 10c59b59b1b8 ffmpeg-nightly: Update to version 1727617217             versions     4 days ago
 * b37f46083e27 dolphin-nightly: Update to version 4659                  versions     4 days ago
 * e637b75576f1 chromium-dev: Update to version 131.0.6747.0-r1361591    versions     4 days ago
 * e7f3bf113f20 kicad-nightly: Update to version 8.99.0.2473.g9979b4849e versions     4 days ago
 * 938386991200 kicad-lite-nightly: Update to version 8.99.0.2473.g997.. versions     4 days ago
 * 83f786b037a1 kate-nightly: Update to version 8072                     versions     4 days ago
 * fae6e97a645f firefox-nightly: Update to version 132.0a1.20240929094.. versions     4 days ago
 * 4c208bd3898d chromium-dev: Update to version 131.0.6747.0-r1361583    versions     4 days ago
 * 7da06acb2122 chromedriver-canary: Update to version 131.0.6746.0      versions     4 days ago
 * 67aaa74d504f r-patched: Update to version 4.4.1-r87201                versions     5 days ago
 * 2dc19ebbe7e2 prismlauncher-git: Update to version 7.0-a634512         versions     5 days ago
 * aba1fa7950ad openscad-dev: Update to version 2024.09.29               versions     5 days ago
 * 274362bbc0c9 neovim-nightly: Update to version 0.11.0-854             versions     5 days ago
 * 41d83da0e19b kodi-dev: Update to version 20240928                     versions     5 days ago
 * f1f3c043dd50 kate-nightly: Update to version 8062                     versions     5 days ago
 * d3e936c9d5dc ipfilter-nightly: Update to version 1727586414           versions     5 days ago
 * ea87262ffaf7 googlechrome-canary: Update to version 131.0.6745.0      versions     5 days ago
 * 86987f8fae2a chromium-dev: Update to version 131.0.6747.0-r1361570    versions     5 days ago
 * e8272c561e7a beef-nightly: Update to version 0.43.5.09282024          versions     5 days ago
 * dec90dca859d vlc-nightly-ucrt-llvm: Update to version 20240929        versions     5 days ago
 * 4426f4586524 oss-cad-suite-nightly: Update to version 2024-09-29      versions     5 days ago
 * 1d7f77285c65 musescore-nightly: Update to version 242730311           versions     5 days ago
 * d1c54201e1ef mongodb-rc: Update to version 8.0.1-rc0                  versions     5 days ago
 * 87e4b3d1f18f gitbutler-nightly: Update to version 0.5.771             versions     5 days ago
 * 3d3d3c090a74 edgedriver-canary: Update to version 131.0.2863.0        versions     5 days ago
 * c2e006f5227c chromium-dev: Update to version 131.0.6746.0-r1361559    versions     5 days ago
 * d1a5ab9670b2 zed-nightly: Update to version 20240929                  versions     5 days ago
 * 356c8c86927d sqlitebrowser-nightly: Update to version 2024-09-29      versions     5 days ago
 * 10dfb42660c5 ruffle-nightly: Update to version 2024-09-29             versions     5 days ago
 * 1808d88cb203 micro-nightly: Update to version nightly-2024-09-29      versions     5 days ago
 * 582ef83762fb lapce-nightly: Update to version 1727570895              versions     5 days ago
 * c0781b67f0eb firefox-nightly: Update to version 132.0a1.20240928195.. versions     5 days ago
 * 19b5adf5dbed edgedriver-canary: Update to version 131.0.2862.0        versions     5 days ago
 * 66c3d34c429a cmake-nightly: Update to version 3.30.20240928           versions     5 days ago
 * 9b25253dae06 chromium-dev: Update to version 131.0.6746.0-r1361543    versions     5 days ago
 * 21c4ef990d24 bottom-nightly: Update to version 11088171512            versions     5 days ago
 * db0981d80935 odin-nightly: Update to version 2024-09-28               versions     5 days ago
 * 2163d296f7de kate-nightly: Update to version 8057                     versions     5 days ago
 * 37da663aabab dolphin-nightly: Update to version 4658                  versions     5 days ago
 * e260598f934a chromium-dev: Update to version 131.0.6746.0-r1361532    versions     5 days ago
 * e4b2c72f2fdf chromedriver-canary: Update to version 131.0.6745.0      versions     5 days ago
 * 7a6226e87ce7 rclone-beta: Update to version 1.69.0-beta.8343.9b4b30.. versions     5 days ago
 * b54169a6282c kdenlive-nightly: Update to version 8912                 versions     5 days ago
 * 96863f67c41a kdeconnect-nightly: Update to version 4322               versions     5 days ago
 * 1e4bd399839f ffmpeg-yt-dlp: Update to version 7.0.2-19-20240928       versions     5 days ago
 * 4d0372a0e5df ffmpeg-shared-nightly: Update to version 117234          versions     5 days ago
 * ba3237246da5 ffmpeg-nightly: Update to version 1727531380             versions     5 days ago
 * 3e3797ba167e edgedriver-canary: Update to version 131.0.2863.0        versions     5 days ago
 * e575c9d1c1d9 chromium-dev: Update to version 131.0.6745.0-r1361512    versions     5 days ago
 * 35949d0727ef rstudio-daily: Update to version 2024.10.0-daily-246     versions     5 days ago
 * e96764f87857 neochat-nightly: Update to version 9701                  versions     5 days ago
 * 888f93e5d1bb kicad-nightly: Update to version 8.99.0.2465.g164ff0b870 versions     5 days ago
 * b047f0ea2fd4 kicad-lite-nightly: Update to version 8.99.0.2465.g164.. versions     5 days ago
 * 9574c1abd9b1 kate-nightly: Update to version 8049                     versions     5 days ago
 * 0854d8c1661c firefox-nightly: Update to version 132.0a1.20240928085.. versions     5 days ago
 * f9dc7f2beb2f chromium-dev: Update to version 131.0.6745.0-r1361497    versions     5 days ago
 * c7a024f2889b chromedriver-canary: Update to version 131.0.6744.0      versions     5 days ago
 * 1a31b722dae9 neovim-nightly: Update to version 0.11.0-851             versions     6 days ago
 * 574cf7d70bb0 ipfilter-nightly: Update to version 1727500018           versions     6 days ago
 * 4739cabaa99f googlechrome-canary: Update to version 131.0.6743.2      versions     6 days ago
 * 4750ad2b71b0 chromium-dev: Update to version 131.0.6745.0-r1361485    versions     6 days ago
 * 230e2f53390a beef-nightly: Update to version 0.43.5.09272024          versions     6 days ago
 * d364b12ac531 vlc-nightly-ucrt-llvm: Update to version 20240928        versions     6 days ago
 * c418abc72fbb oss-cad-suite-nightly: Update to version 2024-09-28      versions     6 days ago
 * e94f22ce3e28 musescore-nightly: Update to version 242720307           versions     6 days ago
 * 7ecfced5a80d gitbutler-nightly: Update to version 0.5.770             versions     6 days ago
 * 2f62224704f9 edgedriver-canary: Update to version 131.0.2862.0        versions     6 days ago
 * b97b7421a503 chromium-dev: Update to version 131.0.6744.0-r1361462    versions     6 days ago
 * 97d2428e8789 zed-nightly: Update to version 20240928                  versions     6 days ago
 * 1fb74e8efcde yt-dlp-nightly: Update to version 2024.09.27.232842      versions     6 days ago
 * 562654f09535 yt-dlp-master: Update to version 2024.09.27.224641       versions     6 days ago
 * 4c731f21a19a windows-terminal-preview: Update to version 1.22.2702.0  versions     6 days ago
 * 8d06f853d0c5 sqlitebrowser-nightly: Update to version 2024-09-28      versions     6 days ago
 * 65bc6edd522f micro-nightly: Update to version nightly-2024-09-28      versions     6 days ago
 * 76580860fc0f lapce-nightly: Update to version 1727484723              versions     6 days ago
 * 85514d73142f labplot-nightly: Update to version 7250                  versions     6 days ago
 * 5a0d2c09029f firefox-nightly: Update to version 132.0a1.20240927213.. versions     6 days ago
 * 3a76e7b334ea cmake-nightly: Update to version 3.30.20240927           versions     6 days ago
 * 3ace1e950aa4 chromium-dev: Update to version 131.0.6744.0-r1361393    versions     6 days ago
 * 733d399cf5a4 chromedriver-canary: Update to version 131.0.6743.2      versions     6 days ago
 * c9a5833f49be bottom-nightly: Update to version 11079444176            versions     6 days ago
 * b85a72f60681 yt-dlp-master: Update to version 2024.09.27.164510       versions     6 days ago
 * 13a095e7947e vscode-insiders: Update to version 1.94.0-1727448901163  versions     6 days ago
 * 0105bc51c2cf rclone-beta: Update to version 1.69.0-beta.8342.94997d.. versions     6 days ago
 * 4f7f97f64a3e odin-nightly: Update to version 2024-09-27               versions     6 days ago
 * 1c46dddae586 datagrip-eap: Update to version 2024.3-243.16718.27      versions     6 days ago
 * 0a9bd837e1ea chromium-dev: Update to version 131.0.6744.0-r1361313    versions     6 days ago
 * 2aa56e19bf32 chromedriver-canary: Update to version 131.0.6743.0      versions     6 days ago
 * caa5f741fd5a brave-nightly: Update to version 1.72.45                 versions     6 days ago
 * 0ecfc70c3ca0 rubymine-eap: Update to version 2024.3-243.16718.49      versions     6 days ago
 * 13c3caf7d5d1 rider-eap: Update to version 2024.3-EAP2-243.16718.44    versions     6 days ago
 * 34ae9696273e kdenlive-nightly: Update to version 8906                 versions     6 days ago
 * 7377b9be531c github-beta: Update to version 3.4.6-beta2               versions     6 days ago
 * 4aab9b9d86f5 firefox-nightly: Update to version 132.0a1.20240927094.. versions     6 days ago
 * 89995c74661c ffmpeg-yt-dlp: Update to version 7.0.2-19-20240927       versions     6 days ago
 * 0a83e9044087 ffmpeg-shared-nightly: Update to version 117208          versions     6 days ago
 * 62f5079cc927 ffmpeg-nightly: Update to version 1727445628             versions     6 days ago
 * b3e840dc33a6 chromium-dev: Update to version 131.0.6743.0-r1361093    versions     6 days ago
 * b88dd14b5b55 brave-nightly: Update to version 1.72.44                 versions     6 days ago
 * 9fa277cf0333 rclone-beta: Update to version 1.69.0-beta.8341.19458e.. versions     6 days ago
 * ac0a6354ddfd kicad-nightly: Update to version 8.99.0.2450.g953bc2d4bd versions     6 days ago
 * a61d560169e9 kicad-lite-nightly: Update to version 8.99.0.2450.g953.. versions     6 days ago
 * 16157c6ef08c kdenlive-nightly: Update to version 8903                 versions     6 days ago
 * c70667144121 kate-nightly: Update to version 8040                     versions     6 days ago
 * adea1665f5b7 chromium-dev: Update to version 131.0.6743.0-r1361018    versions     6 days ago
 * a5e389967a2e vscode-insiders: Update to version 1.94.0-1727411448072  versions     7 days ago
 * 887e7770a839 vlc-nightly-ucrt-llvm: Update to version 20240927        versions     7 days ago
 * b1d185c11fb2 rstudio-daily: Update to version 2024.10.0-daily-236     versions     7 days ago
 * 4d1297636119 openscad-dev: Update to version 2024.09.27               versions     7 days ago
 * 79229dfa6a7a neovim-nightly: Update to version 0.11.0-842             versions     7 days ago
 * f811990751f5 kodi-dev: Update to version 20240927                     versions     7 days ago
 * 7cb85a26595d kdenlive-nightly: Update to version 8901                 versions     7 days ago
 * 862995234e17 kate-nightly: Update to version 8022                     versions     7 days ago
 * 254b08364c50 ipfilter-nightly: Update to version 1727413645           versions     7 days ago
 * ee137fd9b94b handbrake-snapshot: Update to version 20240926-8f1ba0c22 versions     7 days ago
 * d627588ba90b handbrake-cli-snapshot: Update to version 202409261108.. versions     7 days ago
 * 2b463ac31c35 googlechrome-dev: Update to version 131.0.6738.0         versions     7 days ago
 * 9d71f201e160 googlechrome-canary: Update to version 131.0.6741.0      versions     7 days ago
 * 629541ecbf36 chromium-dev: Update to version 131.0.6743.0-r1360946    versions     7 days ago
 * 445974e9bb65 chromedriver-canary: Update to version 131.0.6742.0      versions     7 days ago
 * e5972f063e13 brave-beta: Update to version 1.71.98                    versions     7 days ago
 * 62efbdfc1fd6 beef-nightly: Update to version 0.43.5.09262024          versions     7 days ago
 * 06e4a6ca798f vscode-insiders: Update to version 1.94.0-1727383794606  versions     7 days ago
 * 3dc6fbd29d6c vlc-nightly: Update to version 20240927                  versions     7 days ago
 * 31c5cc705a5a oss-cad-suite-nightly: Update to version 2024-09-27      versions     7 days ago
 * 603d62f907a7 musescore-nightly: Update to version 242710307           versions     7 days ago
 * 68b3411771b4 gitbutler-nightly: Update to version 0.5.769             versions     7 days ago
 * 9bbcabf614c1 cmake-nightly: Update to version 3.30.20240926           versions     7 days ago
 * 5d38eeb1c691 chromium-dev: Update to version 131.0.6742.0-r1360907    versions     7 days ago
 * 3580519d25e9 brave-nightly: Update to version 1.72.43                 versions     7 days ago
 * 1f88cab95d83 zig-dev: Update to version 0.14.0-dev.1671               versions     7 days ago
 * c8cf5e99ebd6 zed-nightly: Update to version 20240927                  versions     7 days ago
 * 4880b08c7137 yt-dlp-nightly: Update to version 2024.09.26.232938      versions     7 days ago
 * 91420cae1a0b yt-dlp-master: Update to version 2024.09.26.232920       versions     7 days ago
 * db29c03b25e8 vim-nightly: Update to version 9.1.0744                  versions     7 days ago
 * 07aa5092a364 sqlitebrowser-nightly: Update to version 2024-09-27      versions     7 days ago
 * 56cfd0462b92 ruffle-nightly: Update to version 2024-09-27             versions     7 days ago
 * 8d8105304641 php81: Update to version 8.1.30                          versions     7 days ago
 * 8f95fde6ea9d micro-nightly: Update to version nightly-2024-09-27      versions     7 days ago
 * 299d55219a30 lapce-nightly: Update to version 1727398320              versions     7 days ago
 * 639a833ec6a6 firefox-nightly: Update to version 132.0a1.20240926212.. versions     7 days ago
 * 56bf4f82c38a chromium-dev: Update to version 131.0.6742.0-r1360759    versions     7 days ago
 * 63d4bd44a598 chromedriver-dev: Update to version 131.0.6738.0         versions     7 days ago
 * 36b88286d174 bottom-nightly: Update to version 11062318372            versions     7 days ago
 * ea5e5c36fa78 android-studio-canary: Update to version 2024.2.2.4      versions     7 days ago
Scoop was updated successfully!
Installing 'rustup-msvc' (1.27.1) [64bit] from 'main' bucket
rustup-init.exe (8.5 MB) [==================================================================================================================] 100%
Checking hash of rustup-init.exe ... ok.
Running installer script...warning: installing msvc toolchain without its prerequisites
info: profile set to 'default'
info: default host triple is x86_64-pc-windows-msvc
info: syncing channel updates for 'stable-x86_64-pc-windows-msvc'
info: latest update on 2024-09-05, rust version 1.81.0 (eeb90cda1 2024-09-04)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
 16.0 MiB /  16.0 MiB (100 %)   7.6 MiB/s in  2s ETA:  0s
info: downloading component 'rust-std'
 20.5 MiB /  20.5 MiB (100 %)   6.6 MiB/s in  3s ETA:  0s
info: downloading component 'rustc'
 58.9 MiB /  58.9 MiB (100 %)   4.0 MiB/s in 12s ETA:  0s
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
 16.0 MiB /  16.0 MiB (100 %)   1.6 MiB/s in  7s ETA:  0s
info: installing component 'rust-std'
 20.5 MiB /  20.5 MiB (100 %)  11.8 MiB/s in  1s ETA:  0s
info: installing component 'rustc'
 58.9 MiB /  58.9 MiB (100 %)  13.1 MiB/s in  4s ETA:  0s
info: installing component 'rustfmt'
info: default toolchain set to 'stable-x86_64-pc-windows-msvc'

  stable-x86_64-pc-windows-msvc installed - rustc 1.81.0 (eeb90cda1 2024-09-04)


Rust is installed now. Great!

To get started you need Cargo's bin directory (C:\Users\isaac\scoop\persist
\rustup-msvc\.cargo\bin) in your PATH
environment variable. This has not been done automatically.
done.
Linking ~\scoop\apps\rustup-msvc\current => ~\scoop\apps\rustup-msvc\1.27.1
Adding ~\scoop\apps\rustup-msvc\current\.cargo\bin to your path.
Persisting .cargo
Persisting .rustup
'rustup-msvc' (1.27.1) was installed successfully!
Notes
-----
This package defaults to using the MSVC toolchain in new installs; use "rustup set default-host" to configure it
(now equivalent to the rustup package)
According to https://doc.rust-lang.org/book/ch01-01-installation.html#installing-rustup-on-windows
Microsoft C++ Build Tools is needed and can be downloaded here: https://visualstudio.microsoft.com/visual-cpp-build-tools/
When installing build tools, these two components should be selected:
- MSVC - VS C++ x64/x86 build tools
- Windows SDK
Installing 'ripgrep-git-ssh' (79cbe89deb1151e703f4d91b19af9cdcc128b765) [64bit] from 'ingenarel_ingenarel-scoop-bucket' bucket
decoy (118 B) [=============================================================================================================================] 100%
Checking hash of decoy ... ok.
Running pre_install script...
trying to uninstall conflicts
ERROR 'ripgrep' isn't installed.
ERROR 'ripgrep-git' isn't installed.
Cloning into 'ripgrep'...
The authenticity of host 'github.com (140.82.112.4)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
building ripgrep...

cd : Cannot find path 'C:\Users\isaac\scoop\apps\ripgrep-git-ssh\79cbe89deb1151e703f4d91b19af9cdcc128b765\ripgrep' because it does not exist.
At line:6 char:1
+ cd ripgrep
+ ~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Users\isaac\...128b765\ripgrep:String) [Set-Location], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetLocationCommand

error: could not find `Cargo.toml` in `C:\Users\isaac\scoop\apps\ripgrep-git-ssh\79cbe89deb1151e703f4d91b19af9cdcc128b765` or any parent directory
done.
Linking ~\scoop\apps\ripgrep-git-ssh\current => ~\scoop\apps\ripgrep-git-ssh\79cbe89deb1151e703f4d91b19af9cdcc128b765
Creating shim for 'rg'.
Get-Command : The term 'target/release/rg.exe' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\Users\isaac\scoop\apps\scoop\current\lib\install.ps1:757 char:21
+             $bin = (Get-Command $target).Source
+                     ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (target/release/rg.exe:String) [Get-Command], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException,Microsoft.PowerShell.Commands.GetCommandCommand

Can't shim 'target/release/rg.exe': File doesn't exist.
PS C:\Users\isaac\scoop\apps\ripgrep-git-ssh\79cbe89deb1151e703f4d91b19af9cdcc128b765>

I tried the Scoop install insteadd of Winget, which worked

PS C:\Users\isaac> scoop install ripgrep
Installing 'ripgrep' (14.1.1) [64bit] from 'main' bucket
ripgrep-14.1.1-x86_64-pc-windows-msvc.zip (2.0 MB) [========================================================================================] 100%
Checking hash of ripgrep-14.1.1-x86_64-pc-windows-msvc.zip ... ok.
Extracting ripgrep-14.1.1-x86_64-pc-windows-msvc.zip ... done.
Linking ~\scoop\apps\ripgrep\current => ~\scoop\apps\ripgrep\14.1.1
Creating shim for 'rg'.
'ripgrep' (14.1.1) was installed successfully!
'ripgrep' suggests installing 'extras/vcredist2022'.

Now let’s use it to search

PS C:\Users\isaac\Workspaces> rg -n -w 'gator' .\jekyll-blog\
.\jekyll-blog\_posts\cloudrun-to-knative.markdown
21:cargo-zigbuild               gator                        ksh93                        onlykey-agent                rush-parallel                wasm-micro-runtime

.\jekyll-blog\_posts\2024-07-16-miscapps.markdown
367:builder@builder-T100:~/filegator$ docker ps | grep gator

One nice thing is that I can search for a pattern. I know I ran an AWS command that had a Route53 JSON. Here are just the top results

$ aws route53 change-resource-record-sets --hosted-zone-id Z39E8QFU0F9PZP --change-batch file://r53-zulip.json

.\jekyll-blog\_posts\2021-06-24-feedback-forms-to-azdo-work-items-part-2.markdown
67:    $ aws ses send-email --from isaac@freshbrewed.science --destination file://destination.json --message file://message.json
77:    $ aws ses send-email --from isaac@freshbrewed.science --destination file://destination.json --message file://message.json

.\jekyll-blog\_posts\2024-08-06-miscapps2.markdown
1665:$ aws route53 change-resource-record-sets --hosted-zone-id Z39E8QFU0F9PZP --change-batch file://r53-cachet.json

.\jekyll-blog\_posts\2022-02-08-argoci-01.markdown
298:$ aws route53 change-resource-record-sets --hosted-zone-id `aws route53 list-hosted-zones-by-name | jq -r '.HostedZones[] | select(.Name == "freshbrewed.science.") | .Id' | cut -d'/' -f 3 | tr -d '\n'` --change-batch file://r53-argoci.json

We can see docs on the Regexp syntax

Here I could search for the aws commands for any kind of markdown file that had 2024 in the name

PS C:\Users\isaac\Workspaces> rg -N -w --pretty 'aws.*json' -g *2024* --type markdown -g 2024 .\jekyll-blog\
.\jekyll-blog\_posts\2024-08-20-miscapps.markdown
451:builder@DESKTOP-QADGF36:~/Workspaces/docker-zulip$ aws route53 change-resource-record-sets --hosted-zone-id Z39E8QFU0F9PZP --change-batch file://r53-zulip.json

.\jekyll-blog\_posts\2024-04-11-smallapps.markdown
562:$ aws route53 change-resource-record-sets --hosted-zone-id Z39E8QFU0F9PZP --change-batch file://r53-movary.json

.\jekyll-blog\_posts\2024-02-08-miscapps.markdown
116:$ aws route53 change-resource-record-sets --hosted-zone-id Z39E8QFU0F9PZP --change-batch file://r53-codex.json
1401:$ aws route53 change-resource-record-sets --hosted-zone-id Z39E8QFU0F9PZP --change-batch file://r53-opendocman.json
... snip ...

Linux install

I can install using brew

builder@LuiGi:~/Workspaces/jekyll-blog$ brew install ripgrep
==> Auto-updating Homebrew...
Adjust how often this is run with HOMEBREW_AUTO_UPDATE_SECS or disable with
HOMEBREW_NO_AUTO_UPDATE. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
==> Downloading https://ghcr.io/v2/homebrew/portable-ruby/portable-ruby/blobs/sha256:bd08b92d6725f9216fc3c2458ffd174d5468d43d47dd0fcaeb5109e3008fd40b
############################################################################################################################################### 100.0%
==> Pouring portable-ruby-3.3.5.x86_64_linux.bottle.tar.gz
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core and homebrew/cask).
==> New Formulae
afl++                coordgen             flang                lld                  polkit               repopack             setconf
aicommit             crossplane           inchi                maeparser            postgresql@17        roxctl               sysprof
binsider             facad                keep-sorted          mbpoll               probe-rs-tools       rsgain               wthrr

You have 33 outdated formulae installed.

==> Downloading https://ghcr.io/v2/homebrew/core/ripgrep/manifests/14.1.1
############################################################################################################################################### 100.0%
==> Fetching ripgrep
==> Downloading https://ghcr.io/v2/homebrew/core/ripgrep/blobs/sha256:97d7cbd33b4d0ed09551e3dbc07f830d3df018c2aefbb2222a12ccfb829aae30
############################################################################################################################################### 100.0%
==> Pouring ripgrep--14.1.1.x86_64_linux.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /home/linuxbrew/.linuxbrew/etc/bash_completion.d
==> Summary
🍺  /home/linuxbrew/.linuxbrew/Cellar/ripgrep/14.1.1: 14 files, 25MB
==> Running `brew cleanup ripgrep`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

I will do the same command in Linux

builder@LuiGi:~/Workspaces/jekyll-blog$ rg -N -w --pretty 'aws.*json' -g *2024* --type markdown -g 2024 ./ | tail -n 20

./_posts/2024-03-05-zentao.markdown
94:$ aws route53 change-resource-record-sets --hosted-zone-id Z39E8QFU0F9PZP --change-batch file://r53-zentao.json

./_posts/2024-05-21-bitwarden.markdown
373:$ aws route53 change-resource-record-sets --hosted-zone-id Z39E8QFU0F9PZP --change-batch file://r53-bitwarden.json

./_posts/2024-01-16-revisits.markdown
231:$ aws route53 change-resource-record-sets --hosted-zone-id Z39E8QFU0F9PZP --change-batch file://r53-gitness.json

./_posts/2024-03-26-ostools.markdown
430:  $ aws route53 change-resource-record-sets --hosted-zone-id Z39E8QFU0F9PZP --change-batch file://r53-pomodoreapp.json

./_posts/2024-02-08-miscapps.markdown
116:$ aws route53 change-resource-record-sets --hosted-zone-id Z39E8QFU0F9PZP --change-batch file://r53-codex.json
1401:$ aws route53 change-resource-record-sets --hosted-zone-id Z39E8QFU0F9PZP --change-batch file://r53-opendocman.json

./_posts/2024-02-01-miscapps.markdown
258:$ aws route53 change-resource-record-sets --hosted-zone-id Z39E8QFU0F9PZP --change-batch file://r53-noisedash.json
2248:$ aws route53 change-resource-record-sets --hosted-zone-id Z39E8QFU0F9PZP --change-batch file://r53-recipesage.json

Pushbullet

Let’s start by going to Sign In on the website

/content/images/2024/10/pushbullet-01.png

We can use Meta or Google for an IdP

/content/images/2024/10/pushbullet-02.png

I now, assumably, have an account and we can move on to installing on a phone

/content/images/2024/10/pushbullet-03.png

I see Google is the one IdP for Android so good thing I used that in the first steps

/content/images/2024/10/pushbullet-04.png

Then enable Push Notifications (the whole reason we are adding this)

/content/images/2024/10/pushbullet-05.png

And we are now logged in

/content/images/2024/10/pushbullet-05.png

Note: My phone notifications are crazy. It’s a war to reduce them and generally i just have given up. However, by default, this will push those Phone notifications to the PC when we add the windows app next and that ended up just being too much.. so if you DONT want your phone notifications replicated, you can disable that

/content/images/2024/10/pushbullet-13.png

I also added the fat client for Windows

/content/images/2024/10/pushbullet-07.png

And Chrome

/content/images/2024/10/pushbullet-08.png

/content/images/2024/10/pushbullet-09.png

I’ll now go to Account Settings to create an API key

/content/images/2024/10/pushbullet-10.png

For example, a key could look like: o.AsdfAsdfAsdfAsdfAsdfAsdfAsdfAsdfAsdfAsdfAsdfAsdfAsdfAsdfAsdf

Let’s test the key;

$ curl --header 'Access-Token: o.AsdfAsdfAsdfAsdfAsdfAsdfAsdfAsdfAsdfAsdfAsdfAsdfAsdfAsdfAsdf' https://api.pushbullet.com/v2/users/me
{"active":true,"iden":"ujzhQmGIsYS","created":1728048455.460717,"modified":1728048455.460717,"email":"isaac.johnson@gmail.com","email_normalized":"isaacjohnson@gmail.com","name":"Isaac Johnson","image_url":"https://static.pushbullet.com/google-user/28423b7868a3d4313452794f50bbf530427d47c762ac7f01d316f8a5fdca9f24","max_upload_size":26214400}

I can then use the API key to push out notifications to the phone

/content/images/2024/10/pushbullet-11.png

and computer

/content/images/2024/10/pushbullet-12.png

I was mostly intrested in setting up PushBullet for the following Open-Source tool

Alerthub

AlertHub is a basic NodeJS tool to get alerts when things update, like Releases, on Github or Gitlab repositories.

To test locally, we can clone it down

builder@LuiGi:~/Workspaces$ git clone https://github.com/Ardakilic/alerthub.git
Cloning into 'alerthub'...
remote: Enumerating objects: 474, done.
remote: Counting objects: 100% (110/110), done.
remote: Compressing objects: 100% (38/38), done.
remote: Total 474 (delta 84), reused 79 (delta 68), pack-reused 364 (from 1)
Receiving objects: 100% (474/474), 359.98 KiB | 2.48 MiB/s, done.
Resolving deltas: 100% (255/255), done.
builder@LuiGi:~/Workspaces$ cd alerthub/
builder@LuiGi:~/Workspaces/alerthub$ ls
CHANGELOG.md  Dockerfile  LICENSE  README.md  UPGRADING.md  etc  package-lock.json  package.json  renovate.json  src

I’l use Node18 to test. First I set my NodeJS version then install dependencies

builder@LuiGi:~/Workspaces/alerthub$ nvm use 18.20.2
Now using node v18.20.2 (npm v10.5.0)
builder@LuiGi:~/Workspaces/alerthub$ npm install
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142

added 266 packages, and audited 267 packages in 4s

64 packages are looking for funding
  run `npm fund` for details

6 vulnerabilities (5 moderate, 1 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.
npm notice
npm notice New minor version of npm available! 10.5.0 -> 10.9.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.9.0
npm notice Run npm install -g npm@10.9.0 to update!
npm notice

The init step will create a config file for us to update

builder@LuiGi:~/Workspaces/alerthub$ npm run init

> alerthub@2.2.2 init
> cp ./etc/config.example.js ./etc/config.js

I’ll then update the settings for SendGrid as well as the Pushbullet API key

/content/images/2024/10/alerthub-01.png

Starting it up found a few of the canned feeds had been moved or are now hidden

builder@LuiGi:~/Workspaces/alerthub$ npm start

> alerthub@2.2.2 start
> node ./src/index.mjs

Application booted at Sat, 05 Oct 2024 20:49:58 GMT
AlertHub RSS Feed server running at port 3444
fetch_url_error: This URL returned a 404 status code
    at Request.<anonymous> (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/src/Feed.js:188:28)
    at Request.emit (node:events:517:28)
    at Request.onRequestResponse (/home/builder/Workspaces/alerthub/node_modules/request/request.js:1059:10)
    at ClientRequest.emit (node:events:517:28)
    at HTTPParser.parserOnIncomingClient [as onIncoming] (node:_http_client:700:27)
    at HTTPParser.parserOnHeadersComplete (node:_http_common:119:17)
    at TLSSocket.socketOnData (node:_http_client:541:22)
    at TLSSocket.emit (node:events:517:28)
    at addChunk (node:internal/streams/readable:368:12)
    at readableAddChunk (node:internal/streams/readable:341:9) {
  feed: 'https://www.github.com/acikkaynak/acikkaynak/commits/master.atom'
}
invalid_feed: Cannot parse https://www.github.com/acikkaynak/acikkaynak/commits/master.atom XML
    at FeedParser.<anonymous> (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/src/Feed.js:162:26)
    at FeedParser.emit (node:events:529:35)
    at FeedParser.handleError (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/node_modules/feedparser/main.js:144:8)
    at FeedParser.handleEnd (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/node_modules/feedparser/main.js:124:17)
    at SAXStream.emit (node:events:517:28)
    at SAXStream._parser.onend (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/node_modules/sax/lib/sax.js:184:8)
    at emit (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/node_modules/sax/lib/sax.js:615:33)
    at end (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/node_modules/sax/lib/sax.js:654:3)
    at SAXParser.end (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/node_modules/sax/lib/sax.js:149:24)
    at SAXStream.end (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/node_modules/sax/lib/sax.js:234:16) {
  feed: 'https://www.github.com/acikkaynak/acikkaynak/commits/master.atom'
}
fetch_url_error: This URL returned a 404 status code
    at Request.<anonymous> (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/src/Feed.js:188:28)
    at Request.emit (node:events:517:28)
    at Request.onRequestResponse (/home/builder/Workspaces/alerthub/node_modules/request/request.js:1059:10)
    at ClientRequest.emit (node:events:517:28)
    at HTTPParser.parserOnIncomingClient [as onIncoming] (node:_http_client:700:27)
    at HTTPParser.parserOnHeadersComplete (node:_http_common:119:17)
    at TLSSocket.socketOnData (node:_http_client:541:22)
    at TLSSocket.emit (node:events:517:28)
    at addChunk (node:internal/streams/readable:368:12)
    at readableAddChunk (node:internal/streams/readable:341:9) {
  feed: 'https://www.github.com/acikkaynak/acikkaynak-website/commits/development.atom'
}
invalid_feed: Cannot parse https://www.github.com/acikkaynak/acikkaynak-website/commits/development.atom XML
    at FeedParser.<anonymous> (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/src/Feed.js:162:26)
    at FeedParser.emit (node:events:529:35)
    at FeedParser.handleError (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/node_modules/feedparser/main.js:144:8)
    at FeedParser.handleEnd (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/node_modules/feedparser/main.js:124:17)
    at SAXStream.emit (node:events:517:28)
    at SAXStream._parser.onend (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/node_modules/sax/lib/sax.js:184:8)
    at emit (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/node_modules/sax/lib/sax.js:615:33)
    at end (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/node_modules/sax/lib/sax.js:654:3)
    at SAXParser.end (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/node_modules/sax/lib/sax.js:149:24)
    at SAXStream.end (/home/builder/Workspaces/alerthub/node_modules/rss-feed-emitter/node_modules/sax/lib/sax.js:234:16) {
  feed: 'https://www.github.com/acikkaynak/acikkaynak-website/commits/development.atom'
}

A quick check in an incognito window showed that to be the case

/content/images/2024/10/alerthub-02.png

I intentionally subscribed to one of my own Repositories so I could test a release. Here I’ll create a release on the public Ansible Playbooks repository

/content/images/2024/10/alerthub-03.png

I’ll give some details and click Publish

/content/images/2024/10/alerthub-04.png

I now have a tag

/content/images/2024/10/alerthub-05.png

And indeed, I saw a notification pop up on the laptop

/content/images/2024/10/alerthub-06.png

As well as phone

/content/images/2024/10/alerthub-07.png

But not email. I tried some knowing working variations with GMail SMPTP as well. Pushbullet worked, but not so much with email.

Containerized

I’ll start by compiling the Dockerfile locally

builder@LuiGi:~/Workspaces/alerthub$ docker build -t alerthub:0.1 .
[+] Building 70.8s (13/13) FINISHED                                                                                                                      docker:default
 => [internal] load build definition from Dockerfile                                                                                                               0.1s
 => => transferring dockerfile: 423B                                                                                                                               0.0s
 => [internal] load metadata for docker.io/library/node:18-alpine                                                                                                  2.5s
 => [internal] load .dockerignore                                                                                                                                  0.1s
 => => transferring context: 210B                                                                                                                                  0.0s
 => [internal] load build context                                                                                                                                  0.1s
 => => transferring context: 21.30kB                                                                                                                               0.0s
 => [builder 1/4] FROM docker.io/library/node:18-alpine@sha256:02376a266c84acbf45bd19440e08e48b1c8b98037417334046029ab585de03e2                                   47.0s
 => => resolve docker.io/library/node:18-alpine@sha256:02376a266c84acbf45bd19440e08e48b1c8b98037417334046029ab585de03e2                                            0.1s
 => => sha256:02376a266c84acbf45bd19440e08e48b1c8b98037417334046029ab585de03e2 7.67kB / 7.67kB                                                                     0.0s
 => => sha256:ea8e360a721d870337fe899c70ea7def62f2a72cf1b6f7beb8a3ccaac8b6049c 1.72kB / 1.72kB                                                                     0.0s
 => => sha256:f48cc58268524517dc484f884b142fad1411e8b9ed35341342d877d5ae9396e2 6.36kB / 6.36kB                                                                     0.0s
 => => sha256:43c4264eed91be63b206e17d93e75256a6097070ce643c5e8f0379998b44f170 3.62MB / 3.62MB                                                                    16.9s
 => => sha256:3696426c5aa28a9e9d46b6194f46c030c7dce77770db1f30e95e2317a1f97c0a 39.84MB / 39.84MB                                                                  45.2s
 => => sha256:cdccf44a82db2a9559b2c200f8cdbdb0df43925679f8ddc7c7e925d469b56d1d 1.38MB / 1.38MB                                                                     9.6s
 => => sha256:21f39b9ddd19acb73b7cbee0e5755029042719f744f2ce91a26f7e9425a79d6c 447B / 447B                                                                        12.8s
 => => extracting sha256:43c4264eed91be63b206e17d93e75256a6097070ce643c5e8f0379998b44f170                                                                          0.1s
 => => extracting sha256:3696426c5aa28a9e9d46b6194f46c030c7dce77770db1f30e95e2317a1f97c0a                                                                          1.2s
 => => extracting sha256:cdccf44a82db2a9559b2c200f8cdbdb0df43925679f8ddc7c7e925d469b56d1d                                                                          0.0s
 => => extracting sha256:21f39b9ddd19acb73b7cbee0e5755029042719f744f2ce91a26f7e9425a79d6c                                                                          0.0s
 => [builder 2/4] WORKDIR /usr/src/app                                                                                                                             0.2s
 => [builder 3/4] COPY package.json .                                                                                                                              0.1s
 => [builder 4/4] RUN yarn install --prod                                                                                                                         19.7s
 => [stage-1 3/6] COPY --from=builder /usr/src/app/ /usr/src/app/                                                                                                  0.3s
 => [stage-1 4/6] COPY ./src ./src                                                                                                                                 0.1s
 => [stage-1 5/6] COPY ./package.json ./package.json                                                                                                               0.1s
 => [stage-1 6/6] COPY ./etc ./etc                                                                                                                                 0.1s
 => exporting to image                                                                                                                                             0.4s
 => => exporting layers                                                                                                                                            0.3s
 => => writing image sha256:266947333989452d1a3fc69026a4f48176fbe63e6b93307f04be1c653468e84c                                                                       0.0s
 => => naming to docker.io/library/alerthub:0.1                                                                                                                    0.0s

What's Next?
  1. Sign in to your Docker account → docker login
  2. View a summary of image vulnerabilities and recommendations → docker scout quickview

I can now run locally

builder@LuiGi:~/Workspaces/alerthub$ docker run --name alerthub -v /home/builder/Workspaces/alerthub/etc/config.js:/usr/src/app/etc/config.js -p 3444:3444 alerthub:0.1
Application booted at Sat, 05 Oct 2024 21:49:40 GMT
AlertHub RSS Feed server running at port 3444
fetch_url_error: This URL returned a 404 status code
    at Request.<anonymous> (/usr/src/app/node_modules/rss-feed-emitter/src/Feed.js:188:28)
    at Request.emit (node:events:517:28)
    at Request.onRequestResponse (/usr/src/app/node_modules/request/request.js:1059:10)
    at ClientRequest.emit (node:events:517:28)
    at HTTPParser.parserOnIncomingClient [as onIncoming] (node:_http_client:700:27)
    at HTTPParser.parserOnHeadersComplete (node:_http_common:119:17)
    at TLSSocket.socketOnData (node:_http_client:541:22)
    at TLSSocket.emit (node:events:517:28)
    at addChunk (node:internal/streams/readable:368:12)
    at readableAddChunk (node:internal/streams/readable:341:9) {
  feed: 'https://www.github.com/acikkaynak/acikkaynak/commits/master.atom'
}
invalid_feed: Cannot parse https://www.github.com/acikkaynak/acikkaynak/commits/master.atom XML
    at FeedParser.<anonymous> (/usr/src/app/node_modules/rss-feed-emitter/src/Feed.js:162:26)
    at FeedParser.emit (node:events:529:35)
    at FeedParser.handleError (/usr/src/app/node_modules/feedparser/main.js:144:8)
    at FeedParser.handleEnd (/usr/src/app/node_modules/feedparser/main.js:124:17)
    at SAXStream.emit (node:events:517:28)
    at SAXStream._parser.onend (/usr/src/app/node_modules/feedparser/node_modules/sax/lib/sax.js:184:8)
    at emit (/usr/src/app/node_modules/feedparser/node_modules/sax/lib/sax.js:615:33)
    at end (/usr/src/app/node_modules/feedparser/node_modules/sax/lib/sax.js:654:3)
    at SAXParser.end (/usr/src/app/node_modules/feedparser/node_modules/sax/lib/sax.js:149:24)
    at SAXStream.end (/usr/src/app/node_modules/feedparser/node_modules/sax/lib/sax.js:234:16) {
  feed: 'https://www.github.com/acikkaynak/acikkaynak/commits/master.atom'
}
fetch_url_error: This URL returned a 404 status code
    at Request.<anonymous> (/usr/src/app/node_modules/rss-feed-emitter/src/Feed.js:188:28)
    at Request.emit (node:events:517:28)
    at Request.onRequestResponse (/usr/src/app/node_modules/request/request.js:1059:10)
    at ClientRequest.emit (node:events:517:28)
    at HTTPParser.parserOnIncomingClient [as onIncoming] (node:_http_client:700:27)
    at HTTPParser.parserOnHeadersComplete (node:_http_common:119:17)
    at TLSSocket.socketOnData (node:_http_client:541:22)
    at TLSSocket.emit (node:events:517:28)
    at addChunk (node:internal/streams/readable:368:12)
    at readableAddChunk (node:internal/streams/readable:341:9) {
  feed: 'https://www.github.com/acikkaynak/acikkaynak-website/commits/development.atom'
}

The RSS feed didn’t work either, showing the error

{"name":"rss-braider","hostname":"4eb5656c3bca","pid":1,"level":50,"msg":"Bad status code: 404","time":"2024-10-05T21:53:15.991Z","v":0}
{"name":"rss-braider","hostname":"4eb5656c3bca","pid":1,"level":50,"msg":"Bad status code: 404","time":"2024-10-05T21:53:16.175Z","v":0}
{"name":"rss-braider","hostname":"4eb5656c3bca","pid":1,"level":50,"msg":"Bad status code: 404","time":"2024-10-05T21:53:34.959Z","v":0}
{"name":"rss-braider","hostname":"4eb5656c3bca","pid":1,"level":50,"msg":"Bad status code: 404","time":"2024-10-05T21:53:34.983Z","v":0}

No luck on the container, however I am in a low network area as I write, so I might need to push this back to my house to run on the local network there

/content/images/2024/10/alerthub-08.png

My network was bad enough that I popped back through my Code server through to my Docker host to build it locally

/content/images/2024/10/alerthub-09.png

Let’s now create a Kubernetes manifest and apply it

$ cat manifest.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: alerthub-config
data:
  config.js: |
    module.exports = {
      interval: 60000, // Feed check interval, in miliseconds
      userAgent: 'Mozilla/5.0 (Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0', // Experimental: User agent string to bypass possible fetching limits on GitHub
      /**
       * Provide your GitHub token below to bypass the rate limit
       * and to get notified from private repositories
       */
      githubToken: null,
      notifications: {
        pushbullet: {
          enabled: true,
          accessToken: 'o.xxxxxxxxxxxxxx',
        },
        pushover: {
          enabled: false,
          config: {
            user: 'PUSHOVER_USER',
            token: 'PUSHOVER_TOKEN',
          },
        },
        email: {
          enabled: true,
          config: { // Nodemailer configuration
            host: 'smtp.gmail.com',
            port: 587,
            secure: true,
            auth: {
              user: 'isaac.johnson@gmail.com',
              pass: 'xxxxxxxxxxxx',
            },
          },
          mailOptions: {
            from: 'isaac.johnson@gmail.com', // from field, can be pure e-mail or "Name" <e-mail> format
            to: 'isaac.johnson@gmail.com', // Your e-mail, can add more e-mails by commas
            subjectPrefix: 'New GitHub Release', // Subject prefix
          },
        },
      },
      rss: {
        enabled: true,
        port: 3444,
        title: 'AlertHub RSS', // Feed Title
        description: 'My Awesome GitHub Release Aggregator', // Feed Description
        includeFromEachRepository: 10, // How many releases/items will be fetched from each repository
        count: 50, // How many elements will be there in the feed
        siteUrl: 'https://github.com/Ardakilic/alerthub', // Site url shown on the feed
        feedUrl: null, // Fills: <atom:link href="feedurl" rel="self" type="application/rss+xml"/>
        logLevel: 'info', // debug, info, warn, err, off
      },
      repositories: {
        github: {
          releases: [
            'Ardakilic/alerthub', // can be resolved as https://github.com/Ardakilic/alerthub
            'expressjs/express',
            'Unitech/pm2',
            'facebook/react',
            'idjohnson/ansible-playbooks',
            'idjohnson/mvcpatients',
          ],
          tags: [

          ],
          commits: {
            'laravel/laravel': ['*'], // All commits of https://github.com/Laravel/laravel regardless of the branch
          },
          issues: {
            'denoland/deno': { // The below will be converted to GitHub API querystring parameters, feel free to edit accordingly
              state: 'all', // all, open, closed
              labels: '', // leave blank for all labels, or add comma for multiple labels
            },
          },
        },
        gitlab: {
          // releases: [], // Gitlab doesn't support this yet. Use tags instead for the time being
          tags: [
            'gitlab-org/gitlab-foss', // Can be resolved as https://gitlab.com/gitlab-org/gitlab-foss/
          ],
          commits: {
            'gitlab-org/gitlab-foss': ['master'], // resolves as https://gitlab.com/gitlab-org/gitlab-foss/-/commits/master . You can follow multiple branches this way.
          },
        },
      },
      extras: [
        // direct rss links from other sources if you want to watch with this tool
      ],
    };
---
apiVersion: v1
kind: Service
metadata:
  name: alerthub-service
spec:
  selector:
    app: alerthub
  ports:
    - protocol: TCP
      port: 80
      targetPort: 3444

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: alerthub-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: alerthub
  template:
    metadata:
      labels:
        app: alerthub
    spec:
      containers:
        - name: alerthub
          image: idjohnson/alerthub:0.1
          ports:
            - containerPort: 3444
          volumeMounts:
            - name: config-volume
              mountPath: /usr/src/app/etc/config.js
              subPath: config.js
      volumes:
        - name: config-volume
          configMap:
            name: alerthub-config


$ kubectl apply -f ./manifest.yaml
configmap/alerthub-config created
service/alerthub-service created
deployment.apps/alerthub-deployment created

Let me create an A Record

$ gcloud dns --project=myanthosproject2 record-sets create alerthub.steeped.space --zone="steepedspace" --type="A" --ttl="300" --rrdatas="75.73.224.240"
NAME                     TYPE  TTL  DATA
alerthub.steeped.space.  A     300  75.73.224.240

Applied

$ cat ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    cert-manager.io/cluster-issuer: gcpleprod2
    ingress.kubernetes.io/proxy-body-size: "0"
    ingress.kubernetes.io/ssl-redirect: "true"
    kubernetes.io/ingress.class: nginx
    kubernetes.io/tls-acme: "true"
    nginx.ingress.kubernetes.io/proxy-body-size: "0"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    nginx.org/client-max-body-size: "0"
    nginx.org/proxy-connect-timeout: "3600"
    nginx.org/proxy-read-timeout: "3600"
    nginx.org/websocket-services: alerthub-service
  name: alerthubgcpingress
spec:
  rules:
  - host: alerthub.steeped.space
    http:
      paths:
      - backend:
          service:
            name: alerthub-service
            port:
              number: 80
        path: /
        pathType: ImplementationSpecific
  tls:
  - hosts:
    - alerthub.steeped.space
    secretName: alerthubgcp-tls

$ kubectl apply -f ./ingress.yaml
ingress.networking.k8s.io/alerthubgcpingress created

Once the cert was ready

$ kubectl get cert alerthubgcp-tls
NAME              READY   SECRET            AGE
alerthubgcp-tls   True    alerthubgcp-tls   93s

Once I exposed the service, I could see RSS feeds worked fine (https://alerthub.steeped.space/) so it had to just be my poor local network

/content/images/2024/10/alerthub-10.png

Summary

Today we explored RipGrep, a pretty nice tool for searching filesystems with regular expressions. I just scratched the surface with it but it has a lot of power and was easy to install in both Windows and Linux.

We then setup an account on PushBullet and used it to push notifications on Windows and Android. While there is more to do with PushBullet, I moved on to using it with an Open-Source AlertHub.

AlertHub is a nice small NodeJS based Open-Source tool for alerting on Github or Gitlab changes. While I managed to get it to work with RSS feeds as well as PushBullet, it seemed to not jive with SendGrid nor Gmail, as best as I could tell.

We wrapped by building the AlertHub container, running in Docker, then build and deploying functional Kubernetes manifests.

Kubernetes Docker Opensource RipGrep PushBullet AlertHub

Have something to add? Feedback? You can use the feedback form

Isaac Johnson

Isaac Johnson

Cloud Solutions Architect

Isaac is a CSA and DevOps engineer who focuses on cloud migrations and devops processes. He also is a dad to three wonderful daughters (hence the references to Princess King sprinkled throughout the blog).

Theme built by C.S. Rhymes