Граф коммитов

19 Коммитов

Автор SHA1 Сообщение Дата
Les Orchard 35a732ee01 Use Sentry to report exceptions
- Wrap exceptions in calls to Sentry via Raven module

- New SENTRY_DSN env var - Sentry is disabled with warning if not supplied

Fixes #170
2018-09-11 13:29:58 -04:00
Les Orchard 8e4e693da6 Implement periodicMetrics function
- periodicMetrics function that queries queue stats and pings metrics
- New METRICS_PING_PERIOD variable for configuring ping frequency
- CloudWatch alarm to call periodicMetrics
- Docs
- Tests

Fixes #118
2018-09-04 15:21:46 -04:00
Les Orchard e5622a8899 Add more verbose debug logging 2018-08-28 14:37:42 -04:00
Les Orchard da4c243e4c Rework config setup to better separate dev and prod
Issue #97
2018-08-03 10:38:57 -04:00
Les Orchard 35af64514d Send email on positive matches
Fixes #44
2018-08-02 14:07:05 -04:00
Les Orchard 83720f030c
Replace pollQueue with new built-in SQS events
- delete pollQueue and switch processQueueItem to use SQS events

- add rate limiting based on sliding window using hits database

- test for rate limit pause

Issue #110
2018-07-19 12:00:16 -04:00
Les Orchard 29a37a6abe
Reduce queue retries from 10 to 3
- 10 is probably too many times for a non-recoverable error - e.g. permanently
  unreachable consuming client

- 3 is probably enough for an intermittent problem - e.g. temporary service
  outage
2018-07-10 12:27:40 -04:00
Les Orchard 8b7701a48b
Fix some issues on the dev stack, misc tweaks
- Ensure METRICS_URL gets passed to functions

- Ensure dev stack deployment has a good mock upstream service URL

- Increase bucket retention to 180 days

- Tweaks to client and README to make setting custom service URL easier
2018-06-28 15:44:38 -04:00
Les Orchard 44eba231b6
Implement metrics pings
- Tweaks to metrics.md to reflect current functionality

- lib/metrics.js to wrap metrics pings

- Add pings to functions

- Mock endpoint that just logs POST requests, used for metrics in dev stack

- Tests

Fixes #47
2018-06-08 13:26:16 -04:00
Les Orchard 53d2778c21
Add support for custom domains and auto-deployment
- Docs and config files for setting up custom domain name

- Add deploy_dev job to successful build & test runs on master branch in CI

- Temporarily switch to a specific commit of serverless to address upstream issue:
  https://github.com/serverless/serverless/issues/4957

- Temporarily switch to a specific branch of serverless-domain-manager to address upstream issue:
  https://github.com/amplify-education/serverless-domain-manager/issues/64#issuecomment-370102422

Issue #11
2018-05-22 17:34:28 -04:00
Barry Chen 85ed415694
Merge pull request #41 from lmorchard/4-monitoring-urls
Add monitoring URLs
2018-05-17 12:36:39 -05:00
Les Orchard 79cff0d2e2
Add monitoring URLs
- __heartbeat__ responds with 200 OK when the service is available
- __version__ responds with deploy-time version information

Fixes #4
2018-05-15 16:53:17 -04:00
Les Orchard 99b6c4d1b0
Implement some loopback mock routes, simplify client usage 2018-05-14 14:47:35 -04:00
Les Orchard 31b6c6a08d
Tweaks to make setting dev stage more convenient 2018-05-11 16:04:48 -04:00
Les Orchard 02d4885048
Process queue items with upstream API requests
- Make requests to upstream API

- Relay result to positive / negative client URL as appropriate

Issue #3
2018-05-10 16:32:38 -04:00
Les Orchard f897da872d
Tweaks to tests layout and npm scripts
- Move tests to live alongside functions

- Move mocks into a test-startup module, start testing processQueueItem

- Add npm start script

- Switch onchange to use polling, resolves some weirdness in windows

Issue #3
2018-05-10 16:31:44 -04:00
Les Orchard 2bdc758050
Implement image submission API
- Ensure AWS API Gateway can accept binary requests

- Add multipart form parsing, light input validation

- Expand options in client to include other API fields

- Increase S3 object expiry to 30 days

- Update tests

Fixes #1
2018-05-09 16:09:37 -04:00
Les Orchard f77ca8ad18
Implement Hawk authentication for accept endpoint
- Add prettier, deploy:dev, and client NPM scripts

- bin/client.js as a start on a Hawk-enabled example service client

- Rework accept endpoint function
  - Switch to POST requests
  - Enforce Hawk authentication, with hardcoded dev credential option and
    DynamoDB credentials

- Add Credentials table in DynamoDB

- Tests for Hawk in accept function

- README updates

Fixes #2
2018-05-09 16:02:19 -04:00
Les Orchard e2717c4c08 Initial queue poller experiment 2018-05-03 15:40:50 -04:00