Commit Graph

86 Commits

Author SHA1 Message Date
Loporrit
676c5316f6 Avoid buffering file download bundles in to memory 2023-08-24 18:31:11 +00:00
Loporrit
09a6dbfca0 Fix launching under systemd 2023-08-24 18:29:44 +00:00
rootdarkarchon
dd74903eff fix handling for finishrequest 2023-08-02 11:48:07 +02:00
rootdarkarchon
ba37a25869 adjust queue processing 2023-08-02 11:37:34 +02:00
rootdarkarchon
255798c0c6 add gauges for queue free/active/inactive 2023-08-02 10:14:27 +02:00
rootdarkarchon
4024754b47 fix counters 2023-08-01 22:15:15 +02:00
rootdarkarchon
32e9cf7795 add request size counters 2023-08-01 22:09:45 +02:00
rootdarkarchon
fd0327b2c4 Single file transfer (#26)
* move to single file transfer for server

* fix cache get

---------

Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
2023-08-01 16:48:08 +02:00
rootdarkarchon
3444834fca potentially fix discrepancy between db and uploaded file status 2023-05-11 01:36:36 +02:00
rootdarkarchon
1c0c213c93 update dependencies 2023-05-09 13:04:21 +02:00
rootdarkarchon
abda79a15a potentially fix staticfileserver crashes 2023-04-08 13:59:20 +02:00
rootdarkarchon
89a384005e fix uploading state for forbidden files, add raw upload 2023-04-05 00:24:28 +02:00
rootdarkarchon
51dc445af0 adjust locking for uploadfile 2023-03-29 23:49:00 +02:00
rootdarkarchon
7b0ac34623 add mare profiles 2023-03-19 18:57:55 +01:00
rootdarkarchon
2cfd005fed remove explicit prom aspnetcore 2023-03-15 11:36:22 +01:00
rootdarkarchon
48323d68b0 [Draft] Update 0.8 (#25)
* get rid of file handling through grpc and signalr

* fix upload on controller

* adapt usersetpairpermissions

* send user perms

* server-side fixes

* rework file upload

* adjust log level to debug in docker standalone json

* update dependencies

---------

Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
2023-03-14 19:46:59 +01:00
rootdarkarchon
aa03d400d4 - reload configs on change
- remove grpc config service replace with http
- add messaging to channel
2023-02-25 12:20:59 +01:00
rootdarkarchon
6f9bacab5b Messagepack (#24)
* add messagepack to signalr

* add resolvers to messagepack

---------

Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
2023-02-10 12:30:03 +01:00
rootdarkarchon
674387a26a updates to dependencies 2023-02-05 12:49:05 +01:00
rootdarkarchon
ca16b08a2f Server rework for API change and paradigm shift (#23)
* start with group permissions implementation

* some minor refactoring

* adjust hub for api changes

* fixes and database migration

* fixes sending online/offline message to clients stuff

* remove admin stuff from server

* fixes get server permissions

* send group pair info to client on joining a group

* send online only on sending connection dto

---------

Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
2023-01-29 15:15:02 +01:00
rootdarkarchon
0c3bb89456 remove time from linq query 2023-01-27 02:53:00 +01:00
rootdarkarchon
6560b1d70d try catch on cleanup task 2023-01-27 02:46:13 +01:00
rootdarkarchon
91b98d060a do not use request semaphore for check queue requests 2023-01-22 00:11:21 +01:00
rootdarkarchon
d7e664477f Merge branch 'main' of https://github.com/Penumbra-Sync/server 2023-01-18 19:46:36 +01:00
rootdarkarchon
fe80faab6b potentially fix stuck uploads 2023-01-18 19:46:03 +01:00
rootdarkarchon
e97f4cb6d6 enqueue user if they somehow lost the queue but got no positive reply from the server 2023-01-18 11:06:30 +01:00
rootdarkarchon
9b4e298b66 refactor server auth on files server, add checking request queue 2023-01-18 10:20:24 +01:00
rootdarkarchon
20d8970a15 return in RemoveFromQueue always when not in queue 2023-01-15 18:32:48 +01:00
rootdarkarchon
4bd71a5889 Download rework (#22)
* rework server to send download ready back via signalr

* adjust queue handling for removal

* adjust api to main

Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
2023-01-15 16:00:38 +01:00
rootdarkarchon
5e0e21ef68 parallel for the queue processing, up request semaphore, remove queue position (unused), bump api version 2023-01-15 01:44:10 +01:00
rootdarkarchon
e968adb7be actually start the queue processing timer 2023-01-15 01:12:46 +01:00
rootdarkarchon
60f6bb5829 ignore queue semaphore when processing queue 2023-01-15 01:10:35 +01:00
rootdarkarchon
b230f12508 decrease parallel request handling 2023-01-15 01:08:44 +01:00
rootdarkarchon
cf6ad890cd try processing queue with timer instead of task 2023-01-15 01:07:45 +01:00
rootdarkarchon
3fc6b01df9 adjust try/catch/finally for semaphore release 2023-01-15 00:52:21 +01:00
rootdarkarchon
b806ef8b7b temporary test limiting parallel requests to 500 2023-01-15 00:48:32 +01:00
rootdarkarchon
aa177583e0 sanitize queue processing 2023-01-14 12:57:34 +01:00
rootdarkarchon
9605be8d4a minor stylefixes 2023-01-14 12:54:11 +01:00
rootdarkarchon
a0cea2432f fixes for activate/finishrequest 2023-01-11 17:22:04 +01:00
rootdarkarchon
c1f329c233 fixes for server auth 2023-01-11 14:31:33 +01:00
rootdarkarchon
42b15cb6b7 Add Server-Side Download Queue (#21)
* test add queueing to file service

* further adjustments to download queueing

* add check for whether the request is still in the queue to CheckQueue

* forcefully release slot if download didn't finish in 15s

* actually cancel the delay task

* add metrics and refactor some of the request queue service

* refactor pathing

* reuse httpclient

* add queue request dto to requestfile, enqueue users immediately if a slot is available

* change startup to include all controllers

* update server pathing

* update pathing, again

* several adjustments to auth, banning, jwt server tokens, renaming, authorization

* update api I guess

* adjust automated banning of charaident and reg

* generate jwt on servers for internal authentication

* remove mvcextensions

Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
2023-01-11 12:22:22 +01:00
rootdarkarchon
61111d387a get kestrel server options from config 2023-01-07 23:44:35 +01:00
rootdarkarchon
d7eee2af8f remove configurekestrel 2023-01-07 23:37:32 +01:00
rootdarkarchon
2943e0964e limit connections to 1000 2023-01-07 02:11:14 +01:00
rootdarkarchon
d328056b9b fix claims and logging in files controller 2023-01-07 01:57:16 +01:00
rootdarkarchon
74b7fcdf89 Refactoring using Claims more, add Server Side Messaging (#20)
* add some refactoring based on claims, handle chara ident inside claim, fix discord userid in log

* improve authentication responses, add server side messaging

* update server to mainline api

Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
2023-01-04 15:49:18 +01:00
rootdarkarchon
5f0c12ecfa Switch to JWT authentication (#19)
* switch to jwt authentication

* fix delete files

* adjust saving of deletion of all files

* update api to main/jwt

Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
2023-01-02 17:07:34 +01:00
rootdarkarchon
bdd8830c8e add healthchecks to docker 2023-01-02 02:50:33 +01:00
rootdarkarchon
3634cccd1e remove check for file existence because of download task might still be around 2022-12-29 14:14:02 +01:00
rootdarkarchon
6a34f88a24 optimize for readability 2022-12-29 14:10:02 +01:00