Commit graph

130 commits

Author SHA1 Message Date
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
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 fff8a49992 refactoring(jobs): break out a function returning all jobs 2024-07-04 17:19:25 +03: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
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 b2edfe784a refactor(service): add return typing to DNSrecord conversion and comments 2024-03-18 11:44:53 +00:00
Houkime fed5735b24 refactor(service): break out DNS records into a separate resolver field 2024-03-18 11:32:02 +00:00
Houkime 3f9d2b2481 refactor(services): remove too many imports and cleanup 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 7fd09982a4 fix(services): a better error message 2024-03-06 18:39:27 +03:00
Houkime d34db3d661 fix(services): report moving errors fully 2024-03-06 18:39:27 +03:00
Inex Code 96f8aad146 Merge branch 'master' into system-rebuild-tracking 2024-03-04 10:54:43 +02:00
Inex Code a4327fa669 fix(dns): Ignore link-local IPv6 address 2024-03-01 03:21:31 +03:00
Inex Code 2019da1e10 feat: Track the status of the nixos rebuild systemd unit 2024-02-12 18:17:18 +03:00
Inex Code a0eb5d572f fix(graphql): Typing of the deprecated move_service function 2024-01-10 15:05:10 +02:00
Inex Code b6f436d8b3 refactor: Adapt API to the NixOS configuration changes 2024-01-10 15:05:10 +02:00
Houkime b8d02231cf fix(services): handle the async nature of moving. 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 2e775dad90 fix(users): handle no admin name defined when adding a user 2024-01-08 13:12:27 +00:00
Houkime 1b520a8093 feature(ssh): change ssh settings from graphql 2024-01-08 13:12:27 +00:00
Houkime f5999516fa feature(services): better error reporting in disable and enable service 2024-01-08 13:12:27 +00:00
Houkime 267cdd391b fix(backup): do not store maybe unpicklable service on the queue 2024-01-08 13:12:27 +00:00
Houkime a12126f685 feature(service): error handling on moves 2024-01-08 13:12:27 +00:00
Inex Code 6d09c7aa9b feat: Provide display names in DNS records 2023-11-24 13:57:52 +03:00
Houkime 993b58d52d beauty(backup): remove stray comments and imports, format 2023-11-20 11:29:42 +00:00
Houkime f1a452009a refactor(backups): only async snapshot trimming 2023-11-17 15:39:21 +00:00
Houkime 5ac93c30ae refactor(backups): async quota setting 2023-11-17 15:22:21 +00:00
Houkime 96bff873a9 test(backups): use backup fixture (weird, i surely used it before) 2023-11-17 14:33:03 +00:00
Houkime dd6f37a17d feature(auth): tz_aware recovery 2023-11-10 17:10:01 +00:00
Inex Code cebb71ff4a feat(ssh): Add support for ecdsa keys 2023-10-03 16:51:06 +03:00
Inex Code 8b840d4c2c fix(backups): expose snapshot reason and set the default value 2023-09-09 09:52:20 +03:00
Inex Code dedd6a9cc9 refactor(backups): use restic-like rotation policy 2023-09-09 03:26:41 +03:00
Inex Code ad9384c850 fix(graphql): backup quotas field typing 2023-08-30 12:03:19 +03:00
Houkime 9fdc536f9f BROKEN(backups): hooking up quotas to API fails. AutobackupQuotas needs to be an input type, but if input type, it fails because it needs to be an Output type, which is not documented 2023-08-28 18:24:29 +00:00
Houkime 9207f5385c feature(backups): actual finegrained quotas 2023-08-28 17:02:45 +00:00
Houkime 027a37bb47 feature(backup): remember the reason for making a snapshot 2023-08-21 11:11:56 +00:00
Inex Code ff70a3588e chore: bump version 2023-08-04 12:57:31 +03:00
Inex Code e6189e4e73 Merge branch 'master' into backups-forget 2023-08-04 12:46:08 +03:00
Houkime bba837530a feature(backups): expose forget to API 2023-07-28 10:40:40 +00:00
Inex Code 641ab26069 fix(storage): fix root device detection and ignore iso9660 2023-07-28 03:14:50 +03:00
Inex Code 4b575b6138 fix(graphql): duplicate imports 2023-07-20 18:25:32 +03:00
Inex Code 0245d629fd refactor(backups): linting 2023-07-20 18:24:26 +03:00