Commit graph

1058 commits

Author SHA1 Message Date
dettlaff d3f24d958d fix: change password to hashed_password 2024-11-15 03:52:27 +04:00
dettlaff 1c3e2cc2e0 feat: update filds 2024-11-15 03:30:24 +04:00
dettlaff d171961ef9 fix: change name to username 2024-11-11 21:49:51 +04:00
dettlaff e16f538c30 fix: types UserDataUser 2024-11-11 21:47:31 +04:00
dettlaff 6fcb47348f fix: missing _send_query 2024-11-11 21:41:44 +04:00
dettlaff 9fdb5b06df fix: user types 2024-11-11 21:37:17 +04:00
dettlaff 0f92452ee8 fix: change return type 2024-11-11 21:09:14 +04:00
dettlaff 997b88d4c8 fix: remove double https 2024-11-11 20:50:52 +04:00
dettlaff a308b3afd7 fix: remove ssl check 2024-11-11 20:45:28 +04:00
dettlaff b1619097ff fix: change canidm url 2024-11-11 20:40:41 +04:00
dettlaff 239c47964c fix: add endpoint debug 2024-11-11 20:36:16 +04:00
dettlaff c056540578 fix: error exception 2024-11-11 20:07:34 +04:00
dettlaff b6a4758c9b feat: add check response error text 2024-11-11 13:04:35 +04:00
dettlaff a1f77918de test: commit will be removed 2024-11-11 12:41:30 +04:00
dettlaff d7bbb64034 feat: UserRepositoryError 2024-11-11 04:51:42 +04:00
dettlaff 06db9b2201 test: change ACTIVE_USERS_PROVIDER (this commit will be deleted) 2024-11-11 04:40:10 +04:00
dettlaff 4eb2678c14 fix: create user, add test token 2024-11-11 04:33:17 +04:00
dettlaff fbc0ae61fb feat: removed unnecessary functionality from the repository 2024-11-03 03:15:51 +04:00
dettlaff 516cb781dc feat: add canidm repo 2024-10-29 01:57:23 +04:00
dettlaff a144c91113 refactor: moved json user management to a separate repository 2024-10-26 22:22:31 +04:00
dettlaff 848befe3f1 feat: Use proper logging (#154)
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/154
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
Co-authored-by: dettlaff <dettlaff@riseup.net>
Co-committed-by: dettlaff <dettlaff@riseup.net>
2024-10-23 14:38:01 +03:00
dettlaff 03d751e591 feat: add caa record (#149)
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/149
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
Co-authored-by: dettlaff <dettlaff@riseup.net>
Co-committed-by: dettlaff <dettlaff@riseup.net>
2024-10-14 14:29:00 +03:00
dettlaff 11e020c0e1 fix: duplicate DNS records + add new test case 2024-10-04 14:27:40 +03:00
dettlaff 77eaa181ca feat: add _get_time_range 2024-10-02 15:35:05 +03:00
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
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 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 967e59271f chore(jobs): shorter typehints and import sorting 2024-05-27 21:30:51 +00:00
Houkime 3b0600efb6 feature(jobs): add subscription endpoint 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 8d099c9a22 refactoring(jobs): break out a function returning all jobs 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
Inex Code a742e66cc3 feat: Add "OTHER" as a server provider
We should allow manual SelfPrivacy installations on unsupported server providers. The ServerProvider enum is one of the gatekeepers that prevent this and we can change it easily as not much server-side logic rely on this.

The next step would be manual DNS management, but it would be much more involved than just adding the enum value.
2024-05-25 14:12:51 +03:00
Inex Code 4f1d44ce74 chore: Bump version to 3.2.1 2024-05-24 22:53:58 +03:00
Houkime 8e8e76a954 fix(backups): fix orphaned snapshots erroring out 2024-05-24 12:30:27 +00:00
Inex Code 5a100ec33a chore: Bump version to 3.2.0 2024-05-22 10:57:59 +03: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 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 b39558ea1f fix(backups): report error in the error field of the job 2024-03-18 17:00:55 +00:00
Houkime 6f38b2309f fix(huey): adapt to new VM test environment 2024-03-18 12:18:55 +00:00
Houkime baf7843349 test(huey): only import test task if it is a test 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 83592b7bf4 feature(huey): use RedisHuey 2024-03-18 12:18:55 +00:00
Houkime b2edfe784a refactor(service): add return typing to DNSrecord conversion and comments 2024-03-18 11:44:53 +00:00