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