Initial skills documentation — 25 categories, all SKILL.md + references + scripts
This commit is contained in:
+49
@@ -0,0 +1,49 @@
|
||||
# MikroTik Router Onboarding via Portal
|
||||
|
||||
When the user wants an onboarding section for MikroTik routers in the portal, the flow follows a "generate script → run on router → auto-checks in" pattern.
|
||||
|
||||
## Mockup layout
|
||||
|
||||
The mockup page at `/root/portal-mockup/onboard-router.html` shows:
|
||||
|
||||
### Left column — form
|
||||
- **Customer selector** — dropdown of existing customers (or create new)
|
||||
- **Router name/model** — optional fields
|
||||
- **Generate button** — produces the registration script
|
||||
- **Generated script panel** — syntax-highlighted RouterOS script with Copy/Download buttons
|
||||
- Sets system identity to a standard format (e.g. RTR-CUSTOMER-01)
|
||||
- Creates a read-only monitoring user
|
||||
- POSTs registration data to the portal API
|
||||
- Sets up a 60-second heartbeat scheduler
|
||||
- Token scoped to customer + expires in 24 hours
|
||||
|
||||
### Right column — status + instructions
|
||||
|
||||
- **How It Works** — three-step explainer: Generate → Run on Router → Auto-Connects
|
||||
- **Status card** — shows "Waiting for first check-in" or "Online" with last heartbeat timestamp
|
||||
- **Recently Onboarded** — list of recently added routers with green dot status indicators
|
||||
|
||||
## Registration script structure
|
||||
|
||||
```routeros
|
||||
# IT Pro Partner - Router Registration
|
||||
/system identity
|
||||
set name=RTR-CUSTOMER-01
|
||||
|
||||
/user add name=itpp-monitor \
|
||||
group=read password="$(/tool fetch url=...)"
|
||||
|
||||
/tool fetch url="https://portal.itpropartner.com/api/register" \
|
||||
http-method=post \
|
||||
http-data="{\"identity\":\"RTR-CUSTOMER-01\",\"token\":\"TOKEN\"}"
|
||||
|
||||
/system scheduler add name=heartbeat interval=1m \
|
||||
on-event="/tool fetch url=.../heartbeat"
|
||||
```
|
||||
|
||||
## Portal-side requirements
|
||||
|
||||
- API endpoint: `/api/register` — receives registration POST, validates token, stores device identity
|
||||
- API endpoint: `/api/heartbeat` — receives 60-second keepalive, updates last_seen timestamp
|
||||
- API endpoint: `/api/register/token` — generates one-time token per customer, 24h expiry
|
||||
- Dashboard shows: device name, customer, last heartbeat time, firmware, public IP
|
||||
Reference in New Issue
Block a user