secubox-openwrt/package/secubox/luci-app-crowdsec-dashboard/root/usr/share/luci/menu.d/luci-app-crowdsec-dashboard.json
CyberMind-FR ad2e89fd47 feat: CrowdSec Setup Wizard - Complete First-Time Installation (v0.6.0)
Major Features:
- Add comprehensive 6-step setup wizard for CrowdSec initial configuration
- Automated hub update, collection installation, and bouncer configuration
- Complete turnkey solution requiring zero manual configuration

Wizard Flow:
1. Welcome & Prerequisites - Check CrowdSec and LAPI status
2. Update CrowdSec Hub - Fetch latest security collections
3. Install Collections - Pre-selected security packs (ssh-bf, http-cve, linux)
4. Configure Firewall Bouncer - Auto-register with API key generation
5. Enable & Start Services - Start bouncer and verify nftables
6. Verification & Summary - Show completion status with statistics

UI Components:
- Visual stepper with active/complete/pending states
- Real-time progress indicators and status badges
- Auto-advancement after successful operations
- Professional dark-themed styling with animations
- Fully responsive design (mobile/tablet/desktop)

New Files:
- htdocs/luci-static/resources/view/crowdsec-dashboard/wizard.js (815 lines)
- htdocs/luci-static/resources/crowdsec-dashboard/wizard.css (578 lines)

Backend Enhancements:
- Add check_wizard_needed() RPC method for first-time setup detection
- Add wizard_state() RPC method for wizard initialization
- Update API module with wizard method declarations
- Add wizard menu item (order: 5, appears first in CrowdSec section)
- Update ACL permissions for wizard RPC methods

User Experience:
- < 2 minute complete CrowdSec setup from fresh install
- Clear visual feedback at each step
- Error handling with retry capability
- Final verification shows all systems operational

Version: 0.6.0-1

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-07 08:39:41 +01:00

76 lines
1.5 KiB
JSON

{
"admin/secubox/security/crowdsec": {
"title": "CrowdSec",
"order": 10,
"action": {
"type": "firstchild"
},
"depends": {
"acl": ["luci-app-crowdsec-dashboard"]
}
},
"admin/secubox/security/crowdsec/wizard": {
"title": "Setup Wizard",
"order": 5,
"action": {
"type": "view",
"path": "crowdsec-dashboard/wizard"
}
},
"admin/secubox/security/crowdsec/overview": {
"title": "Overview",
"order": 10,
"action": {
"type": "view",
"path": "crowdsec-dashboard/overview"
}
},
"admin/secubox/security/crowdsec/decisions": {
"title": "Decisions",
"order": 20,
"action": {
"type": "view",
"path": "crowdsec-dashboard/decisions"
}
},
"admin/secubox/security/crowdsec/alerts": {
"title": "Alerts",
"order": 30,
"action": {
"type": "view",
"path": "crowdsec-dashboard/alerts"
}
},
"admin/secubox/security/crowdsec/bouncers": {
"title": "Bouncers",
"order": 40,
"action": {
"type": "view",
"path": "crowdsec-dashboard/bouncers"
}
},
"admin/secubox/security/crowdsec/waf": {
"title": "WAF/AppSec",
"order": 45,
"action": {
"type": "view",
"path": "crowdsec-dashboard/waf"
}
},
"admin/secubox/security/crowdsec/metrics": {
"title": "Metrics",
"order": 50,
"action": {
"type": "view",
"path": "crowdsec-dashboard/metrics"
}
},
"admin/secubox/security/crowdsec/settings": {
"title": "Settings",
"order": 90,
"action": {
"type": "view",
"path": "crowdsec-dashboard/settings"
}
}
}