e258d86eea
feat: Admin Control Center with State Management (v0.9.0)
...
Major feature release implementing comprehensive state management, component registry,
and admin control center with full UI integration.
## Backend Features (secubox-core v0.9.0-1)
State Management System:
- ✅ State database (state-db.json) with 15 states across 4 categories
- ✅ State machine with transition matrix validation
- ✅ secubox-state CLI (8 commands: get, set, history, list, validate, sync, freeze, clear-error)
- ✅ state-machine.sh with atomic transitions using flock
- ✅ State history tracking with timestamps and reasons
- ✅ Error state handling with detailed error info
- ✅ Frozen state support for system-critical components
Component Registry System:
- ✅ Component registry database (component-registry.json)
- ✅ secubox-component CLI (7 commands: list, get, register, unregister, tree, affected, set-setting)
- ✅ Component types: app, module, widget, service, composite
- ✅ Dependency tracking (required/optional)
- ✅ Recursive dependency tree resolution
- ✅ Reverse dependency tracking
- ✅ Component settings management
- ✅ Profile tagging and filtering
Auto-Sync System:
- ✅ secubox-sync-registry CLI for catalog synchronization
- ✅ Auto-populate from catalog.json
- ✅ Plugin catalog directory scanning
- ✅ Installed package detection
- ✅ Automatic state initialization
RPC Backend (luci.secubox):
- ✅ 6 state management RPC methods
- ✅ 5 component registry RPC methods
- ✅ Bulk operations support
- ✅ State validation endpoints
## Frontend Features (luci-app-secubox-admin v1.0.0-16)
UI Components:
- ✅ state-utils.js: 20+ utility functions, state config, transition validation
- ✅ StateIndicator.js: 5 rendering modes (badge, compact, pill, dot, statistics)
- ✅ StateTimeline.js: 4 visualization modes (vertical, horizontal, compact, transition diagram)
- ✅ state-management.css: 600+ lines with animations, responsive design, accessibility
Admin Control Center Dashboard:
- ✅ System overview panel with health metrics
- ✅ Component state summary with statistics
- ✅ Recent state transitions timeline
- ✅ Alerts panel for warnings and errors
- ✅ Quick actions panel
- ✅ Real-time updates (5-second polling)
- ✅ Metric cards with hover effects
- ✅ State distribution by category
API Integration (api.js):
- ✅ 11 RPC method declarations
- ✅ Enhanced methods: getComponentWithState(), getAllComponentsWithStates()
- ✅ Bulk operations: bulkSetComponentState()
- ✅ State statistics: getStateStatistics()
- ✅ Retry logic with exponential backoff
- ✅ Promise-based async operations
## Documentation
Comprehensive Documentation:
- ✅ API-REFERENCE.md (1,200+ lines): Complete API docs for RPC, CLI, JS
- ✅ EXAMPLES.md (800+ lines): 30+ usage examples, shell scripts, integration patterns
- ✅ State definitions table (15 states)
- ✅ State transition matrix
- ✅ Component metadata schemas
- ✅ Error codes reference
- ✅ Testing examples
## State Definitions
15 States Across 4 Categories:
- Persistent: available, installed, active, disabled, frozen
- Transient: installing, configuring, activating, starting, stopping, uninstalling
- Runtime: running, stopped
- Error: error (with subtypes)
State Transition Flow:
available → installing → installed → configuring → configured →
activating → active → starting → running → stopping → stopped
## Technical Details
Files Created (10 backend + 8 frontend):
Backend:
- /usr/sbin/secubox-state (12KB, 8 commands)
- /usr/sbin/secubox-component (12KB, 7 commands)
- /usr/sbin/secubox-sync-registry (8.4KB)
- /usr/share/secubox/state-machine.sh (5.2KB)
- /var/lib/secubox/state-db.json (schema)
- /var/lib/secubox/component-registry.json (schema)
Frontend:
- resources/secubox-admin/state-utils.js (~400 lines)
- resources/secubox-admin/components/StateIndicator.js (~350 lines)
- resources/secubox-admin/components/StateTimeline.js (~450 lines)
- resources/secubox-admin/state-management.css (~600 lines)
- resources/view/secubox-admin/control-center.js (~550 lines)
- resources/secubox-admin/api.js (+145 lines)
Documentation:
- docs/admin-control-center/API-REFERENCE.md (1,200+ lines)
- docs/admin-control-center/EXAMPLES.md (800+ lines)
Files Modified (3):
- package/secubox/secubox-core/Makefile (v0.8.0 → v0.9.0-1)
- package/secubox/luci-app-secubox-admin/Makefile (release 15 → 16)
- package/secubox/secubox-core/root/usr/libexec/rpcd/luci.secubox (+157 lines)
## Installation & Migration
Makefile Updates:
- Added 3 new CLI tools to install section
- Added state-machine.sh to scripts
- Updated package description
- Enhanced postinst to initialize databases
- Auto-sync registry on first install
Postinst Features:
- Automatic state-db.json initialization
- Automatic component-registry.json initialization
- Catalog sync on install
- Version announcement with new features
## Performance & Security
Performance:
- File locking (flock) for atomic state transitions
- State history limited to 100 entries per component
- RPC retry logic with exponential backoff
- Bulk operations use Promise.all for parallel execution
- Component list caching (30 seconds)
Security:
- Frozen state prevents unauthorized modifications
- All state changes logged with timestamp and reason
- System-critical components have additional safeguards
- Proper authentication required for state transitions
## Testing & Validation
Features:
- State transition validation
- Component dependency resolution
- Circular dependency detection
- State consistency checker
- Integration test scripts included in docs
## Breaking Changes
None - Backward Compatible:
- Existing RPC methods remain functional
- State-aware methods are additive
- Components without state default to 'available'
- Migration is automatic on install
## Statistics
Total Implementation:
- Lines of Code: ~4,000
- Backend: ~1,800 (Bash + JSON)
- Frontend: ~2,200 (JavaScript + CSS)
- Documentation: ~2,000 (Markdown)
- Functions/Commands: 40+
- RPC Methods: 11
- CLI Commands: 22
- UI Components: 5
- Documentation Pages: 2
## Next Phase
Remaining from Plan:
- Phase 4: System Hub integration
- Phase 5: Migration script (secubox-migrate-state)
- Phase 6: Additional documentation (ARCHITECTURE.md, STATE-MANAGEMENT.md, etc.)
- Phase 7: Additional UI views (components.js, state-manager.js, debug-panel.js)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-05 10:05:32 +01:00
e13a3f5b84
hello
2026-01-04 19:50:25 +01:00
d71fef2e4e
feat(mqtt-bridge): sync latest UI updates
2025-12-30 10:13:14 +01:00
b8a7f83cb0
chore: align modules with secubox theme v0.4
2025-12-29 22:13:38 +01:00
92eff5aad7
refactor secubox app packaging and theme
2025-12-29 21:57:12 +01:00
7b043850fe
Add GitHub Pages documentation site
2025-12-29 18:25:48 +01:00
2000265646
domoticz: add docker app manifest and docs
2025-12-29 17:34:26 +01:00
8aa3d3d3e5
lyrion: add docker app manifest and docs
2025-12-29 17:30:43 +01:00
da8eeb27ca
lxc: add foundational CLI and docs
2025-12-29 17:25:47 +01:00
3c0003614d
profiles: add presets and wizard integration
2025-12-29 17:22:34 +01:00
eab24f9609
secubox: add first-run and app wizards
2025-12-29 17:14:04 +01:00
7c5ad8e53d
app-store: add manifest registry and CLI
2025-12-29 17:02:20 +01:00
33dcb35ddc
network-modes: add DMZ mode and docs
2025-12-29 16:58:18 +01:00
baab096876
vhost-manager: add CLI helper and docs
2025-12-29 16:49:10 +01:00
9d14dc7fec
zigbee2mqtt: enhance installer and add docs
2025-12-29 16:42:25 +01:00
ec81952db1
feat: bootstrap zigbee2mqtt app and diagnostics
2025-12-29 15:51:07 +01:00
ef936f1295
docs: Add GitHub Pages documentation site structure
...
Created comprehensive documentation site using MkDocs Material theme
for GitHub Pages deployment. Moved version sync scripts to secubox-tools.
## Documentation Site (18 new files)
Created docs/ directory with complete documentation:
**Main Pages:**
- index.md - Home page with navigation cards and module overview
- quick-start.md - Quick start guide
- documentation-index.md - Documentation index
**Development Guides:**
- development-guidelines.md - Complete development reference (1857 lines)
- code-templates.md - Working examples and patterns (1405 lines)
- module-implementation-guide.md - Step-by-step workflow (901 lines)
**Reference Documentation:**
- claude.md - Build system and RPCD architecture (553 lines)
- validation-guide.md - Validation workflows (518 lines)
- permissions-guide.md - Permission guidelines (248 lines)
- luci-development-reference.md - LuCI development (1196 lines)
**Module Information:**
- module-status.md - 15 module status (896 lines)
- feature-regeneration-prompts.md - AI prompts (2084 lines)
- todo-analyse.md - Roadmap and tasks (1080 lines)
**Archive (4 files):**
- archive/index.md - Archive index
- archive/build-issues.md - Build troubleshooting
- archive/completion-report.md - Project milestones
- archive/module-enable-disable-design.md - Feature design
**Styling:**
- stylesheets/extra.css - SecuBox custom CSS
## Scripts Reorganization (2 files moved)
Moved version sync utilities to secubox-tools:
- scripts/sync_module_versions.py → secubox-tools/sync_module_versions.py
- scripts/sync_module_versions.sh → secubox-tools/sync_module_versions.sh
## Site Features
- Material theme with dark/light mode
- Responsive design with navigation tabs
- Live search and syntax highlighting
- Custom SecuBox branding (indigo/violet gradients)
- 12,780+ lines of comprehensive documentation
Summary:
- 21 files changed (+12,780 lines)
- 18 new documentation pages
- 2 scripts relocated
- Ready for GitHub Pages deployment
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 21:57:29 +01:00
aad081e841
chore: Release v0.4.2 - Menu reorganization and CSS enhancements
...
This release focuses on improved menu structure, enhanced CSS styling
across all modules, and documentation cleanup.
## Menu & Navigation (2 modules)
- Reorganized SecuBox menu with new "Network & Connectivity" category
- Moved Network Modes from top-level to Network submenu
- New menu path: admin/secubox/network/modes
## Network Modes Enhancements (14 files)
- Enhanced all mode views: Overview, Wizard, Router, Multi-WAN, Double NAT,
Access Point, Relay, VPN Relay, Travel, Sniffer, Settings
- Improved dashboard.css styling
- Updated API and helpers for better functionality
## System Hub Improvements (11 files)
- Added dedicated CSS files for Backup and Health views
- Enhanced styling: common.css, components.css, logs.css, services.css
- Updated views: backup.js, components.js, health.js, logs.js, services.js
- Removed deprecated settings.js view
## SecuBox Dashboard Updates (4 files)
- Refined dashboard.css and modules.css styling
- Enhanced dashboard.js and modules.js functionality
## Theme Updates (1 file)
- Improved navigation.css component styling
## Documentation Cleanup (15 files deleted)
- Removed obsolete documentation from docs/ directory
- Migrated documentation to DOCS/ (uppercase) structure
- Cleaned up archive files and outdated guides
## Configuration (1 file)
- Updated Claude settings for new permissions
Summary:
- 50 files changed
- 3 modules enhanced (network-modes, system-hub, secubox)
- 15 documentation files cleaned up
- 2 new CSS files added
- Menu structure reorganized
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 19:07:44 +01:00
49b0fa4e31
feat: Change default OpenWrt version from 24.10 to 25.12
...
Make OpenWrt 25.12.0-rc1 the default version across all build systems.
Changes:
1. secubox-tools/local-build.sh
- Default: 24.10.5 → 25.12.0-rc1
- Comment updated: "25.12.0-rc1 (default), 24.10.5 (stable LTS)"
2. .github/workflows/build-openwrt-packages.yml
- Input default: 24.10.5 → 25.12.0-rc1
- Env fallback: 24.10.5 → 25.12.0-rc1
3. .github/workflows/build-secubox-images.yml
- Input default: 24.10.5 → 25.12.0-rc1
- Env fallback: 24.10.5 → 25.12.0-rc1
- Comment updated
4. DOCS/MODULE_STATUS.md + docs/module-status.md
- Supported versions order updated:
- 25.12.0-rc1 (latest, primary target)
- 24.10.5 (LTS, stable)
- 23.05.5 (legacy support)
Rationale:
- OpenWrt 25.12 uses new APK package format (Alpine-based)
- Better alignment with latest OpenWrt development
- 24.10.5 remains available as stable LTS option
- All workflows support both versions
Users can still override with:
- Environment variable: OPENWRT_VERSION=24.10.5
- Workflow input when manually triggering builds
- Command line: ./local-build.sh build --version 24.10.5
Package formats:
- 25.12.0-rc1 and SNAPSHOT: .apk (Alpine apk)
- 24.10.5 and earlier: .ipk (opkg)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 11:16:25 +01:00
986b3ce2e0
docs: Change status from Production Ready to Heavy Development Stage
...
Update MODULE_STATUS.md to reflect current development status:
**Status Changes**:
- Header status: "Production Ready" → "In Heavily Development Stage"
- All 15 modules: "✅ Production Ready" → "✅ In Heavily Development Stage"
**Consistency with Website**:
- Matches ../secubox-website/ status update
- Website shows 60-80% progress on modules
- Reflects active heavy development, not production release
**Files Updated**:
- DOCS/MODULE_STATUS.md
- docs/module-status.md (synced)
This brings documentation in line with actual development status,
indicating significant progress but not production-ready release.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 10:46:32 +01:00
b2f189d672
docs: Update MODULE_STATUS with real implementation data
...
Comprehensive update with actual codebase analysis:
**Real Metrics from Codebase**:
- Total modules: 15 (100% complete)
- Total views: 110
- JavaScript lines: 26,638
- RPCD methods: 281
- Latest release: v2.0.0
**Module Versions** (from Makefiles):
- system-hub: 0.3.2-1 (latest features)
- secubox, network-modes: 0.3.1-1
- 12 other modules: 0.2.2-1
**Implementation Details Added**:
- Actual view counts and JS line counts per module
- Real RPCD method counts from code analysis
- Detailed feature lists based on actual implementation
- Recent commit history from git log
- Build system status (GitHub Actions + local tools)
- Validation status (100% pass rate)
**New Sections**:
- Quick stats table at top
- Code distribution analysis
- Development activity with recent commits
- Deployment guide with installation methods
- Maintenance schedule and troubleshooting
- Release process checklist
- Comprehensive validation matrix
**Architecture Support**:
- 13 platforms supported
- OpenWrt 24.10.5 (primary), 25.12.0-rc1 (testing)
- Both .ipk and .apk package formats
**Data Sources**:
- Explore agent analysis of all 15 modules
- Git tags and commit history
- Makefile versions
- Actual file counts and code metrics
Changes: Replaced placeholder data with real implementation status
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 10:35:38 +01:00
75042a8efb
Add GitHub Pages documentation site with MkDocs Material
...
Generated professional documentation site structure:
- mkdocs.yml: Material theme with dark/light mode, search, navigation
- docs/: Complete documentation sync from DOCS/ (13 files + archive)
- docs/stylesheets/extra.css: SecuBox custom styling (indigo/violet)
- docs/archive/: Archived historical documents (4 files)
Features:
- Material Design theme matching SecuBox design system
- Dark/Light mode toggle with indigo/purple palette
- Advanced navigation (tabs, sections, instant loading)
- Search with suggestions and highlighting
- Mermaid diagram support for architecture visuals
- Code syntax highlighting with copy button
- Mobile responsive layout
- Custom CSS with gradient headings and card effects
Setup:
- Updated scripts/setup-github-pages.sh for Ubuntu 24.04 compatibility
- Added dependency check and auto-install (apt or pip)
- Fixed Python externally-managed-environment handling
- Updated .gitignore to exclude site/, .venv/, docs/.DS_Store
Next steps:
1. Test locally: mkdocs serve
2. Enable GitHub Pages: Settings → Pages → Source: master, Folder: /docs
3. Site will be live at: https://gkerma.github.io/secubox-openwrt/
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 10:06:23 +01:00