Commit Graph

87 Commits

Author SHA1 Message Date
Girish Ramakrishnan 25d20266b8 diskusage: emit other entry 2025-07-18 13:02:53 +02:00
Girish Ramakrishnan 5e1c32b606 shell: rename signal to abortSignal
this prevents accidental typos with child_process signal handling
2025-07-17 09:50:43 +02:00
Girish Ramakrishnan 8bf8c278f0 system: add tests for fs usage route 2025-07-17 01:42:28 +02:00
Girish Ramakrishnan 5539f74bea system: add disk usage task 2025-07-17 00:09:50 +02:00
Girish Ramakrishnan 989d843fcb shell: make shell.sudo promise based and waitable 2025-07-16 22:04:24 +02:00
Girish Ramakrishnan 4b79881472 system: route to get filesystem 2025-07-16 17:20:28 +02:00
Girish Ramakrishnan 85eb88a4a6 system: show the kernel version 2025-07-09 18:32:28 +02:00
Girish Ramakrishnan d9c104613c tasks: rework the startTask API
it is now async. change was required to reset the pending flag
2025-06-17 19:32:46 +02:00
Girish Ramakrishnan 46dbd016f4 typo 2025-05-07 13:35:09 +02:00
Girish Ramakrishnan 0cf0c7a27c notifications: add low disk space notification 2025-05-07 13:19:20 +02:00
Girish Ramakrishnan 558620cdfa deprecate ubuntu 20.04 support 2025-02-26 16:38:04 +01:00
Girish Ramakrishnan 8fd9324048 Fix crash 2024-12-11 19:17:44 +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 6141db8f34 Update ubuntu check to bionic 2024-12-11 15:03:59 +01:00
Girish Ramakrishnan 2a6c52800b system: filesystems in exclude are excluded from content analysis
some disks can be very slow and noisy (at home). this allows users to simply skip them.
also, applicable for large storage boxes
2024-11-30 13:08:21 +01:00
Girish Ramakrishnan 320ddfda2e compute docker df only once 2024-11-30 12:44:15 +01:00
Girish Ramakrishnan 40febc8ef2 system: rename DISK_TYPES to FS_TYPES 2024-11-30 12:04:07 +01:00
Girish Ramakrishnan 56f6519b3e rename disks to filesystems 2024-11-30 12:04:04 +01:00
Girish Ramakrishnan f219abf082 system: indent cache file 2024-11-30 11:11:54 +01:00
Girish Ramakrishnan 742a04d149 system: expose getDisks only for tests 2024-11-30 10:42:06 +01:00
Girish Ramakrishnan 6c3ca9c364 shell: rework code to use shell.spawn
spawn gives out streams and we have more control over the stdout/stderr
buffers. otherwise, we have to provide a max buffer capture size to exec
2024-10-15 12:13:46 +02:00
Girish Ramakrishnan a9e1d7641d shell: make require take a tag 2024-10-14 21:08:32 +02:00
Girish Ramakrishnan ea2479beda system: also get rota information 2024-09-30 14:09:15 +02:00
Girish Ramakrishnan 731295f708 system: simplify logic 2024-07-25 17:50:50 +02:00
Girish Ramakrishnan 60c4dd3875 sudo: add explicit captureStdout flag 2024-07-08 09:58:25 +02:00
Girish Ramakrishnan f386c326e2 apptask: only move app uses localstorage addon 2024-06-06 16:26:02 +02:00
Girish Ramakrishnan bbf402368f lint: const 2024-05-17 13:18:53 +02:00
Girish Ramakrishnan be2775e12e memoryLimit: redefine to not include swap
Currently, we allocate 50% as RAM and 50% as swap. The manifest is
usually quite conservative on memory values. This means that we set
up a system where the app is applying memory pressure almost immediately.
This then swaps things randomly and increases cpu usage (kswapd shows
up in the profile).

To rethink the whole situation: we should not cap apps with a swap limit at all.
The memory hard limit is what is important. By redefining memoryLimit , we are
doubling every container's memory and it's good that we over allocate this.
2024-04-09 18:59:40 +02:00
Girish Ramakrishnan b66e77a2d8 Fix crash when system has no swap 2024-03-22 10:39:35 +01:00
Girish Ramakrishnan 13e62bc738 logs: use stream.destroy() instead of custom hooks 2024-02-24 17:35:37 +01:00
Girish Ramakrishnan 0e83658aa3 make sudo commands terminate properly
sudo forks and execs the program. sudo also hangs around as the parent of the program waiting on the program and also forwarding signals.
sudo does not forward signals when the originator comes from the same process group. recently, there has been a change where it will
forward signals as long as sudo or the command is not the group leader (https://www.sudo.ws/repos/sudo/rev/d1bf60eac57f)
for us, this means that calling kill from this node process doesn't work since it's in the same group (and ubuntu 22 doesn't have the above fix).
the workaround is to invoke a kill from a different process group and this is done by starting detached
another idea is: use "ps --pid cp.pid -o pid=" to get the pid of the command and then send it signal directly

see also: https://dxuuu.xyz/sudo.html
2024-02-24 16:19:07 +01:00
Girish Ramakrishnan a6f078330f shell: no need to promise scoping 2024-02-21 19:40:27 +01:00
Girish Ramakrishnan 14c9260ab0 shell: exec encoding is utf8 by default and no shell
explicitly mark calls that require the shell
2024-02-21 17:47:25 +01:00
Girish Ramakrishnan 9b94cf18d0 convert more execSync to async 2024-02-21 11:00:12 +01:00
Girish Ramakrishnan b51071155a Use the async shell exec 2024-02-20 22:57:36 +01:00
Girish Ramakrishnan 176baa075f Fix some typos 2024-01-30 11:53:54 +01:00
Johannes Zellner 2d1e0ec890 Ensure we never set more memory than swap for containers 2024-01-24 15:54:57 +01:00
Girish Ramakrishnan 44be454a1e system: return activation time if we have it 2023-12-04 01:41:56 +01:00
Girish Ramakrishnan cbf1b47332 system: merge info and dmi routes
also return uptimeSecs instead of abstract date
2023-12-04 01:11:26 +01:00
Girish Ramakrishnan eb64bd296a system: return uptime and reboot required 2023-12-04 00:46:12 +01:00
Girish Ramakrishnan 72083f59cd system: dmi information 2023-12-04 00:31:18 +01:00
Girish Ramakrishnan 8a20b603f5 system: cpu route 2023-12-04 00:23:25 +01:00
Girish Ramakrishnan 470417fcbe more test fixing 2023-12-03 21:18:16 +01:00
Johannes Zellner 1f8c55f536 Add docker-volume disk usage info 2023-10-17 16:51:57 +02:00
Girish Ramakrishnan c62091b077 system: getUbuntuVersion 2023-08-11 21:47:49 +05:30
Girish Ramakrishnan 1cdd528b45 separate the provision status and cloudron status 2023-08-10 22:29:47 +05:30
Johannes Zellner 5ef8d8d3b0 Add uuid to block device listing 2023-08-08 12:34:19 +02:00
Girish Ramakrishnan 2cdbf4d2c5 move server routes into /system 2023-08-04 13:42:21 +05:30
Girish Ramakrishnan e73b75e4b5 settings: move backup settings 2023-08-04 11:54:12 +05:30