Files
rfd-notify/README.md
2023-02-20 08:05:20 -05:00

3.4 KiB

rfd-notify

Publish Container Dependabot

This tool looks for regular expressions from RedFlagDeals.com forums and will send emails based on matches.

This was written before alerts existed. However, these alerts never expire and support regular expressions.

Prerequisites

Usage

USAGE:
    rfd-notify [OPTIONS] --config <config>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -c, --config <config>    Specify path to config
    -d, --dbpath <dbpath>    Specify path to where the embedded database is stored [default: ./deals_db]

Environment Variables

The following environment variables are required:

VARIABLE DESCRIPTION
SENDGRID_API_KEY Key can be created at https://app.sendgrid.com/settings/api_keys
SENDGRID_MAIL_FROM The email address that the email is sent from
SENDGRID_MAIL_TO The email address to notify

Example Configuration

The following configuration can be passed to rfd-notify:

# config.yml
expressions:
 - pizza
 - starbucks
 - price error

Github Action

An action can be setup to scan for deals, send a notification and store previously found deals in the repo.

It also requires the corresponding encrypted secrets setup.

# .github/workflows/rfd-notify.yml

on:
 schedule:
  - cron: '*5 * * * *'
jobs:
  rfd_notify:
    runs-on: ubuntu-latest
    name: rfd-notify
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          fetch-depth: 0 # speed boost

      - name: Run rfd-notify
        uses: davegallant/rfd-notify@main
        env:
          SENDGRID_API_KEY: ${{ secrets.SENDGRID_API_KEY }}
          SENDGRID_MAIL_FROM: notify@rfd-notify.org
          SENDGRID_MAIL_TO: ${{ secrets.SENDGRID_MAIL_TO }}

      - name: Commit files
        run: |
          git config --local user.email "action@github.com"
          git config --local user.name "RFD Notify"
          git add deals_db/
          git commit -m "Add changes" -a || true

      - name: Push changes
        uses: ad-m/github-push-action@master
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          branch: ${{ github.ref }}

Drone CI

The following works on Drone CI:

# .drone.yml
---
kind: pipeline
type: docker
name: default

steps:

- name: run rfd-notify
  image: ghcr.io/davegallant/rfd-notify
  environment:
   SENDGRID_API_KEY:
    from_secret: sendgrid_api_key
   SENDGRID_MAIL_FROM: notify@rfd-notify.org
   SENDGRID_MAIL_TO: example@example.com

- name: commit db changes
  image: appleboy/drone-git-push:0.2.1
  settings:
    branch: main
    remote_name: origin
    force: false
    commit: true