Recipe: Maritime Variable WAN with StormGuard
Use this pattern when WAN capacity changes materially over time (for example satellite backhaul under weather/load effects) and you need bounded adaptive queue tuning.
Fit
Best for: one vessel or one high-variance WAN domain represented as one top-level node.
Avoid when: you plan to manage dozens/hundreds of targets with StormGuard.
Prerequisites
Complete Quickstart.
Review StormGuard scope and limits.
Confirm source-of-truth behavior (Operating Modes).
Topology Pattern
Use a single top-level node named Ship, with all subnodes beneath it.
Example network.json skeleton:
{
"Ship": {
"downloadBandwidthMbps": 1000,
"uploadBandwidthMbps": 200,
"children": {
"Deck_A": {
"downloadBandwidthMbps": 500,
"uploadBandwidthMbps": 100
},
"Deck_B": {
"downloadBandwidthMbps": 500,
"uploadBandwidthMbps": 100
}
}
}
}
StormGuard Configuration
[stormguard]
enabled = true
dry_run = true
targets = ["Ship"]
minimum_download_percentage = 0.5
minimum_upload_percentage = 0.5
log_file = "/var/log/stormguard.csv"
Control Loop Illustration
flowchart LR
METRICS[Ship Node Metrics\nthroughput, RTT, loss context]
SG[StormGuard Evaluator]
LIMITS[Bounded Queue Limit Adjustments]
QOE[Observed Link Quality]
METRICS --> SG
SG --> LIMITS
LIMITS --> QOE
QOE --> METRICS
What this shows:
StormGuard continuously evaluates current
Shipconditions and applies bounded adjustments.Observed quality and saturation behavior feed the next evaluation cycle.
Rollout sequence:
Start with
dry_run = true.Observe multiple busy periods.
Confirm adjustments are bounded and sensible.
Set
dry_run = false.
Validation Checklist
StormGuard debug/status pages show
Shipas active target.Effective limits adjust during congestion but respect floor percentages.
RTT/retransmit behavior improves under stress periods.
No naming drift between target names and current hierarchy.
Rollback
Set
[stormguard] enabled = false(or back todry_run = true).Restart services:
sudo systemctl restart lqosd lqos_scheduler
Verify stable behavior without adaptive changes.