Commit graph

984 commits

Author SHA1 Message Date
dettlaff 389ec2c81c feat: add swap usage query 2024-10-02 15:35:05 +03:00
Houkime 2ee66d143c fix(backup): early abort and better error reporting for restore_all 2024-09-23 22:15:57 +03:00
Houkime 39312a0937 test(services): refactor dummy service creation so that we can test restores more easily 2024-09-23 22:15:57 +03:00
Houkime faa4402030 chore(block devices): edit comment to be more correct 2024-09-13 12:31:30 +00:00
Inex Code 6340ad348c chore: Recover fixes destroyed by force push
Please don't do this again
2024-09-13 12:11:56 +00:00
Inex Code 63bcfa3077 chroe: string casing 2024-09-13 12:11:56 +00:00
Inex Code d3e7eb44ea chore: Linting 2024-09-13 12:11:56 +00:00
Houkime 6eca44526a chore(services): clean up the config service 2024-09-13 12:11:56 +00:00
Houkime 408284a69f chore(backup): make a comment into a docstring 2024-09-13 12:11:56 +00:00
Houkime 5ea000baab feature(backups): manual autobackup -> total backup 2024-09-13 12:11:56 +00:00
Houkime ee06d68047 feature(backups): allow non-autobackup slices for full restoration 2024-09-13 12:11:56 +00:00
Houkime 1a9a381753 refactor(backups): handle the case when there is no snapshot to sync date with 2024-09-13 12:11:56 +00:00
Houkime 53c6bc1af7 refactor(backups): cleanup old config service code 2024-09-13 12:11:56 +00:00
Houkime 0d23b91a37 refactor(backups): config service reformat 2024-09-13 12:11:56 +00:00
Houkime 27f09d04de fix(backups): change the dump folder 2024-09-13 12:11:56 +00:00
Houkime b67777835d fix(backup): make last slice return a correct list 2024-09-13 12:11:56 +00:00
Houkime a5b52c8f75 feature(backup): endpoint to force autobackup 2024-09-13 12:11:56 +00:00
Houkime bb493e6b74 feature(backup): reload snapshots when migrating 2024-09-13 12:11:56 +00:00
Houkime a4a70c07d3 test(backup): migration test 2024-09-13 12:11:56 +00:00
Houkime 427fdbdb49 test(backup): minimal snapshot slice test 2024-09-13 12:11:56 +00:00
Houkime bfb0442e94 feature(backup): query to see restored snapshots in advance 2024-09-13 12:11:56 +00:00
Houkime 5e07a9eaeb feature(backup): error handling for the full restore endpoint 2024-09-13 12:11:56 +00:00
Houkime 7de5d26a81 feature(backup): full restore task 2024-09-13 12:11:56 +00:00
Houkime be4e883b12 feature(backup): autobackup slice detection 2024-09-13 12:11:56 +00:00
Houkime 7ae550fd26 refactor(system): break out rebuild job creation 2024-09-13 12:11:56 +00:00
Houkime f068329153 fix(service manager): debug and test backup hooks 2024-09-13 12:11:56 +00:00
Houkime f8c6a8b9d6 refactor(utils): maybe make fsavail an int? 2024-09-13 12:11:56 +00:00
Houkime af014e8b83 feature(backup): support for perma-active services and services with no existing data 2024-09-13 12:11:56 +00:00
Houkime 0329addd1f feature(services): add perma-active services (api itself) 2024-09-13 12:11:56 +00:00
Houkime d4998ded46 refactor(services): migrate service management to a special service 2024-09-13 12:11:56 +00:00
Houkime 2ef674a037 refactor(services): PARTIAL migrate get_all_services 2024-09-13 12:11:56 +00:00
Houkime f6151ee451 feature(backup): add migration specific endpoints 2024-09-13 12:11:56 +00:00
Houkime 8c44f78bbb feature(services): add config service 2024-09-13 12:11:56 +00:00
Houkime f57eda5237 feature(services): allow moving uninitialized services 2024-09-13 12:11:56 +00:00
Inex Code e6b7a1c168 style: linting 2024-09-11 13:58:48 +03:00
Houkime 68d0ee8c5d test(system): dns migration 2024-09-11 13:58:48 +03:00
Houkime 77fb99d84e feature(system): dns migration 2024-09-11 13:58:48 +03:00
dettlaff ac07090784 style: blacked 2024-09-05 15:57:27 +04:00
def 81d082ff2a fix: nix collect garbage 2024-09-05 14:54:58 +03:00
Houkime 8ef63eb90e fix(backups): cover the case when service fails to stop 2024-08-16 15:36:22 +03:00
dettlaff 391e4802b2 tests: add tests for monitoring (#140)
Co-authored-by: nhnn <nhnn@disroot.org>
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/140
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
Co-authored-by: dettlaff <dettlaff@riseup.net>
Co-committed-by: dettlaff <dettlaff@riseup.net>
2024-08-16 15:36:07 +03:00
Houkime 55bbb0f3cc test(services): add more debug to the dummy service 2024-08-16 14:14:56 +03:00
dettlaff bbd909a544 feat: timeout for monitoring 2024-08-12 21:45:21 +03:00
Houkime 3c3b0f6be0 fix(backups): allow retrying when deleting service files 2024-08-12 19:45:51 +03:00
nhnn 1bfe7cf8dc fix: stop prosody when jitsi stops 2024-08-09 11:17:27 +03:00
dettlaff 4cd90d0c93 feat: add Prometheus monitoring (#120)
Co-authored-by: nhnn <nhnn@disroot.org>
Co-authored-by: Inex Code <inex.code@selfprivacy.org>
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/120
Co-authored-by: dettlaff <dettlaff@riseup.net>
Co-committed-by: dettlaff <dettlaff@riseup.net>
2024-07-30 16:55:57 +03:00
Inex Code 1259c081ef style: Reformat with new Black version 2024-07-26 22:59:44 +03:00
Inex Code 659cfca8a3 chore: Migrate to NixOS 24.05 2024-07-26 22:59:32 +03:00
Inex Code 9b93107b36 feat: Service configuration (#127)
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/127
2024-07-26 18:33:04 +03:00
nhnn 3c024cb613 feat: add option to filter logs by unit or slice 2024-07-25 20:34:28 +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 94b0276f74 fix: extract business logic to utils/systemd_journal.py 2024-07-13 11:58:54 +03: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
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 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 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 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
Houkime fff8a49992 refactoring(jobs): break out a function returning all jobs 2024-07-04 17:19:25 +03:00
Houkime f08dc3ad23 test(async): pubsub 2024-07-04 17:19:25 +03:00
Houkime b6118465a0 feature(redis): async connections 2024-07-04 17:19:25 +03:00
Inex Code 4066be38ec chore: Bump version to 3.2.2 2024-07-01 19:25:54 +04:00
Inex Code 7522c2d796 refactor: Change gitea to Forgejo 2024-06-30 23:02:07 +04:00
Inex Code 6e0bf4f2a3 chore: PR cleanup 2024-06-27 17:43:13 +03:00
Inex Code c42e2ef3ac Revert "feat: move get_subdomain to parent class really"
This reverts commit 4eaefc8321.
2024-06-27 17:43:13 +03:00
Inex Code 8bb9166287 Revert "fix: remove get sub domain from services"
This reverts commit 46fd7a237c.
2024-06-27 17:43:13 +03:00
Inex Code 306b7f898d Revert "feat: rewrite get_url()"
This reverts commit f834c85401.
2024-06-27 17:43:13 +03:00
nhnn f1cc84b8c8 fix: add migrations to migration list in migrations/__init__.py 2024-06-27 17:43:13 +03:00
dettlaff 02bc74f4c4 fix: only roundcube migration, other services removed 2024-06-27 17:43:13 +03:00
dettlaff 416a0a8725 fix: from review 2024-06-27 17:43:13 +03:00
dettlaff 82a0b557e1 feat: add migration for userdata 2024-06-27 17:43:13 +03:00
dettlaff 7b9420c244 feat: rewrite get_url() 2024-06-27 17:43:13 +03:00
dettlaff 9125d03b35 fix: remove get sub domain from services 2024-06-27 17:43:13 +03:00
dettlaff 2b9b81890b feat: move get_subdomain to parent class really 2024-06-27 17:43:13 +03:00
dettlaff 78dec5c347 feat: move get_subdomain to parent class 2024-06-27 17:43:13 +03:00
dettlaff 4d898f4ee8 feat: add migration for services flake 2024-06-27 17:43:13 +03:00
dettlaff 31feeb211d fix: change roundcube to webmail 2024-06-27 17:43:13 +03:00
dettlaff a00c4d4268 fix: change return get_folders 2024-06-27 17:43:13 +03:00
dettlaff 9c50f8bba7 fix from review 2024-06-27 17:43:13 +03:00
dettlaff 1b91168d06 style: fix imports 2024-06-27 17:43:13 +03:00
dettlaff 4823491e3e feat: add roundcube service 2024-06-27 17:43:13 +03:00
Maxim Leshchenko 5602c96056 feat(services): rename "sda1" to "system disk" and etc (#122)
Closes #51

Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/122
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
Co-authored-by: Maxim Leshchenko <cnmaks90@gmail.com>
Co-committed-by: Maxim Leshchenko <cnmaks90@gmail.com>
2024-06-27 17:41:46 +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 8b2e4666dd fix: rename PageMeta to LogsPageMeta 2024-06-11 12:36:42 +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 f772005b17 refactor(jobs): offload job subscription logic to a separate file 2024-05-27 21:30:51 +00:00