Commit graph

1473 commits

Author SHA1 Message Date
nhnn 3bddfb15c4 fix: use GraphQL DateTime type for start and end arguments in monitoring.py 2024-07-15 17:16:24 +03:00
nhnn 2797b0b331 style: add self to make sure python isnt confused and format code 2024-07-15 17:00:36 +03:00
Alexander Tomokhov a00aae1bee fix: remove '-v' in pytest-vm 2024-07-15 17:00:26 +03:00
Inex Code b510af725b Merge pull request 'feat: add roundcube service' (#119) from def/selfprivacy-rest-api:master into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/119
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2024-07-15 16:45:46 +03:00
Inex Code d18d644cec Merge remote-tracking branch 'origin/master' into roundcube 2024-07-15 17:30:59 +04:00
Inex Code 16d1f9f21a Merge pull request 'feat: graphql endpoint to fetch system logs' (#116) from nhnn/selfprivacy-rest-api:api-logs into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/116
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2024-07-15 16:23:30 +03:00
Inex Code d8fe54e0e9 fix: do not use bare 'except' 2024-07-15 17:05:38 +04:00
Inex Code 5c5e098bab style: do not break line before logic operator 2024-07-15 17:02:34 +04:00
Inex Code cc4b411657 refactor: Replace strawberry.types.Info with just Info 2024-07-15 16:59:27 +04:00
nhnn a24e36fa01 fix: use query_range 2024-07-14 20:03:03 +03:00
nhnn 8114d1580a fix: typo, prometheus uses camelCase 2024-07-13 22:14:42 +03:00
nhnn eca1bc78ba fix: change _send_query to make use of 'data' field in response of prometheus 2024-07-13 22:04:02 +03:00
nhnn 94b0276f74 fix: extract business logic to utils/systemd_journal.py 2024-07-13 11:58:54 +03:00
Inex Code c857678c9a docs: Update Contributing file 2024-07-11 20:20:08 +04:00
Inex Code 859ac4dbc6 chore: Update nixpkgs 2024-07-11 19:08:04 +04:00
Inex Code 4ca9b9f54e fix: Wait for ws logs test to init 2024-07-10 21:46:14 +04:00
Inex Code faa8952e9c chore: Bump version to 3.3.0 2024-07-10 19:51:10 +04:00
Inex Code 5f3fc0d96e chore: formatting 2024-07-10 19:18:22 +04:00
Inex Code 9f5f0507e3 Merge remote-tracking branch 'origin/master' into api-logs 2024-07-10 18:52:10 +04:00
nhnn 4bf206ad48 fix: dicts are indexed via [] 2024-07-10 17:18:55 +03:00
nhnn aa2a7ff3aa style: format files with black & rearrange imports 2024-07-10 15:53:56 +03:00
nhnn 7e295f2e91 fix: yay! tests are working 2024-07-10 15:49:27 +03:00
nhnn e988f77419 fix: fix tests (not working properly, yet) 2024-07-10 12:43:00 +03:00
nhnn 60e0dcc6cd fix: type in path to PrometheusQueries 2024-07-08 19:14:50 +03:00
nhnn 60c5e12946 fix: add type annotations to monitoring.py 2024-07-08 19:02:34 +03:00
nhnn 0834360961 feat: add memory and cpu metrics 2024-07-08 18:18:07 +03:00
nhnn c34551014f fix: refactor utils/prometheus.py 2024-07-08 18:00:49 +03:00
dettlaff 3de0952c3f tests: add 2024-07-07 16:33:15 +04:00
Inex Code ceee6e4db9 fix: Read auth token from the connection initialization payload
Websockets do not provide headers, and sending a token as a query param is also not good (it gets into server's logs),
As an alternative, we can provide a token in the first ws payload.

Read more: https://strawberry.rocks/docs/general/subscriptions#authenticating-subscriptions
2024-07-05 18:14:18 +04:00
Inex Code a7be03a6d3 refactor: Remove setting KEA
This is already done via NixOS config
2024-07-04 18:49:17 +04:00
Houkime 9accf861c5 fix(websockets): add websockets dep so that uvicorn works 2024-07-04 17:19:25 +03:00
Houkime 41f6d8b6d2 test(websocket): remove some duplication 2024-07-04 17:19:25 +03:00
Houkime 57378a7940 test(websocket): remove excessive sleeping 2024-07-04 17:19:25 +03:00
Houkime 05ffa036b3 refactor(jobs): offload job subscription logic to a separate file 2024-07-04 17:19:25 +03:00
Houkime ccf71078b8 feature(websocket): add auth to counter too 2024-07-04 17:19:25 +03:00
Houkime cb641e4f37 feature(websocket): add auth 2024-07-04 17:19:25 +03:00
Houkime 0fda29cdd7 test(devices): provide devices for a service test to fix conditional test fail. 2024-07-04 17:19:25 +03:00
Houkime 442538ee43 feature(jobs): UNSAFE endpoint to get job updates 2024-07-04 17:19:25 +03:00
Houkime 51ccde8b07 test(jobs): test simple counting 2024-07-04 17:19:25 +03:00
Houkime cbe5c56270 chore(jobs): shorter typehints and import sorting 2024-07-04 17:19:25 +03:00
Houkime ed777e3ebf feature(jobs): add subscription endpoint 2024-07-04 17:19:25 +03:00
Houkime f14866bdbc test(websocket): separate ping and init 2024-07-04 17:19:25 +03:00
Houkime a2a4b461e7 test(websocket): ping pong test 2024-07-04 17:19:25 +03:00
Houkime 9add0b1dc1 test(websocket) test connection init 2024-07-04 17:19:25 +03:00
Houkime 00c42d9660 test(jobs): subscription query generating function 2024-07-04 17:19:25 +03:00
Houkime 2d9f48650e test(jobs) test API job format 2024-07-04 17:19:25 +03:00
Houkime c4aa757ca4 test(jobs): test Graphql job getting 2024-07-04 17:19:25 +03:00
Houkime 63d2e48a98 feature(jobs): websocket connection 2024-07-04 17:19:25 +03:00
Houkime 9bfffcd820 feature(jobs): job update generator 2024-07-04 17:19:25 +03:00
Houkime 6510d4cac6 feature(redis): enable key space notifications by default 2024-07-04 17:19:25 +03:00