Sunil Mohan Adapa 213d0330fd
actions: Call to a privileged server if it is available
- Instead of running the command using sudo. If the server is not reachable, run
the privileged command using sudo.

Tests:

- Typical privileged calls are made to server as evidenced by the network emoji
  icon in the log.

- Some actions such as creating gitweb repository or downloading a backup
  archive happen via sudo instead of privileged daemon.

- When a call is made to privileged daemon the log message is show just like a
  sudo call.

- If the daemon is not running and can't be started, the calls are made to sudo.

- If the daemon is rejects connections, then calls are automatically made to
  sudo.

- When cloning a gitweb repository, the operation is immediately returned and
  task runs in background. Other tasks as waited upon until they are finished.
  Introducing a sleep in privileged method leads to increased page load time.

- When server sends non-JSON response, a decode error is printed and exception
  is raised.

- When a typical privileged call is made, the return value as expected.

- When a typical privileged call raises exception, a nice HTML exception is
  shown in the UI. stdout/stderr outputs are not shown. Error is also logged on
  the console as expected but without stdout/stderr.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
2025-08-16 22:41:52 +05:30
..
2025-05-05 20:31:43 -04:00
2025-08-16 22:39:18 +05:30