feat: add uptime runner agent
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
# @uptime.link/uptimerunner
|
||||
|
||||
Deno-powered uptime.link runner agent. It connects to an uptime.link instance, fetches assigned
|
||||
checks, executes them from the runner's network location, and reports results back.
|
||||
|
||||
## Install
|
||||
|
||||
```bash
|
||||
curl -sSL https://code.foss.global/uptime.link/uptimerunner/raw/branch/main/install.sh | sudo bash
|
||||
```
|
||||
|
||||
## Configure
|
||||
|
||||
```bash
|
||||
sudo uptimerunner config write \
|
||||
--url https://uptime.link \
|
||||
--runner-id edge-1 \
|
||||
--token <runner-token>
|
||||
```
|
||||
|
||||
## Run
|
||||
|
||||
```bash
|
||||
uptimerunner run
|
||||
```
|
||||
|
||||
For systemd:
|
||||
|
||||
```bash
|
||||
sudo uptimerunner service install
|
||||
sudo uptimerunner service start
|
||||
```
|
||||
|
||||
## Runner Protocol
|
||||
|
||||
The runner polls:
|
||||
|
||||
```text
|
||||
GET /api/runner/v1/checks?runnerId=<runnerId>
|
||||
```
|
||||
|
||||
The uptime.link instance returns:
|
||||
|
||||
```json
|
||||
{
|
||||
"checks": [
|
||||
{
|
||||
"id": "api-health",
|
||||
"type": "http",
|
||||
"url": "https://api.example.com/health",
|
||||
"expectedStatusCodes": [200],
|
||||
"expectedBodyIncludes": "ok"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
The runner reports:
|
||||
|
||||
```text
|
||||
POST /api/runner/v1/results
|
||||
```
|
||||
|
||||
Supported check types:
|
||||
|
||||
- `http`
|
||||
- `tcp`
|
||||
- `assumption`
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
deno task check
|
||||
deno task test
|
||||
deno task compile
|
||||
```
|
||||
Reference in New Issue
Block a user