feat(tasks): unify saved tasks on ssh_tasks services
- Add shared task_runner.run_saved_task helper used by routers/tasks.py and widgets/sources.py SshTaskWidgetSource. - Saved tasks now target ssh_tasks service instances via default_service_id; the legacy default_machine_id and saved_task_runs are removed. - Actions page lists ssh_tasks services for default and run-time selection. - Update types, API client, hooks, tests, docs, and changelog. Backend tests: 222 passed. Frontend lint/build/test: clean (71 passed).
This commit is contained in:
@@ -249,8 +249,8 @@ fully removed (web-ui-rework; see decision log 2026-06-17).
|
||||
|
||||
- Provide an Actions tab for predefined server tasks that users can save and run later.
|
||||
- The initial task types should support shell commands and Python scripts, while keeping the design flexible for future task types.
|
||||
- Avoid arbitrary free-form command execution for ad-hoc execution; tasks should be stored records with an explicit name, type, content, enabled flag, default machine, and notes.
|
||||
- Support running tasks against either the local API host or a configured SSH machine using the same machine registry used by Monitoring.
|
||||
- Avoid arbitrary free-form command execution for ad-hoc execution; tasks should be stored records with an explicit name, type, content, enabled flag, default SSH task service, and notes.
|
||||
- Support running tasks against `ssh_tasks` service instances only; local execution on the API host is no longer supported.
|
||||
- Command/script content should be executed through the existing safe process helpers and shell-quoted where applicable.
|
||||
- Future destructive actions should require explicit confirmations or dry-run style safeguards.
|
||||
- Job templates should remain centralized in `jobs.py` for future extension.
|
||||
|
||||
Reference in New Issue
Block a user