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
Houkime
12b2153b7c
test(service): do not call bash needlessly (it screwed up with fp)
2024-03-18 11:32:02 +00:00
Houkime
8c8c9a51cc
refactor(service): visually break down the move function a bit
2024-03-18 11:32:02 +00:00
Houkime
fed5735b24
refactor(service): break out DNS records into a separate resolver field
2024-03-18 11:32:02 +00:00
Houkime
b257d7f39e
fix(service): FAILING TESTS, rebuild when moving
2024-03-18 11:32:02 +00:00
Houkime
70a0287794
refactor(service): move finishing the job out of moving function
2024-03-18 11:32:02 +00:00