Commit Graph

840 Commits

Author SHA1 Message Date
Girish Ramakrishnan
0fa281083e apps: backup is not a state anymore
this is launched as a separate task
2025-07-18 14:14:54 +02:00
Girish Ramakrishnan
989d843fcb shell: make shell.sudo promise based and waitable 2025-07-16 22:04:24 +02:00
Girish Ramakrishnan
313256adff use @cloudron/manifest-format 2025-07-10 11:17:04 +02:00
Girish Ramakrishnan
6f4a3701e7 apps: clear updateInfo on successful submit 2025-06-26 17:08:14 +02:00
Girish Ramakrishnan
19c9d7d59d updateInfo: move updateInfo into apps table
this has many advantages:
* easy to deliver the updateInfo via the apps object
* after updating, the task can clear it
* when apps are deleted, the info is automatically gone

otherwise, it's a mess of deps between apps/updater/apptask/rest routes

box update info is still in a file
2025-06-26 15:47:15 +02:00
Girish Ramakrishnan
abd640d36b merge updatechecker into updater 2025-06-26 14:00:30 +02:00
Girish Ramakrishnan
84297ff473 updater: move app update logic and attach the manual update reason 2025-06-20 22:08:02 +02:00
Girish Ramakrishnan
d7fdfd6d71 attach app updateInfo to app object 2025-06-20 18:51:12 +02:00
Girish Ramakrishnan
c44926c2cd redis: disable by default when optional
this simply increases complexity of local setups since redis is
only used as a cache and not for persistent data
2025-06-14 10:40:48 +02:00
Girish Ramakrishnan
811cc9c028 turn: reduce the exposed ports to 100 2025-06-04 13:23:47 +02:00
Girish Ramakrishnan
c0f0084e56 metrics: add stream api for system info 2025-05-21 18:09:02 +02:00
Johannes Zellner
b8dcfcf900 Remove app purchase/unpurchase 2025-05-13 11:46:13 +02:00
Girish Ramakrishnan
3d31f73453 add missing await 2025-02-17 18:38:20 +01:00
Girish Ramakrishnan
bd5ecf358a tests: tests for underscore 2025-02-13 14:51:51 +01:00
Girish Ramakrishnan
dd5e4adc73 replace underscore with our own
we only need like 5 simple functions
2025-02-13 14:14:34 +01:00
Girish Ramakrishnan
7e1fbb3017 groups: add appIds field to groups object 2025-02-12 13:07:41 +01:00
Girish Ramakrishnan
5c605be45c isBase64 check is redundant
As long as it is a string and even if you throw in some garbage, it returns
an empty buffer.

> b = Buffer.from('!@#%%^@', 'base64')
<Buffer >
2025-02-10 14:58:36 +01:00
Girish Ramakrishnan
230599417e restore: fix crash with invalid backup id 2025-01-20 13:51:55 +01:00
Girish Ramakrishnan
cd8be9ffb5 archive: appConfig is null for pre-8.2 backups
use backups.manifest when possible instead
2024-12-19 15:21:33 +01:00
Girish Ramakrishnan
68431ae357 rename functions to avoid mistakes
the remove fields are not clear enough. we sent notes by mistake to
normal users. changing the name and passing role as the argument
will avoid these errors
2024-12-19 12:24:08 +01:00
Girish Ramakrishnan
ba6ba44955 use enum for access levels 2024-12-19 12:24:08 +01:00
Girish Ramakrishnan
3b101a2086 remove spurious comment 2024-12-19 12:24:08 +01:00
Girish Ramakrishnan
cbd32e7372 apps: non-admins cannot see notes, checklist and enableBackup 2024-12-19 11:35:20 +01:00
Girish Ramakrishnan
449dd4730f archive: return the id in archive route 2024-12-17 14:33:36 +01:00
Girish Ramakrishnan
746e694d7e notifications: rename alert to pin and unpin 2024-12-11 17:31:32 +01:00
Girish Ramakrishnan
ead419003b notifications: rename ALERT_ to TYPE_ 2024-12-11 15:29:20 +01:00
Girish Ramakrishnan
65f507bc75 clone: read custom icon from downloaded backup
the backups table does not have icon to save space. only the
archives table has it for the moment.
2024-12-10 22:47:21 +01:00
Girish Ramakrishnan
05d6484d27 clone: label should be from dolly 2024-12-10 21:07:59 +01:00
Girish Ramakrishnan
41bc08a07e backup: move appConfig to backups table
this is useful for clone also to copy notes, operators, checklist
of the time when the backup was made (as opposed to current)

