d92b3360ea
feat(repo): Add unified repo-deploy.sh and multi-arch support
...
- Add repo-deploy.sh script for staging and deploying packages
- Replicate _all.ipk packages to all 6 architectures automatically
- Add "Refresh Indexes" button to LuCI dashboard for local deployments
- Add RPCD refresh method to regenerate Packages indexes on-device
- Support architectures: aarch64_cortex-a72, aarch64_cortex-a53,
aarch64_generic, x86_64, mips_24kc, mipsel_24kc
Usage:
./secubox-tools/repo-deploy.sh stage --clean
./secubox-tools/repo-deploy.sh deploy root@192.168.255.1
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-19 07:48:59 +01:00
e17c73e343
feat(nfo): Add Module Manifest system with batch generation
...
Introduce flat-file UCI-style NFO manifest format for Streamlit apps
and MetaBlog sites. Enables AI context integration, search indexing,
and mesh publishing metadata.
New features:
- NFO parser library with parse/validate/update/export functions
- NFO validator with type-specific schema validation (streamlit/metablog)
- Batch generation: slforge nfo init-all, metablogizerctl nfo init-all
- RPCD methods: nfo_read, nfo_write, nfo_validate
- Reusable LuCI NFO viewer component with collapsible sections
- LuCI editor modal in Streamlit Forge overview
- Hub generator enhanced with NFO metadata (descriptions, capabilities)
- Metacatalog search with --category and --capability filters
New files:
- nfo-parser.sh, nfo-validator.sh (shell libraries)
- nfo-viewer.js (LuCI component)
- NFO-SPEC.md (specification)
- install.sh (universal NFO-based installer)
- nfo-template.nfo (templates for streamlit/metablog)
Deployed and tested: 136 NFO files generated (107 MetaBlogs, 29 Streamlit)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-14 08:51:09 +01:00
d9bcf1c09b
feat(streamlit-launcher): Add on-demand startup with idle shutdown
...
New package secubox-app-streamlit-launcher:
- Lazy loading: apps start only when accessed
- Idle shutdown: stop apps after configurable timeout (default 30min)
- Memory management: force-stop low-priority apps when memory low
- Priority system: higher priority = keep running longer
- Always-on mode for critical apps
- Procd daemon with respawn
CLI: streamlit-launcherctl
- daemon: run background manager
- status/list: show app states and idle times
- start/stop: manual app control
- priority: set app priority (1-100)
- check/check-memory: manual checks
Updated slforge with launcher integration:
- slforge launcher status/priority/always-on commands
- Access tracking on app start
- README documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-14 07:55:47 +01:00
13f2e94e37
feat(streamlit-forge): Add Gitea integration (Phase 2)
...
Edit, pull, and push Streamlit apps via Gitea:
CLI (slforge):
- edit: Open app source in Gitea web editor
- pull: Pull latest changes from Gitea repo
- push: Commit and push local changes to Gitea
- preview: Generate HTML preview of app
- Auto-creates org/repo on first edit
RPCD (5 new methods):
- gitea_status: Check Gitea connectivity and app repo status
- edit: Get Gitea editor URL for app
- pull: Pull from Gitea to local
- push: Push local changes to Gitea
- preview: Generate preview capture
LuCI (overview.js):
- Gitea status card with connection indicator
- Edit button opens Gitea web editor
- Pull button syncs from remote
- Editor modal for inline editing
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-12 06:48:47 +01:00
66b58c74d6
feat(catalog): Add Streamlit Forge and RezApp Forge to KISS Apps
...
- luci-app-streamlit-forge: Streamlit app publishing platform
- Category: productivity, runtime: lxc
- Templates, SSL exposure, mesh publishing
- luci-app-rezapp: Docker to LXC app converter
- Category: system, runtime: native
- Catalog browsing, package generation
- Updated new_releases section
- Total plugins: 37 → 39
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-11 09:44:08 +01:00