Houkime
5e07a9eaeb
feature(backup): error handling for the full restore endpoint
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
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
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
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
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
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
dettlaff
1b91168d06
style: fix imports
2024-06-27 17:43:13 +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
8d099c9a22
refactoring(jobs): break out a function returning all jobs
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
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
Houkime
1cefaefa3b
feature(backups): expose restore strategies to the API
2023-07-07 13:24:05 +00:00
Houkime
c74b3df32c
feature(backups): restore strategies enum
2023-07-07 10:50:59 +00:00
Inex Code
64e7afe53e
feat(backups): Add backup descriptions for UI
2023-06-29 14:27:08 +03:00
Inex Code
15ce344bc8
feat(backups): expose if the service can be backed up
2023-06-29 13:45:00 +03:00
Inex Code
11184a55e8
feat(jobs): return type_id of the job in graphql api
2023-06-28 15:56:30 +03:00
Houkime
bae81b2f69
refactor(backups): rename force_snapshot_reload to force_snapshot_cache_reload
2023-06-26 19:20:49 +00:00
Inex Code
1664f857ea
fix(backups): Providers were not initialized corretly
2023-06-23 14:36:16 +03:00
Inex Code
e7e0fdc4a1
refactor(backups): fix typing errors
2023-06-23 12:40:10 +03:00
Inex Code
c6919293b6
refactor(api): Group mutations
...
I've learned that there is no problem in grouping mutations like we do with queries.
This is a big mistake from my side, now we have legacy not so conveniently placed endpoints.
I've grouped all mutations, left the copies of old ones flattened in the root for backwards compatibility.
We will migrate to mutation groups on client side, and backups now only use grouped mutations.
Tests are updated.
2023-06-21 06:46:56 +03:00
Houkime
25f3115c05
test(backups): setting autobackup period
2023-06-19 13:28:02 +00:00
Houkime
47aee3c1f1
fix(backups): fix output API return types for configuration
2023-06-16 14:39:00 +00:00
Houkime
8e1e37c766
test(backups): preliminary test of repo reset
2023-06-16 14:33:48 +00:00
Houkime
33c60f971d
test(backups): test reinitting repository
2023-06-16 13:43:41 +00:00
Houkime
8554879dc2
Merge remote-tracking branch 'upstream/restic-rewrite-api' into restic-rewrite
2023-06-14 10:27:50 +00:00
Houkime
d9bde6930b
fix(backups): register queries
2023-06-14 10:16:53 +00:00
Houkime
865e304f42
test(backups): test backup API - backing up
2023-06-14 10:16:31 +00:00
Inex Code
d356fad534
fix(backups): Handle orphaned snapshots
2023-06-14 02:52:10 +03:00
Inex Code
f4df1f6a62
fix(backups): return type of encryption key
2023-06-14 01:40:53 +03:00
Inex Code
0ef6569d97
fix(backups): try to actually get backup configuration
2023-06-14 00:43:01 +03:00