Commit graph

1086 commits

Author SHA1 Message Date
dettlaff 241aa4b0d6 fix: subprocess.run 2024-11-27 17:01:06 +04:00
dettlaff 96016650c1 feat: mv temporary_env_var to utils 2024-11-27 16:52:39 +04:00
dettlaff 8eecf1f16b fix: add kanidm login -D idm_admin 2024-11-27 16:52:05 +04:00
Inex Code e2a0e4fc3d
fix: Fix user-facing SP API metadata 2024-11-27 14:08:26 +03:00
Inex Code d91d8d2fd9
chore: Bump version to 3.4.0 2024-11-27 13:35:33 +03:00
nhnn 5aa1a378ef fix: free unused journal.Reader instances (#158)
I'm a bit dumb and forgot to add code that frees journal.Reader instances from memory.

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/158
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
Co-authored-by: nhnn <nhnn@noreply.git.selfprivacy.org>
Co-committed-by: nhnn <nhnn@noreply.git.selfprivacy.org>
2024-11-27 12:32:01 +02:00
dettlaff 5ded1f15a2 fix: delete decode 2024-11-25 19:15:14 +04:00
dettlaff c608b136cc feat: add more debbug 2024-11-25 15:24:05 +04:00
dettlaff 1a8b0a51eb fix: add string parsing 2024-11-22 23:34:07 +04:00
dettlaff 798f1631af fix: wrong kanidm command 2024-11-22 23:27:38 +04:00
dettlaff 7ade8f8d01 notfix: remove try 2024-11-22 23:18:33 +04:00
dettlaff 13dbfd7c02 fix: fox 2024-11-22 23:15:06 +04:00
dettlaff fa17f18e0e fix: add some debbug 2024-11-22 23:10:29 +04:00
dettlaff 833edab852 fix: re 2024-11-22 22:41:50 +04:00
dettlaff 8495c632d5 fix: re search 2024-11-21 22:05:07 +04:00
dettlaff b9ee8fad91 fix: add more debug for subprocess.check_output 2024-11-21 21:20:29 +04:00
dettlaff 74b3046e5d fix: replace json by re 2024-11-21 21:01:29 +04:00
dettlaff ecbe52e22c fix: reset_and_save_idm_admin_password remove jq from subprocess.check_output 2024-11-21 20:45:43 +04:00
dettlaff 7b81c47cee fix: add more debug 2024-11-21 20:00:14 +04:00
dettlaff d40cde9281 fix: use shell=True for testing 2024-11-21 19:42:02 +04:00
dettlaff cf347a2dc3 fix: from kanidm to kanidmD 2024-11-20 21:30:56 +04:00
dettlaff 7e349536d6 fix: typo 2024-11-20 17:15:10 +04:00
dettlaff 31cb627db6 fix: change old class name 2024-11-20 17:07:42 +04:00
dettlaff 9ac4ddc63f feat: add kanidm token manager 2024-11-19 21:50:43 +04:00
dettlaff 2dc34d6d0e refactor: mv hash_password to repository 2024-11-15 18:30:51 +04:00
dettlaff 34b603b76c fix: None password, fix fields 2024-11-15 04:53:20 +04:00
dettlaff 43c786dd79 fix: from typing import, in place of import typing 2024-11-15 04:35:07 +04:00
dettlaff 36ddf2b111 feat: update UserMutationInput 2024-11-15 04:19:24 +04:00
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