Commit Graph

9545 Commits

Author SHA1 Message Date
Girish Ramakrishnan e7fb444bb3 backuptask: save backupinfo in one place 2025-08-15 14:33:31 +05:30
Girish Ramakrishnan 08c2e989fa syncer: fix test 2025-08-14 16:16:58 +05:30
Girish Ramakrishnan 942e595444 Fix profile test 2025-08-14 16:02:54 +05:30
Girish Ramakrishnan f2225ff6b6 fs.rmdirSync { recursive: true } is deprecated 2025-08-14 13:43:41 +05:30
Girish Ramakrishnan 12e073e8cf use node: prefix for requires
mostly because code is being autogenerated by all the AI stuff using
this prefix. it's also used in the stack trace.
2025-08-14 12:55:35 +05:30
Girish Ramakrishnan 2607ad2e24 rsync: add fileCount to stats and fix integrity collection 2025-08-14 10:05:13 +05:30
Girish Ramakrishnan d7b5d1f947 rename .checksum to .backupinfo 2025-08-13 21:29:41 +05:30
Girish Ramakrishnan 39cad02e0d backup: add a dummy removePrivateFields 2025-08-13 19:56:21 +05:30
Girish Ramakrishnan 0c79dcdf1b tgz: add fileCount to integrity 2025-08-13 19:56:21 +05:30
Girish Ramakrishnan cb1bc6cfdf tgz: add fileCount to stats 2025-08-13 19:56:21 +05:30
Girish Ramakrishnan b5c9f034ca Use hash stream instead of crypto.createHash
crypto.createHash is a write stream but not a PassThrough stream!
2025-08-13 18:48:22 +05:30
Girish Ramakrishnan 0911de205f stringify the Map correctly 2025-08-13 17:21:46 +05:30
Girish Ramakrishnan 59b428f24b decrease the JSON indent 2025-08-13 15:55:00 +05:30
Girish Ramakrishnan 54e8395789 add missing require 2025-08-13 15:25:23 +05:30
Girish Ramakrishnan 2fabfbe8f6 rsync: add integrity information 2025-08-13 14:43:05 +05:30
Girish Ramakrishnan 28ac9e153e rsync: make processSyncerChange a local function 2025-08-13 09:09:48 +05:30
Girish Ramakrishnan dadbf1de90 tgz: save integrity information as a Map
just for consistency because rsync will use a Map
2025-08-13 08:39:03 +05:30
Girish Ramakrishnan 2e16dd983f backups: stash the stats to the backups table 2025-08-12 20:21:54 +05:30
Girish Ramakrishnan 847f57855c Fix test 2025-08-12 20:21:54 +05:30
Girish Ramakrishnan 2d412c019c Use # for private fields 2025-08-12 19:24:03 +05:30
Girish Ramakrishnan 47fc9561ab backups (tgz): save integrity information
we generate a signing key pair for each target. Initially, I had this
as global. We needed a route to return the public key and putting it
under backup target seemed natural. Since we delete the backups when
we delete a target, we lose all the signing hashes. So, it's fine to lose
the key pair on target delete.
2025-08-12 19:00:29 +05:30
Johannes Zellner f179d92c9c Sync email template button colors with pankow colors 2025-08-10 15:30:01 +02:00
Johannes Zellner 3ea9192f79 Validate user account input during account setup 2025-08-08 10:07:14 +02:00
Johannes Zellner 6a5cd698a4 Remove unused requires 2025-08-08 09:58:55 +02:00
Johannes Zellner 8143ef1057 Fix autologin after account creation 2025-08-07 17:16:46 +02:00
Girish Ramakrishnan e390a56f05 users: ensure all user objects have groupIds
this prevents ldap/sftp code from detecting user groups
and thus fails to detect membership of a user via operator groups.
2025-08-07 12:32:21 +02:00
Johannes Zellner 063c272aea Add language for the setupaccount rendering 2025-08-07 12:15:26 +02:00
Johannes Zellner 98ea5a7b70 Setup backup encryption in extra step 2025-08-06 13:53:06 +02:00
Girish Ramakrishnan f8d74bbb6d backuptarget: add default at provisioning time (again)
we clear the db in the tests. the tests run the setup again and again.
so, it's easier to add default values in provision time instead of
migration.
2025-08-06 11:11:11 +02:00
Girish Ramakrishnan c184f1e42e mailer: handle error at the caller instead
the send test email logic breaks if we disable throwing error in send
2025-08-06 10:18:09 +02:00
Girish Ramakrishnan 5c7d19ce13 mailer: set timeouts 2025-08-06 10:00:56 +02:00
Girish Ramakrishnan 3d4b3edc3a mailer: log error and do not throw
this suppresses eventlog exceptions when mail is down or the
mail is rejected because outbound is disabled.

in apphealthmonitor, we hit a case where eventlog entries are
continuously added since mailer was not sending emails. the health
state of the app is never switched because mail sending failed.
2025-08-06 09:59:40 +02:00
Girish Ramakrishnan a7ffc8a172 mailer: node-mailer supports async natively 2025-08-06 08:26:57 +02:00
Girish Ramakrishnan 618d2b993a apphealth: print healthcheck exceptions 2025-08-06 08:26:08 +02:00
Girish Ramakrishnan 70cf212178 promise-retry: only print stack on last attempt 2025-08-05 14:38:12 +02:00
Girish Ramakrishnan 5992658164 restore: fix restore 2025-08-05 14:38:12 +02:00
Girish Ramakrishnan c4ee21bdb0 Revert "provision: add default backup target after setup"
This reverts commit 1a0d1f7d79.

20171205124434-settings-default-backupConfig.js already adds the default
2025-08-05 13:41:26 +02:00
Girish Ramakrishnan 1d1197e18a restore: use PENDING_RESTORE instead of PENDING_IMPORT 2025-08-05 12:46:50 +02:00
Johannes Zellner 4fa65099f9 Add multipleBackupTargets and encryptedBackups to features 2025-08-05 12:03:32 +02:00
Girish Ramakrishnan 2a90a0a278 backup target: add password hint and encryption route 2025-08-05 11:26:02 +02:00
Girish Ramakrishnan 36ab052dda restore: import with the latest backup on cloudron restore
in previous versions, the single backup target was replaced during
restore. we cannot do this anymore with multiple backup targets.

during cloudron restore, a pseudo target is created and all the apps
are restored using this backup target.
2025-08-04 23:24:06 +02:00
Girish Ramakrishnan fddbe6a574 Fixup tests 2025-08-04 23:11:50 +02:00
Johannes Zellner a887be432b Create correct mount objects for mountpoint validation 2025-08-04 15:25:27 +02:00
Johannes Zellner 705311f01f Fix typo 2025-08-04 15:17:27 +02:00
Johannes Zellner 1016d41d7a Rename backup label to name and separate backup listing into new view 2025-08-04 15:00:24 +02:00
Johannes Zellner 0ff760fe4a Ensure we pass mount object also from volumes code 2025-08-04 14:40:35 +02:00
Johannes Zellner 90c82ab1e7 make sure we only use mount objects with the mounts api 2025-08-04 14:40:35 +02:00
Girish Ramakrishnan 1a0d1f7d79 provision: add default backup target after setup 2025-08-04 14:33:12 +02:00
Girish Ramakrishnan 132132307f backuptarget: rename label to name 2025-08-04 14:28:37 +02:00
Johannes Zellner cf1e1aac77 Fixup some refactoring issues in mounting ext4 2025-08-04 13:32:12 +02:00