at this point, it's not clear why we need a archives table. it's
an optimization to not have to store icon for every backup.
2024-12-10 21:04:37 +01:00
Girish Ramakrishnan
41b302b0b9 apps: unarchive can call add() on it's own
all this because the sso flag is not allowed with optionalSso :/
2024-12-10 19:09:29 +01:00
Girish Ramakrishnan
fbe334e7d7 install/unarchive: add support for various fields 2024-12-10 18:39:16 +01:00
Girish Ramakrishnan
9a155491cb move unarchive to apps model 2024-12-10 17:19:12 +01:00
Girish Ramakrishnan
ab8ec07f2f clone/unarchive: handle notes and checklist 2024-12-10 17:16:06 +01:00
Girish Ramakrishnan
3e1c886b17 clone: copy devices 2024-12-10 16:49:25 +01:00
Girish Ramakrishnan
21c3d16db5 archive: proxy app cannot be archived 2024-12-10 16:49:25 +01:00
Girish Ramakrishnan
f973536f7f archives: add eventlog 2024-12-10 11:10:35 +01:00
Girish Ramakrishnan
490840b71d archives: use separate table
Cleaner to separate things from the backups table.

* icon, appConfig, appStoreIcon etc are only valid for archives
* older version cloudron does not have appConfig in backups table (so it
  cannot be an archive entry)
2024-12-10 10:36:44 +01:00
Girish Ramakrishnan
2ad93c114e archive: add appConfig, icon and appStoreIcon 2024-12-09 23:25:31 +01:00
Girish Ramakrishnan
9200e6fc63 add archives api 2024-12-09 22:39:28 +01:00
Girish Ramakrishnan
710bd270d7 apps: add archive action 2024-12-09 18:51:49 +01:00
Johannes Zellner
58af890abe Do not crash on assert if backup task failed 2024-12-09 13:09:51 +01:00
Johannes Zellner
146afce934 Improve devices error handling 2024-12-06 13:35:52 +01:00
Johannes Zellner
fbed850acc Also validate devices in the setter route 2024-12-05 15:16:06 +01:00
Johannes Zellner
8493022f75 Allow apps to specify custom devices 2024-12-05 14:21:07 +01:00
Girish Ramakrishnan
df5ba25010 shell: add explicit bash() function 2024-10-16 10:40:17 +02:00
Girish Ramakrishnan
a9e1d7641d shell: make require take a tag 2024-10-14 21:08:32 +02:00
Girish Ramakrishnan
8a640c8219 better app autoupdate logs 2024-08-10 11:04:17 +02:00
Girish Ramakrishnan
9399040cd3 Fix log recursion
shell.sudo logs output to stdout/stderr intentionally. It is not meant
for scripts that generate much output (basically scripts/* files).

core of the issue is that none of the log commands require to use sudo.
they can just use normal tail. only app logs requires sudo because of the
logPaths directive in the manifest.
2024-07-25 17:48:58 +02:00
Girish Ramakrishnan
7ebf5ca16a Bring back upload route to keep e2e happy
let's maybe remove it in next release
2024-07-23 08:28:44 +02:00
Johannes Zellner
185c16c3e2 remove apps upload api in favor of sftp container api 2024-07-22 16:20:15 +02:00