Commit Graph

101 Commits

Author SHA1 Message Date
lukaszraczylo 12e0294945 Add distibuted cache with Redis 2024-06-11 11:35:50 +01:00
lukaszraczylo a01a4da9b5 Add metrics for cached queries + cache hit/miss 2024-06-11 11:35:49 +01:00
lukaszraczylo 371d51f96f Update dependencies. 2024-06-11 11:35:49 +01:00
lukaszraczylo a9fd6b3d0a Release: Add cache operations via API + support distributed redis cache. 2024-06-11 11:35:46 +01:00
lukaszraczylo 9291ac03db Improved graphql library. v0.14.1 2024-05-14 11:33:35 +01:00
lukaszraczylo 75944a3a52 Fixup: Update graphql client library. v0.13.3 2024-05-14 09:40:21 +01:00
lukaszraczylo 5a01ec3876 Improve logging and cache sub-packages to decrease the number of allocations
and improve performance.
v0.12.1
2024-05-14 09:21:16 +01:00
lukaszraczylo c3e5b85f57 Update dependencies. v0.11.7 2024-05-04 21:22:19 +01:00
lukaszraczylo bc2dff0185 Update dependencies. v0.11.3 2024-04-12 23:30:18 +01:00
lukaszraczylo ce344d17eb Add read only replica (#11)
* Improve stats gathering.
v0.10.1
2024-03-13 23:09:38 +00:00
lukaszraczylo dc916d36cd Fix documentation after testing. 2024-03-12 23:12:50 +00:00
lukaszraczylo e495cf23d9 Read only endpoint support (#10)
* This change introduces ability to set additional endpoint leading to the
instance of the graphql server connected to the read only database.
If regular query is detected and endpoint for `HOST_GRAPHQL_READONLY` value is set,
the query will be proxied to it. Mutations and non-graphql will be sent
to the `HOST_GRAPHQL` endpoint.
v0.9.2
2024-03-12 11:16:35 +00:00
lukaszraczylo ba1fef9b57 Improve stats gathering (#9) v0.8.1 2024-03-05 22:42:30 +00:00
lukaszraczylo 3a18e0e935 Improve stats gathering and tests improvements. (#8) 2024-03-05 22:40:06 +00:00
lukaszraczylo b6c284b66d Update dependencies. v0.7.45 v0.7.47 2024-03-05 14:40:45 +00:00
lukaszraczylo 88ef1aac7f Reuse http client and add retry to the proxied requests. 2024-03-05 14:38:03 +00:00
lukaszraczylo 6d32278851 Reuse http client. 2024-03-05 14:24:49 +00:00
lukaszraczylo f2085c8491 Update dependencies. v0.7.41 2024-02-15 10:22:31 +00:00
lukaszraczylo ebbb1c53f5 Micro fixes. 2024-02-15 10:21:51 +00:00
lukaszraczylo 0bdea741bf Move results to the struct for ease of management. 2024-02-15 09:50:51 +00:00
lukaszraczylo 4cb0d22874 Return 403 on blocked queries. 2024-02-15 09:34:57 +00:00
lukaszraczylo 9910bb1d45 Update documentation. 2024-02-15 09:31:49 +00:00
lukaszraczylo 756c63c0d1 Add support for 'refresh' in @cached section of the query.
Example:

```
query MyProducts @cached(refresh: true) {
  products {
    id
    name
  }
}
```
2024-02-15 09:29:27 +00:00
lukaszraczylo 029e0166c0 Docker to use distroless image. v0.7.31 2024-02-08 20:50:50 +00:00
lukaszraczylo 4cf27e0e3b Missed on files requiring json encoding. v0.7.29 2024-02-05 15:37:24 +00:00
lukaszraczylo 3149a27466 Update semver config. 2024-02-05 15:31:45 +00:00
lukaszraczylo bb28f2fcd8 Change the json library to the fully compatible ( and fast ) one. 2024-02-05 15:30:59 +00:00
lukaszraczylo d3a8da1dcf Move location of the global proxy client from the per-req to main.
There's no need to re-create it every single time.
2024-02-05 14:35:33 +00:00
lukaszraczylo 794cb1ddf4 Add the prefixed environment variables to avoid potential conflicts. 2024-02-05 14:24:17 +00:00
lukaszraczylo 95f2236c96 Dependencies refresh. 2024-02-05 13:31:33 +00:00
lukaszraczylo 1ff568a271 Update dependencies. v0.7.19 2024-01-11 10:39:15 +00:00
lukaszraczylo b19b17b7c4 Realign the structs to decrease memory footprint.
Add the timeout settings to address the connection drops.
v0.7.16
2023-12-14 17:16:38 +00:00
lukaszraczylo cd9c650226 Remove compression from proxied request. v0.7.14 2023-12-13 23:13:34 +00:00
lukaszraczylo d09940ebc4 Update connection settings. v0.7.11 2023-12-13 22:50:41 +00:00
lukaszraczylo 3596b03953 Update dependencies. v0.7.7 2023-12-13 09:34:37 +00:00
lukaszraczylo 760a168365 Update dependencies. v0.7.3 2023-12-12 21:43:45 +00:00
lukaszraczylo bc305dd8e9 Improve tests and speed things up a little. v0.6.1 2023-11-20 11:38:02 +00:00
lukaszraczylo b4c047819f Update dependencies. v0.5.65 v0.5.67 2023-11-18 02:12:59 +00:00
lukaszraczylo 1390e7cdd1 Fix blocking the introspection + add unit tests. 2023-11-18 02:11:38 +00:00
lukaszraczylo a71b3950db Load retrospection query set once. v0.5.62 2023-11-17 22:32:58 +00:00
lukaszraczylo 827c26e88d Fix retrospection query blocking. 2023-11-17 22:29:42 +00:00
lukaszraczylo 30528e4a9a Sort labels by keys before pushing them to metrics registry.
This is needed to ensure that labels are always in the same order and
metrics won't produce duplicates.
v0.5.58
2023-11-17 14:36:23 +00:00
lukaszraczylo 94657ddff4 fixup! fixup! Add purging metrics on timer. v0.5.55 2023-11-17 14:11:55 +00:00
lukaszraczylo a29733a52a fixup! Add purging metrics on timer. 2023-11-17 14:09:26 +00:00
lukaszraczylo 105c624426 Add purging metrics on timer. v0.5.50 2023-11-17 13:47:54 +00:00
lukaszraczylo 1a790ffb52 Make sure that pod name is included in metrics. v0.5.48 2023-11-16 17:18:27 +00:00
lukaszraczylo 0b642f8be1 Add ability to reset metrics between crawl to limit payload absorbed (#5)
by the prometheus/victoria metric crawlers.
v0.5.46
2023-11-16 16:45:48 +00:00
lukaszraczylo 9c9fa94140 Add ability to set cache via query header. v0.5.44 2023-11-14 09:52:51 +00:00
lukaszraczylo 93318df9fe Update dependencies. 2023-11-14 09:43:33 +00:00
lukaszraczylo b497ad1d1c Add generation of query uuid logs and easier debugging. v0.5.40 2023-10-25 14:11:44 +01:00