Commit Graph

  • e944a33d8f feat(uninstall): honor --unattended to skip the confirm prompt librelad 2026-05-24 20:43:19 +01:00
  • 8712be2631 Merge claude/2 librelad 2026-05-24 20:20:21 +01:00
  • fee195c995 Merge claude/1 librelad 2026-05-24 20:20:21 +01:00
  • b9ae512d31 auto: session-start commit — 2 file(s) at 2026-05-24 20:20:21 librelad 2026-05-24 20:20:21 +01:00
  • cb6301dc01 auto: session-start commit — 2 file(s) at 2026-05-24 20:20:20 librelad 2026-05-24 20:20:21 +01:00
  • a9c83b06b0 Merge claude/1 librelad 2026-05-24 20:01:52 +01:00
  • c63cb4a2a7 fix(install): broad sudo during install, tighten to scoped only after librelad 2026-05-24 20:01:52 +01:00
  • d7aae3f47e Merge claude/1 librelad 2026-05-24 19:56:09 +01:00
  • 9f0fa7ae31 fix(uninstall): fully remove both users' homes (terminate session + rm backstop) librelad 2026-05-24 19:56:09 +01:00
  • f6fba03444 Merge claude/1 librelad 2026-05-24 19:54:11 +01:00
  • 93284cdb39 feat(uninstall): add 'init.sh uninstall' — full, guarded teardown librelad 2026-05-24 19:54:11 +01:00
  • 65937e8108 Merge claude/1 librelad 2026-05-24 19:40:35 +01:00
  • 15fc42c858 refactor(layout): consolidate out-of-/docker files + fix sysctl dir librelad 2026-05-24 19:40:35 +01:00
  • d8cad2677d Merge claude/1 librelad 2026-05-24 19:22:22 +01:00
  • cd4fd55a6d feat(desudo): helper-ize backup-engine + app-config installs; retire standalone WireGuard librelad 2026-05-24 19:22:22 +01:00
  • 048e967ec1 Merge claude/1 librelad 2026-05-24 18:58:48 +01:00
  • 32cdf96c13 fix(webui): re-apply tag processors after the WebUI compose template copy librelad 2026-05-24 18:58:48 +01:00
  • a2bdcf0e4f Merge claude/1 librelad 2026-05-24 18:48:16 +01:00
  • c9e6afea79 feat(desudo): init.sh installs the SCOPED sudoers by default — kill NOPASSWD:ALL librelad 2026-05-24 18:48:16 +01:00
  • 12476b507a Merge claude/1 librelad 2026-05-24 18:45:33 +01:00
  • ac163e3808 fix(desudo): don't run init.sh install-mode detect/write when sourced librelad 2026-05-24 18:45:33 +01:00
  • 6431e7abbe Merge claude/1 librelad 2026-05-24 18:40:19 +01:00
  • 6bb04533fa fix(desudo): manager->self sudo drops -> runAsManager (scoped-sudoers safe) librelad 2026-05-24 18:40:19 +01:00
  • 4f2fd251fa Merge claude/1 librelad 2026-05-24 18:38:19 +01:00
  • 13d2c15074 fix(desudo): de-sudo config scan so the manager runtime loads CFG librelad 2026-05-24 18:38:19 +01:00
  • 2d9450fed4 Merge claude/1 librelad 2026-05-24 18:28:56 +01:00
  • 9af2465ffe feat(desudo): socket + systemd-svc helpers; route traefik/db chowns + svc librelad 2026-05-24 18:28:56 +01:00
  • c6ba3b0ed8 Merge claude/1 librelad 2026-05-24 18:21:46 +01:00
  • d17e8814d0 feat(desudo): root-owned DNS + host-SSH-access helpers librelad 2026-05-24 18:21:46 +01:00
  • dd414a6e73 Merge claude/1 librelad 2026-05-24 18:16:23 +01:00
  • 46622cd2f9 feat(desudo): root-owned ownership helper (no blanket sudo chown needed) librelad 2026-05-24 18:16:23 +01:00
  • 85fd086281 Merge claude/1 librelad 2026-05-24 18:09:20 +01:00
  • 78e7651ea0 feat(desudo): run start.sh AS the manager (Model A flip) + fix exposed writes librelad 2026-05-24 18:09:20 +01:00
  • 99e3bde574 Merge claude/1 librelad 2026-05-24 18:03:36 +01:00
  • 21afae2eff refactor(desudo): drop runtime root from docker_run, sqlite guards, restores librelad 2026-05-24 18:03:36 +01:00
  • f13a5bc548 Merge claude/1 librelad 2026-05-24 18:01:51 +01:00
  • 0b27ed1072 refactor(desudo): funnel backup-engine privilege drop through runBackupOp librelad 2026-05-24 18:01:51 +01:00
  • 0dc86e62f6 Merge claude/1 librelad 2026-05-24 18:00:19 +01:00
  • 8b14f26125 refactor(desudo): route scattered runtime sudo through privilege helpers librelad 2026-05-24 18:00:19 +01:00
  • fb87d0e687 Merge claude/1 librelad 2026-05-24 17:55:07 +01:00
  • eea5b41e68 fix(rootless): tagsManager in-place edit via runFileOp/runInstallOp librelad 2026-05-24 17:55:07 +01:00
  • 574146c75e Merge claude/1 librelad 2026-05-24 17:37:14 +01:00
  • 4ee231ae9f refactor(de-sudo): wireguard -> runSystem, traefik -> runFileOp librelad 2026-05-24 17:37:14 +01:00
  • c2cb75cfd9 Merge claude/1 librelad 2026-05-24 17:35:09 +01:00
  • 2c907b25c2 refactor(de-sudo): compose/setup/run misc off raw sudo librelad 2026-05-24 17:35:09 +01:00
  • db681fbcd1 Merge claude/1 librelad 2026-05-24 17:30:25 +01:00
  • 5ceef2df6a refactor(de-sudo): config/password processors off raw sudo librelad 2026-05-24 17:30:25 +01:00
  • cf148327fd Merge claude/1 librelad 2026-05-24 17:24:44 +01:00
  • 33107c4f27 refactor(de-sudo): rework generic file/folder helpers to path-aware ownership librelad 2026-05-24 17:24:44 +01:00
  • 9a694115ac Merge claude/1 librelad 2026-05-24 17:14:31 +01:00
  • 3466f112fa refactor(de-sudo): app_generate + local-dns off raw sudo librelad 2026-05-24 17:14:31 +01:00
  • 98444de65e Merge claude/1 librelad 2026-05-24 17:06:46 +01:00
  • 07b3e7896d refactor(de-sudo): drop pointless sudo on htpasswd hash computation librelad 2026-05-24 17:06:46 +01:00
  • 2826acf880 Merge claude/1 librelad 2026-05-24 17:05:37 +01:00
  • 92c731952b refactor(de-sudo): update/git backup helpers off raw sudo librelad 2026-05-24 17:05:37 +01:00
  • d74474e428 Merge claude/1 librelad 2026-05-24 17:03:19 +01:00
  • 92c0261ca4 refactor(de-sudo): config-plane + permission helpers off raw sudo librelad 2026-05-24 17:03:19 +01:00
  • 67aea8e722 Merge claude/1 librelad 2026-05-24 17:01:05 +01:00
  • 7acfdabbac refactor(de-sudo): backup subsystem data ops via runFileOp/runFileWrite librelad 2026-05-24 17:01:05 +01:00
  • bace502044 Merge claude/1 librelad 2026-05-24 16:53:37 +01:00
  • a3afb2aeae feat(model-a): run app as manager; route bare docker calls through runFileOp librelad 2026-05-24 16:53:37 +01:00
  • c6a27d28c4 Merge claude/2 librelad 2026-05-24 16:47:20 +01:00
  • 62f7a84126 feat(webui): Admin System page with gauges, trend charts & per-app stats librelad 2026-05-24 16:47:20 +01:00
  • a09cf4e0e8 Merge claude/2 librelad 2026-05-24 16:46:46 +01:00
  • bade6eaacb feat(webui): collect host + per-app metrics with history ring buffer librelad 2026-05-24 16:46:46 +01:00
  • 0b64b364f9 Merge claude/1 librelad 2026-05-24 16:29:22 +01:00
  • 3ecf213cab refactor(de-sudo): docker calls via runFileOp/dockerCommandRun, drop sudo librelad 2026-05-24 16:29:22 +01:00
  • 778e6d739d Merge claude/1 librelad 2026-05-24 16:23:33 +01:00
  • c6dd2659be refactor(de-sudo): apps DB access via runInstallOp, not sudo librelad 2026-05-24 16:23:33 +01:00
  • d755cad8b9 Merge claude/1 librelad 2026-05-24 15:21:53 +01:00
  • 014d8e5fcc refactor(de-sudo): funnel genuine system commands through runSystem librelad 2026-05-24 15:21:53 +01:00
  • ab505ac012 Merge claude/1 librelad 2026-05-24 15:11:35 +01:00
  • ba385a8b97 fix(manager): marker-guard the manager-user sshd append librelad 2026-05-24 15:11:35 +01:00
  • d733b70ee7 Merge claude/1 librelad 2026-05-24 15:01:31 +01:00
  • e5f637bca6 refactor(service): make task processor service setup idempotent librelad 2026-05-24 15:01:31 +01:00
  • 6f7c239753 Merge claude/1 librelad 2026-05-24 14:52:41 +01:00
  • c9445b4e78 fix(rootless): task service DOCKER_HOST points at the install user's socket librelad 2026-05-24 14:52:41 +01:00
  • d93bc9a864 Merge claude/1 librelad 2026-05-24 14:48:17 +01:00
  • 5f4f4eb96f feat(switcher): restart the task processor after a docker-type swap librelad 2026-05-24 14:48:17 +01:00
  • d071696fa4 Merge claude/1 librelad 2026-05-24 14:44:02 +01:00
  • 7314319090 fix(rootless): establish task-dir ownership with runSystem in setupTaskDir librelad 2026-05-24 14:44:02 +01:00
  • 53f861d39d Merge claude/1 librelad 2026-05-24 14:42:16 +01:00
  • d3f073a107 fix(rootless): task processor must load the de-sudo helpers itself librelad 2026-05-24 14:42:16 +01:00
  • 9ecb7e5f35 Merge claude/1 librelad 2026-05-24 14:36:22 +01:00
  • 099751b72c fix(rootless): task processor status writes via runFileWrite, not bare redirect librelad 2026-05-24 14:36:22 +01:00
  • ba5d61c71e Merge claude/1 librelad 2026-05-24 14:13:15 +01:00
  • 4c8bcf0580 fix(rootless): don't stamp the deployed WebUI tree with the repo-clone uid librelad 2026-05-24 14:13:15 +01:00
  • a4e4537087 Merge claude/1 librelad 2026-05-24 14:07:46 +01:00
  • ed9697cdc0 fix(rootless): apps/categories/config/system generators write as container owner librelad 2026-05-24 14:07:46 +01:00
  • bd4887f889 Merge claude/1 librelad 2026-05-24 14:04:06 +01:00
  • 75dfb3849b fix(rootless): backup/ssh WebUI generators write as the container owner librelad 2026-05-24 14:04:06 +01:00
  • a7d819799f Merge claude/1 librelad 2026-05-24 13:50:20 +01:00
  • 3a0bcaccb6 fix(rootless): run install-user commands from HOME, not the caller cwd librelad 2026-05-24 13:50:20 +01:00
  • 6b44e8efc4 Merge claude/1 librelad 2026-05-24 13:47:40 +01:00
  • 85f8130a49 fix(firewall): pick backend by docker mode, use container name librelad 2026-05-24 13:47:40 +01:00
  • 84ed9b2272 Merge claude/1 librelad 2026-05-24 13:46:12 +01:00
  • 8e0d662a16 refactor(perms): one source of truth for container ownership librelad 2026-05-24 13:46:12 +01:00
  • f8824971d6 Merge claude/1 librelad 2026-05-24 13:39:06 +01:00
  • ecd3db5632 fix(rootless): route requirement/disk docker checks through runFileOp librelad 2026-05-24 13:39:06 +01:00
  • dcbb3c1759 Merge claude/1 librelad 2026-05-24 13:37:42 +01:00