Commit graph

524 commits

Author SHA1 Message Date
Inex Code 6e0bf4f2a3 chore: PR cleanup 2024-06-27 17:43:13 +03:00
dettlaff f90eb3fb4c feat: add flake services manager (#113)
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/113
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
Reviewed-by: houkime <houkime@protonmail.com>
Co-authored-by: dettlaff <dettlaff@riseup.net>
Co-committed-by: dettlaff <dettlaff@riseup.net>
2024-06-21 23:35:04 +03:00
nhnn 3d2c79ecb1 feat: streaming of journald entries via graphql subscription 2024-06-06 16:07:08 +03:00
nhnn fc2ac0fe6d feat: graphql endpoint to fetch system logs from journald 2024-06-06 16:03:16 +03:00
Houkime cb2a1421bf test(websocket): remove some duplication 2024-05-27 21:30:51 +00:00
Houkime 17ae162156 test(websocket): remove excessive sleeping 2024-05-27 21:30:51 +00:00
Houkime f772005b17 refactor(jobs): offload job subscription logic to a separate file 2024-05-27 21:30:51 +00:00
Houkime 950093a3b1 feature(websocket): add auth to counter too 2024-05-27 21:30:51 +00:00
Houkime 8fd12a1775 feature(websocket): add auth 2024-05-27 21:30:51 +00:00
Houkime 39f584ad5c test(devices): provide devices for a service test to fix conditional test fail. 2024-05-27 21:30:51 +00:00
Houkime 6d2fdab071 feature(jobs): UNSAFE endpoint to get job updates 2024-05-27 21:30:51 +00:00
Houkime 3910e416db test(jobs): test simple counting 2024-05-27 21:30:51 +00:00
Houkime 8348f11faf test(websocket): separate ping and init 2024-05-27 21:30:51 +00:00
Houkime 02d337c3f0 test(websocket): ping pong test 2024-05-27 21:30:51 +00:00
Houkime c19fa227c9 test(websocket) test connection init 2024-05-27 21:30:51 +00:00
Houkime 098abd5149 test(jobs): subscription query generating function 2024-05-27 21:30:51 +00:00
Houkime 4306c94231 test(jobs) test API job format 2024-05-27 21:30:51 +00:00
Houkime 1fadf0214b test(jobs): test Graphql job getting 2024-05-27 21:30:51 +00:00
Houkime 4b1becb4e2 feature(jobs): websocket connection 2024-05-27 21:30:51 +00:00
Houkime 43980f16ea feature(jobs): job update generator 2024-05-27 21:30:51 +00:00
Houkime b204d4a9b3 feature(redis): enable key space notifications by default 2024-05-27 21:30:51 +00:00
Houkime 5bf5e7462f test(redis): test key event notifications 2024-05-27 21:30:51 +00:00
Houkime 4d60b7264a test(async): pubsub 2024-05-27 21:30:51 +00:00
Houkime 862f85b8fd feature(redis): async connections 2024-05-27 21:30:51 +00:00
Houkime 8e8e76a954 fix(backups): fix orphaned snapshots erroring out 2024-05-24 12:30:27 +00:00
Inex Code 524adaa8bc add nix-collect-garbage endpoint (#112)
Continuation of the broken #21

Co-authored-by: dettlaff <dettlaff@riseup.net>
Co-authored-by: def <dettlaff@riseup.net>
Co-authored-by: Houkime <>
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/112
Reviewed-by: houkime <houkime@protonmail.com>
2024-05-01 16:10:39 +03:00
houkime 5e93e6499f Merge pull request 'redis-huey' (#84) from redis-huey into master
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/84
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2024-03-20 14:19:07 +02:00
Houkime 9ee72c1fcb test(huey): make timeout more so that vm gets it in time 2024-03-20 09:02:10 +00:00
Houkime 28556bd22d test(backups): move errored job checker into common test utils 2024-03-18 17:40:48 +00:00
Houkime c5b227226c fix(backups): do not rely on obscure behaviour 2024-03-18 17:33:45 +00:00
Houkime b40df670f8 fix(backups): censor out keys from error messages
We do not have any automated sending of errors to Selfprivacy
but it was inconvenient for people who want to send a
screenshot of their error.
2024-03-18 17:15:40 +00:00
Houkime 6f38b2309f fix(huey): adapt to new VM test environment 2024-03-18 12:18:55 +00:00
Houkime 8e48a5ad5f test(huey): add a scheduling test (expected-fails for now) 2024-03-18 12:18:55 +00:00
Houkime fde461b4b9 test(huey): test that redis socket connection works 2024-03-18 12:18:55 +00:00
Houkime 9954737791 use kill() instead of terminate in huey tests 2024-03-18 12:18:55 +00:00
Houkime 2b19633cbd test(huey): break out preparing the environment vars
I did it for testing redis socketing too, but I guess this will wait for
another time. Somehow it worked even without an actual redis socket and it was
creepy. Idk yet how one can best make redis to make sockets at arbitrary
temporary dirs without starting another redis.
2024-03-18 12:18:55 +00:00
Houkime 83592b7bf4 feature(huey): use RedisHuey 2024-03-18 12:18:55 +00:00
Houkime 6e29da4a4f test(service): test moving with rebuilding via fp 2024-03-18 11:32:02 +00:00
Inex Code 2d5ac51c06 fix: future mock are now more in the future 2024-03-15 16:14:31 +04:00
Houkime 7dae81530e test(services): clean up tests 2024-03-06 18:40:05 +03:00
Houkime 305e5cc2c3 refactor(services): introduce Bind class and test moving deeper 2024-03-06 18:40:05 +03:00
Houkime 1e51f51844 feature(backups): intermittent commit for binds, to be replaced 2024-03-06 18:40:05 +03:00
Houkime 17a1e34c0d feature(services): check before moving task and before move itself 2024-03-06 18:40:05 +03:00
Houkime b054235d96 test(services): remove unused json 2024-03-06 18:39:27 +03:00
Houkime 2519a50aac test(services): merge def and current service tests 2024-03-06 18:39:27 +03:00
def 18327ffa85 test: remove unused mocks, fix tests naming 2024-03-06 18:39:27 +03:00
def b5183948af fix: service tests 2024-03-06 18:39:27 +03:00
def e01b8ed8f0 add test_api_services.py 2024-03-06 18:39:27 +03:00
def 5cd1e28632 add storage tests 2024-03-06 18:39:27 +03:00
Inex Code f895f2a38b refactor: Return last 10 log lines when system rebuild failed 2024-03-06 18:33:55 +03:00
Inex Code c733cfeb9e Merge remote-tracking branch 'origin/system-rebuild-tracking' into system-rebuild-tracking 2024-03-05 14:41:43 +03:00
Inex Code 71433da424 refactor: move systemd functions to utils 2024-03-05 11:55:52 +03:00
Inex Code 96f8aad146 Merge branch 'master' into system-rebuild-tracking 2024-03-04 10:54:43 +02:00
Houkime f5d7666614 refactor(backups): remove excessive imports 2024-03-01 13:54:10 +00:00
Houkime bf33fff20d fix(backups): finish the autobackup job 2024-03-01 12:44:08 +00:00
Inex Code bbec9d9d33 refactor: use ipaddress library for ip validation 2024-03-01 14:58:28 +03:00
Inex Code a4327fa669 fix(dns): Ignore link-local IPv6 address 2024-03-01 03:21:31 +03:00
Inex Code c63552241c tests: Cover upgrade and rebuild task 2024-02-26 22:49:32 +03:00
Houkime 52f8e283be fix(backups): fix wrong typing in autobackups 2024-02-23 16:45:59 +00:00
Houkime 4757bedc4e test(backup): add tests for cache reloads 2024-02-13 14:12:41 +02:00
Houkime bc0602bfcb fix(backup): rework caching so that there are rarer api calls 2024-02-13 14:12:41 +02:00
Houkime e13ad71a93 feature(backups): remove all json logic 2024-01-24 14:36:44 +00:00
Houkime c38e066507 test(backups): separate autobackup tests to a file (was a bit of a mess) 2024-01-12 14:43:54 +00:00
Houkime 7ec62a8f79 fix(backups): do not autobackup disabled services 2024-01-12 14:35:15 +00:00
Inex Code b6f436d8b3 refactor: Adapt API to the NixOS configuration changes 2024-01-10 15:05:10 +02:00
Houkime 8e21e6d378 feature(services): introduce 'modules' field in userdata and group services settings there 2024-01-08 13:12:27 +00:00
Houkime d96739c9ae test(system): remove rest system tests 2024-01-08 13:12:27 +00:00
Houkime 46cc3171ab test(system): test generic shell calls 2024-01-08 13:12:27 +00:00
Houkime 4a580e9b7b feature(system): better error handling for shell calls 2024-01-08 13:12:27 +00:00
Houkime dcf6dd9ac5 test(users): delete rest user tests 2024-01-08 13:12:27 +00:00
Houkime ab081f6fbc test(users): delete redundant rest admin deletion tests 2024-01-08 13:12:27 +00:00
Houkime e7c89e3e3f test(users): delete a user and CHECK that it was deleted 2024-01-08 13:12:27 +00:00
Houkime 2e775dad90 fix(users): handle no admin name defined when adding a user 2024-01-08 13:12:27 +00:00
Houkime c470ec45e8 test(users): test invalid usernames (and delete it from rest) 2024-01-08 13:12:27 +00:00
Houkime 2669e17c91 test(users): test adding users with missing (not just empty) fields 2024-01-08 13:12:27 +00:00
Houkime e835173fea fix(users): handle no admin case 2024-01-08 13:12:27 +00:00
Houkime adcdbfb368 test(services): test mailserver dkim quirk 2024-01-08 13:12:27 +00:00
Houkime fb15ef9388 test(service): rename service systemctl calltests 2024-01-08 13:12:27 +00:00
Houkime 6ade95bbf1 test(service): refactor systemctl calltests 2024-01-08 13:12:27 +00:00
Houkime 4b2eda25f6 test(service, backup): move dummy service fixtures to conftest.py 2024-01-08 13:12:27 +00:00
Houkime bcbe1ff50c refactor(dkim): do not use popen 2024-01-08 13:12:27 +00:00
Houkime 04e3ee821f test(ssh): remove the rest of rest ssh tests bc redundant 2024-01-08 13:12:27 +00:00
Houkime 03feab76b0 test(ssh): user key storage test: removing user keys on undefined 2024-01-08 13:12:27 +00:00
Houkime 7377c6375a test(ssh): user key storage test: removing 2024-01-08 13:12:27 +00:00
Houkime 0669dc117b test(ssh): user key storage test: adding 2024-01-08 13:12:27 +00:00
Houkime bc45a48af3 test(ssh): json storage of user keys : reading 2024-01-08 13:12:27 +00:00
Houkime c5bb18215b test(ssh): delete redundant ssh tests 2024-01-08 13:12:27 +00:00
Houkime b120858fa1 test(ssh): parametrized removing keys 2024-01-08 13:12:27 +00:00
Houkime ca4b3c972d test(ssh): regular users 2024-01-08 13:12:27 +00:00
Houkime 946413615b test(ssh): dealing with undefined users 2024-01-08 13:12:27 +00:00
Houkime 42d96bcd6d test(ssh): remove rest user getting tests (they are covered by users tests 2024-01-08 13:12:27 +00:00
Houkime 16c2598e9b test(ssh): parametrized testing of ssh key addition, existing and invalid 2024-01-08 13:12:27 +00:00
Houkime 65c2023366 test(ssh): parametrized testing of ssh key addition, more 2024-01-08 13:12:27 +00:00
Houkime 7c4c5929df test(ssh): parametrized testing of ssh key addition 2024-01-08 13:12:27 +00:00
Houkime b1eec1e37b test(ssh): admin keys json storage tests 2024-01-08 13:12:27 +00:00
Houkime f24aba8abb test(ssh): admin keys deleting 2024-01-08 13:12:27 +00:00
Houkime ac41cc00ce test(ssh): admin keys getting 2024-01-08 13:12:27 +00:00
Houkime e7075546c5 test(ssh): remove root key nonexistent 2024-01-08 13:12:27 +00:00
Houkime 8fc7796da0 test(ssh): remove root key 2024-01-08 13:12:27 +00:00
Houkime cf2935938d test(ssh): get root key when none 2024-01-08 13:12:27 +00:00