dependabot[bot] 08db30b6e3 Bump serde_json from 1.0.92 to 1.0.93 (#262)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.92 to 1.0.93.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.92...v1.0.93)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-13 18:11:35 -05:00
2023-02-06 21:07:17 -05:00
2020-10-26 00:35:19 -04:00
2020-10-26 00:35:19 -04:00
2021-04-04 10:38:04 -04:00
2022-04-23 23:27:54 -04:00

rfd-notify

Publish Container Dependabot

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

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:
 - "rx.?5[6789]0"
 - pizza
 - starbucks

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
  settings:
    branch: main
    remote_name: origin
    force: false
    commit: true

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/main.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 }}
Description
get notified of deals based on regex
Readme GPL-3.0 4.5 MiB
Languages
Python 92.5%
Dockerfile 6.1%
Shell 1.4%