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
Houkime
534d965cab
refactor(service): break out sync rebuilding
2024-03-18 11:32:02 +00:00
Houkime
f333e791e1
refactor(service): break out ServiceStatus and ServiceDNSRecord
2024-03-18 11:32:02 +00:00
Inex Code
bda21b7507
fix: Mark md5 as not used for security
2024-03-15 16:14:31 +04:00
Inex Code
1f1fcc223b
fix: division by zero
2024-03-07 23:29:37 +03:00
Inex Code
a543f6da2a
chore: Bump version to 3.1.0
2024-03-07 23:12:45 +03:00
Inex Code
0eff0ef735
fix: move_service task path
2024-03-06 18:43:55 +03:00
Houkime
fd43a6ccf1
doc(services): explain the Owned Path reason d'etre after trying to remove it
2024-03-06 18:40:05 +03:00
Houkime
eeef2891c9
fix(services): fix merge bug
2024-03-06 18:40:05 +03:00
Houkime
3f9d2b2481
refactor(services): remove too many imports and cleanup
2024-03-06 18:40:05 +03:00
Houkime
305e5cc2c3
refactor(services): introduce Bind class and test moving deeper
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
235c59b556
refactor(services): break out location construction when moving
2024-03-06 18:40:05 +03:00
Houkime
ddca1b0cde
refactor(services): fix type annotation
2024-03-06 18:40:05 +03:00
Houkime
c22802f693
fix(services): check for possible None progress when moving folders
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
d7ef2ed09a
refactor(services): make moving a part of generic service functionality
2024-03-06 18:39:27 +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
Houkime
28fdf8fb49
refactor(service_mover): decompose the giant move_service
2024-03-06 18:39:27 +03:00
Inex Code
f895f2a38b
refactor: Return last 10 log lines when system rebuild failed
2024-03-06 18:33:55 +03:00
Inex Code
c733cfeb9e
Merge remote-tracking branch 'origin/system-rebuild-tracking' into system-rebuild-tracking
2024-03-05 14:41:43 +03:00
Inex Code
71433da424
refactor: move systemd functions to utils
2024-03-05 11:55:52 +03:00
Houkime
1bed9d87ca
doc(services): explain the Owned Path reason d'etre after trying to remove it
2024-03-04 17:16:08 +00:00
Houkime
2c1c783b5e
fix(services): fix merge bug
2024-03-04 14:26:26 +00:00
Houkime
8402f66a33
refactor(services): remove too many imports and cleanup
2024-03-04 14:12:44 +00:00
Houkime
1599f601a2
refactor(services): introduce Bind class and test moving deeper
2024-03-04 14:12:44 +00:00
Houkime
0068272382
feature(backups): intermittent commit for binds, to be replaced
2024-03-04 14:12:43 +00:00
Houkime
18934a53e6
refactor(services): break out location construction when moving
2024-03-04 14:12:43 +00:00
Houkime
baaf3299ce
refactor(services): fix type annotation
2024-03-04 14:12:43 +00:00
Houkime
f059c83b57
fix(services): check for possible None progress when moving folders
2024-03-04 14:12:43 +00:00
Houkime
fb41c092f1
feature(services): check before moving task and before move itself
2024-03-04 14:12:37 +00:00
Houkime
c947922a5d
refactor(services): make moving a part of generic service functionality
2024-03-04 13:30:03 +00:00
Houkime
b22dfc0469
fix(services): a better error message
2024-03-04 13:30:03 +00:00
Houkime
e42da357fb
fix(services): report moving errors fully
2024-03-04 13:30:03 +00:00
Houkime
2863dd9763
refactor(service_mover): decompose the giant move_service
2024-03-04 13:30:03 +00:00
Inex Code
96f8aad146
Merge branch 'master' into system-rebuild-tracking
2024-03-04 10:54:43 +02:00
Inex Code
36d026a8ca
style: Formatting
2024-03-04 00:45:45 +03:00
Houkime
7ccf495958
refactor(backups): remove excessive format-strings
2024-03-01 13:59:43 +00:00
Houkime
f5d7666614
refactor(backups): remove excessive imports
2024-03-01 13:54:10 +00:00
Houkime
76f5b57c86
refactor(jobs): add explicit return statements
2024-03-01 12:44:08 +00:00
Houkime
bf33fff20d
fix(backups): finish the autobackup job
2024-03-01 12:44:08 +00:00
Houkime
742bb239e7
fix(backups): simplify autobackups to avoid deadlocks
2024-03-01 12:44:08 +00:00
Inex Code
5616dbe77a
style: rename ip6 addresses variable
2024-03-01 15:06:32 +03:00
Inex Code
bbec9d9d33
refactor: use ipaddress library for ip validation
2024-03-01 14:58:28 +03:00
Inex Code
a4327fa669
fix(dns): Ignore link-local IPv6 address
2024-03-01 03:21:31 +03:00
Inex Code
2443ae0144
chore: Remove version flavor
2024-02-26 22:51:31 +03:00
Inex Code
c63552241c
tests: Cover upgrade and rebuild task
2024-02-26 22:49:32 +03:00
Inex Code
d8666fa179
Merge commit '4757bedc4ec62d3577fd1f259abbe34ba6dce893' into system-rebuild-tracking
2024-02-26 18:27:54 +03:00
Inex Code
3965203d28
chore: Bump version to 3.0.1
2024-02-23 20:19:08 +03:00
Houkime
52f8e283be
fix(backups): fix wrong typing in autobackups
2024-02-23 16:45:59 +00:00
Houkime
4757bedc4e
test(backup): add tests for cache reloads
2024-02-13 14:12:41 +02:00
Houkime
bc0602bfcb
fix(backup): rework caching so that there are rarer api calls
2024-02-13 14:12:41 +02:00
Inex Code
25c691104f
fix: non-0 exit status of is-active
2024-02-12 18:58:27 +03:00
Inex Code
1a34558e23
chore: Shorten the output on status_text
2024-02-12 18:54:32 +03:00
Inex Code
c851c3d193
chore: more debugging outuput
2024-02-12 18:53:14 +03:00
Inex Code
ad069a2ad2
fix: wrong unit name again
2024-02-12 18:47:37 +03:00
Inex Code
b98c020f23
fix: wrong systemd unit used
2024-02-12 18:41:24 +03:00
Inex Code
94456af7d4
fix: debugging
2024-02-12 18:34:55 +03:00
Inex Code
ab1ca6e59c
fix: register huey task
2024-02-12 18:27:32 +03:00
Inex Code
56de00226a
chore: Testing env
2024-02-12 18:21:09 +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
591138c353
Merge pull request 'fix(backups): hopefully clearer errors on backup' ( #87 ) from backup-errorhandling into master
...
Reviewed-on: https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api/pulls/87
Reviewed-by: Inex Code <inex.code@selfprivacy.org>
2024-01-26 15:15:47 +02:00
Houkime
eaf29178fe
fix(backups): hopefully clearer errors on backup
2024-01-24 16:41:49 +00:00
Inex Code
23adf95898
style: Remove unused import
2024-01-24 19:31:56 +04:00
Houkime
e13ad71a93
feature(backups): remove all json logic
2024-01-24 14:36:44 +00:00
Houkime
7ec62a8f79
fix(backups): do not autobackup disabled services
2024-01-12 14:35:15 +00: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
2b21df9ad3
chore(version): bump version to 3.0, no Rest API
2024-01-08 13:14:50 +00:00
Houkime
8e21e6d378
feature(services): introduce 'modules' field in userdata and group services settings there
2024-01-08 13:12:27 +00:00
Houkime
8e551a8fe0
refactor(services): use generic code for enabling and disabling
2024-01-08 13:12:27 +00:00
Houkime
b8d02231cf
fix(services): handle the async nature of moving.
2024-01-08 13:12:27 +00:00
Houkime
3080f5a18b
feature(rest): remove rest
2024-01-08 13:12:27 +00:00
Houkime
02b10b5078
feature(auth): remove rest auth code
2024-01-08 13:12:27 +00:00
Houkime
3e1fbdd4aa
feature(services): remove rest services code
2024-01-08 13:12:27 +00:00
Houkime
41cd876f57
feature(users): remove rest users code
2024-01-08 13:12:27 +00:00
Houkime
43d9d47aed
feature(system): remove rest system code
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
e835173fea
fix(users): handle no admin case
2024-01-08 13:12:27 +00:00
Houkime
bcbe1ff50c
refactor(dkim): do not use popen
2024-01-08 13:12:27 +00:00
Houkime
2f25329c43
refactor(backup): remove a redundant constant
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
9f04729296
test(services, system): untie dkim tests from rest
2024-01-08 13:12:27 +00:00
Houkime
9d3fd45c2c
test(services): missing info on service enabled status returns False
2024-01-08 13:12:27 +00:00
Houkime
ffc60fc8b4
test(services): use actual json enabling and disabling
2024-01-08 13:12:27 +00:00
Houkime
368ab22fbb
fix(services): replace stray gitea reference with a generic identifier in deiable/enable
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
0078ed0c3a
refactor(services): delete xxenablexx functions from jitsi
2024-01-08 13:12:27 +00:00
Houkime
c7be9c7427
refactor(services): delete is_enabled() from gitea
2024-01-08 13:12:27 +00:00
Houkime
6f035dc0db
refactor(services): add default implementation to get_enabled
2024-01-08 13:12:27 +00:00
Houkime
708c5cbc98
refactor(services): delete enable/disable from gitea
2024-01-08 13:12:27 +00:00
Houkime
e1083f3221
refactor(services): make a default implementation of enable/disable
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
9a1d82ec12
test(service): somewhat support moves for dummy service
2024-01-08 13:12:27 +00:00
Houkime
a12126f685
feature(service): error handling on moves
2024-01-08 13:12:27 +00:00
Houkime
9d7857cb3f
fix(blockdevices): handle nested lsblk
2024-01-08 13:12:27 +00:00
Houkime
9a3800ac7b
test(service): moving errors
2024-01-08 13:12:27 +00:00
Houkime
1e77129f4f
test(service): restart
2024-01-08 13:12:27 +00:00
Houkime
b9f3aa49bd
test(service): enable-disable return values
2024-01-08 13:12:27 +00:00
Houkime
92612906ef
test(service): enabled status get
2024-01-08 13:12:27 +00:00
Houkime
6e9d86e844
test(backup): break out dummy service fixture
2024-01-08 13:12:27 +00:00
Houkime
85c90105ea
test(backup): ensure we use correct repo folder
2024-01-08 13:12:27 +00:00
Houkime
d4b2ca14bb
feature(backups): a task to autorefresh cache. Redis expiry abolished
2024-01-08 13:12:27 +00:00
Inex Code
cbd3cafe0a
chore: Bump version
2023-12-25 10:42:18 +03: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
4339c00058
test(backups): test the trimming task
2023-11-17 15:53:57 +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
25378273eb
refactor(backups): also batch the forget_all_snapshots command
2023-11-17 14:48:41 +00:00
Houkime
615e962965
feature(backups): batched removals of snapshots
2023-11-17 14:36:11 +00:00
Houkime
96bff873a9
test(backups): use backup fixture (weird, i surely used it before)
2023-11-17 14:33:03 +00:00