Commit Graph

40 Commits

Author SHA1 Message Date
Syfaro
af40099773 Small updates. 2021-08-22 01:37:36 -04:00
Syfaro
914a9b24ba Add Weasyl metrics, rework metric names. 2021-08-22 00:09:44 -04:00
Syfaro
4c0fb5ac2e Setting for ingesters to download files. 2021-08-21 18:28:54 -04:00
Syfaro
25e7ef3109 Fix clippy lints, update Rust version. 2021-08-10 21:41:11 -04:00
Syfaro
5773cc03f5
Break apart into multiple microservices (#10)
* Update CI.

* Bump versions.

* Fix dependencies.

* Unify tracing and metrics export.

* Create service to hash image.

* Updates for hashing service.

* Fix missing file changes.

* Old changes I don't remember.

* Update dependencies, improve Docker images.

* Use BKApi instead of in-memory tree.

* Include health endpoint with metrics.

* Avoid some unwraps.
2021-08-10 18:28:32 -07:00
Syfaro
c64ca4a6bd Correctly parse Weasyl's explicit rating. 2021-04-30 21:34:31 -04:00
Syfaro
a1f28707ab Improve query performance, instrumentation. 2021-04-22 21:34:02 -04:00
Syfaro
ca2247b79f Update opentelemetry. 2021-04-22 12:41:08 -04:00
Syfaro
47703694d1 More logging updates. 2021-04-21 21:46:10 -04:00
Syfaro
3974f85ce8
JSON log output (#9)
* Allow outputting JSON logs from ingesters.

* Skip instrument for faktory.

* Use more specific timestamp format.

* Update logger for webhooks too.
2021-04-21 19:26:15 -04:00
Syfaro
dd7805d052
Webhooks (#8)
* Rough initial progress on webhooks.

* Better webhook error handling, use all ingesters.

* Include hash in webhook data.

* Always pull Rust image.

* Fix missing features.
2021-04-21 16:58:32 -04:00
Syfaro
a9b5b95350 Update dependencies. 2021-04-19 22:17:21 -04:00
Syfaro
f8744080fd Authenticate e621 ingester. 2021-04-12 22:14:36 -04:00
Syfaro
dbfee26a40 Add looking up FA submissions by site ID. 2021-03-20 02:25:01 -04:00
Syfaro
17a4d39a75
Improve FurAffinity ingester (#5)
* Improve FurAffinity retry logic, add timeout.

* Only build images when pushing to master.

* Use tracing instead of directly printing messages.

* Make case consistent on messages.

* Use tracing instead of panics directly.

* Record users online.

* Extract submission handling to new function.
2021-02-27 22:26:53 -05:00
Syfaro
5f5a93c85b Update package names and Dockerfiles. 2021-02-21 01:26:29 -05:00
Syfaro
eded80fd78 Include sample data and images. 2021-02-20 23:40:03 -05:00
Syfaro
4ad577cee5 Update everything to Tokio v1. 2021-02-20 21:16:58 -05:00
Syfaro
8914227f23 Merge branch 'master' into unify 2021-02-20 18:05:04 -05:00
Syfaro
ed865ba512 Updates. 2021-02-20 17:36:48 -05:00
Syfaro
c345c51a0f
Add Prometheus for request and process monitoring (#4)
* Add Prometheus metrics.

* Set default METRICS_HOST and EXPOSE in Dockerfile.
2021-02-17 17:41:55 -05:00
Syfaro
908cda8ce9
Use NOTIFY/LISTEN instead of polling for updates (#3)
* Use NOTIFY/LISTEN instead of polling for updates.

* Allow different distances for multiple hashes.
2021-02-17 16:30:05 -05:00
Syfaro
3ade5aeba9
Add ability to search by URL, rate limit headers (#2)
* Initial progress on searching by URL.

* Avoid rejections for error messages.

* Handle some more rejections.

* Fix build issues.

* Remove detailed error messages.

* Fix issue with built Docker image.

* Add rate limit headers to all responses.

* Remove unneeded dependency.

* Limit URLs to 10MB.
2021-01-21 21:21:16 -05:00
Syfaro
e1160f54db Update dependencies to allow building on stable. 2020-12-07 18:46:12 -06:00
Syfaro
415d030bd2 Update Weasyl ingester. 2020-12-07 18:17:38 -06:00
Syfaro
348352f23e Some updates for FurAffinity ingester. 2020-12-07 17:57:13 -06:00
Syfaro
59da1e99a8 Start unifying all FuzzySearch crates. 2020-12-07 17:41:32 -06:00
Syfaro
b1bc46d929 Add API endpoint to hash video input. 2020-12-07 17:20:57 -06:00
Syfaro
9eb653ce6b Add methods to extract hashes from a GIF or video. 2020-12-06 20:02:01 -06:00
Syfaro
f6319e6d90 Update dependencies. 2020-12-06 18:49:29 -06:00
Syfaro
124089b76f Update OpenTelemetry. 2020-07-22 23:04:42 -05:00
Syfaro
801d63f9d9 Change API rate limiting.
Instead of using a single rate limit bucket for searching by uploading
an image and sending a hash, use two separate buckets joined together.

Now when an image is uploaded, it consumes an image and a hash.
When just a hash is provided, it only consumes an image. This naming is
somewhat confusing, but was used for data backwards compatibility.
2020-05-14 00:58:32 -05:00
Syfaro
ee830688ff Update deps. 2020-04-06 20:27:49 -05:00
Syfaro
95b0ec910b Updates. 2020-03-10 04:47:58 -05:00
Syfaro
b6fdc37413 Update deps. 2020-02-19 18:23:36 -06:00
Syfaro
904d3290e1 Initial attempt at an in-memory tree. 2020-02-15 23:50:09 -06:00
Syfaro
af213d4365 Trace using Jaeger. 2020-02-05 02:21:46 -06:00
Syfaro
80061dc051 Update deps, use sized bytes type for img_hash. 2020-01-29 14:56:36 -06:00
Syfaro
b4b441139b Update deps, use stable Rust. 2020-01-17 17:21:30 -06:00
Syfaro
82dd1ef8b7 Initial commit. 2020-01-17 17:13:24 -06:00