chore: rework plugin readmes, json changelogs and standalone repo setup

This commit is contained in:
LukeGus committed 2026-10-04 21:25:16 -05:00
1 parent a8f383d2b3
commit 29a946d02e
500 files changed
+6729 -1250

No files matched your search

+33 -31
View File
@@ -1,51 +1,53 @@
# Automations
<div align="center">
Run actions on your hosts on a schedule or when something happens, like a host going down or a metric crossing a limit.
<img src="https://raw.githubusercontent.com/Termix-SSH/Termix/main/public/icon.svg" width="120" height="120" alt="Termix Logo" />
<h1>Automations</h1>
<p>Make your servers react on their own</p>
</div>
<br />
## Overview
Automations runs steps on your hosts when something happens, like cleaning up a disk when it fills or restarting a container when it stops.
<br />
## Features
- Triggers: a schedule, a host going up or down, a metric crossing a limit, a health check change, a container event, a Termix event or an incoming webhook.
- Steps: send an alert, call a URL, run a snippet or command, control a container or tunnel, wake a host, wait, set a variable, branch with if / otherwise, run another automation or stop.
- Run an automation on the host that triggered it or on any host or fleet you pick.
- See the output and errors of each step for every run.
- Triggers for metrics, hosts going up or down, health checks, schedules, container events and webhooks
- Steps that run commands and snippets, control containers and tunnels, wake hosts, call URLs and send alerts
- Conditions, waits and variables for more complex flows
- Run on one host, a fleet or every host
- Test runs and a history of every run
- Maintenance windows that pause automations while you work on a host
## Permissions
- `automations.view`: See automations and their runs. Admins and users have it by default.
- `automations.create`: Create automations. Admins and users have it by default.
- `automations.edit`: Change automations. Admins and users have it by default.
- `automations.delete`: Delete automations. Admins and users have it by default.
- `automations.run`: Run automations by hand. Admins and users have it by default.
<br />
## Services
Provides to other plugins:
- `automations.access`: list and run automations.
- `automations.access`: list and run automations
Uses from other plugins:
- `snippets.access` for the run snippet step. Required.
- `fleets.access`, `tunnels.access`, `docker.containers`, `docker.events`, `host-metrics.viewers` and `wake-on-lan.send` for their steps and triggers. Each one is optional.
- `snippets.access` for the run snippet step. Required
- `fleets.access`, `tunnels.access`, `docker.containers`, `docker.events`, `host-metrics.viewers` and `wake-on-lan.send` for their steps and triggers. Each one is optional
## Development
<br />
```bash
npm run build # build into dist/
npm run test # run this plugin's tests
npm run typecheck # type-check this plugin
```
## Support
## Host maintenance
To report a bug or request a feature, open a [support ticket](https://github.com/Termix-SSH/Support/issues/new/choose). You need to be logged in to GitHub. Please be as detailed as possible, preferably in English.
Open **Maintenance** from a saved host's actions. Its owner can start maintenance now, record a reason and estimated duration, or add a one-time, weekly or monthly schedule. Viewing requires `automations.view`; changes require `automations.edit`. Active maintenance appears as a host badge. The Automations plugin must remain enabled for maintenance scheduling and suppression to operate.
For discussions and questions, join the [Discord](https://discord.gg/jVQGdvHDrf) server.
Schedules use UTC, including through daylight-saving changes. A monthly schedule for a day missing from a month skips that month. Up to 20 plans per host are stored; remove completed one-time plans when no longer needed. Planned windows cannot overlap (touching endpoints are allowed), and recurring conflicts are checked over the Gregorian calendar cycle. Removing a plan cancels future occurrences, not maintenance already in progress.
<br />
The estimated completion time is informational. Maintenance **only ends when its owner explicitly ends it**. If work overruns into another scheduled window, the host stays in maintenance and the estimate extends to the later planned end. After server downtime, due plans are caught up without briefly exposing an outage between maintenance windows. Each plan's next occurrence and the active state survive restarts.
## License
While active, maintenance suppresses new host-status, health-check, metric-threshold, container-event and tunnel-disconnection automation runs for that host. This pauses the entire triggered automation, including any remediation steps. Monitoring continues to report the real status; observed status/health baselines still advance and metric dwell windows are reset. Manual runs, schedules, webhooks, security login events and runs already in progress continue normally. Maintenance does not globally silence alerts from unrelated plugins.
An optional overdue reminder uses the estimate plus a configurable grace period (20 minutes by default). It only sends after core has observed the host offline at or after that deadline; an unknown, online or older cached status does not qualify. Enable host status checks to supply those observations. Reminders use the Alerts hub and category `automations.maintenance_overdue`, which can be routed through the user's notification rules. A successful reminder is remembered across restarts; an extended estimate permits another reminder for the new deadline. No reminder automatically ends maintenance.
Maintenance rows reference their owner and host with cascading deletion. SQLite, PostgreSQL and MySQL migrations add only the new maintenance table.
Distributed under the Apache License Version 2.0. See [LICENSE](https://github.com/Termix-SSH/Termix/blob/main/LICENSE) for more information.