Initial supervisor skill with auto-discovery
This commit is contained in:
65
SKILL.md
Normal file
65
SKILL.md
Normal file
@@ -0,0 +1,65 @@
|
||||
---
|
||||
name: supervisor
|
||||
description: Process manager for running multiple skills concurrently
|
||||
metadata:
|
||||
version: "1.0.0"
|
||||
vibestack:
|
||||
main: true
|
||||
---
|
||||
|
||||
# Supervisor Skill
|
||||
|
||||
Runs multiple skills as managed processes using [supervisord](http://supervisord.org/).
|
||||
|
||||
## Features
|
||||
|
||||
- Auto-discovers skills with `run.sh` scripts
|
||||
- Manages process lifecycle (start, stop, restart)
|
||||
- Log aggregation
|
||||
- Process health monitoring
|
||||
- Web UI for process management (optional)
|
||||
|
||||
## Auto-Discovery
|
||||
|
||||
On startup, supervisor scans `/skills/*/scripts/run.sh` and creates a program entry for each skill that has a `run.sh` script.
|
||||
|
||||
Skills can opt-out by setting `SUPERVISOR_SKIP=true` in their environment or by not having a `run.sh` script.
|
||||
|
||||
## Configuration
|
||||
|
||||
### Environment Variables
|
||||
|
||||
| Variable | Description | Default |
|
||||
|----------|-------------|---------|
|
||||
| `SUPERVISOR_HTTP_PORT` | Web UI port (0 = disabled) | `9001` |
|
||||
| `SUPERVISOR_USER` | Web UI username | `admin` |
|
||||
| `SUPERVISOR_PASSWORD` | Web UI password | `admin` |
|
||||
| `SUPERVISOR_LOG_DIR` | Log directory | `/var/log/supervisor` |
|
||||
|
||||
### Per-Skill Configuration
|
||||
|
||||
Skills can provide a `.supervisor.conf` file in their directory to customize their process:
|
||||
|
||||
```ini
|
||||
[program:my-skill]
|
||||
priority=100
|
||||
autostart=true
|
||||
autorestart=true
|
||||
startsecs=5
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Supervisor is typically the `main: true` skill that orchestrates other skills:
|
||||
|
||||
```bash
|
||||
SKILL_URLS="https://git.../supervisor https://git.../caddy https://git.../ttyd"
|
||||
MAIN_SKILL="supervisor"
|
||||
```
|
||||
|
||||
## Web UI
|
||||
|
||||
Access at `http://localhost:9001` to:
|
||||
- View process status
|
||||
- Start/stop/restart processes
|
||||
- View logs
|
||||
Reference in New Issue
Block a user