$ show linkease/openwrt-app-actions
This repository is a collection of LuCI applications (luci-app-*) for OpenWrt/iStoreOS, providing web-based management UIs for Docker services, system monitoring (netdata), and third-party tools (OpenClaw AI gateway, Sunpanel, mymind). It operates as an OpenWrt package feed: GitHub Actions workflows build IPK packages from the source tree, and a Go CLI tool (`forkapp`) clones and uploads LuCI apps to routers. The target platform is iStoreOS, with feeds configured from nas-packages and istore sources.
The LLM identified 3 files worth highlighting for reuse:
A client-side chart state machine for real-time system monitoring. Each chart object manages its own data_points, data_url, view_before/data_before timestamps, and exposes chartWidth(), chartPixelsPerPoint(), and canBeAutoRefreshed() methods. The time-window math is non-obvious: refresh boundaries are aligned using `before += data_update_every - (before % data_update_every)`, and a points_multiplier (x2 when SHIFT/CONTROL is pressed) scales resolution on demand. This is a self-contained pattern for building auto-refreshing time-series dashboards with efficient polling and window alignment, extractable into any web project.
A declarative catalog of hundreds of system metrics (CPU, memory, disk, network, containers, databases, web servers) following a consistent schema: title, icon, info, optional height/colors/heads/mainheads. The `info` fields are functions returning OS-adaptive descriptions (different text per operating system), and each entry links to external documentation. This is a reusable pattern for building self-documenting monitoring dashboards — the schema is clean and extensible, and the adaptive-info-function pattern solves the multi-OS documentation problem. Caveat: the file is auto-generated from src/ and tightly coupled to netdata internals; the pattern is the reusable asset, not the file itself.
A standalone Go CLI that automates the workflow of cloning an upstream LuCI application repository, adapting it for iStoreOS, and uploading it to a target router. It encapsulates the repetitive fork/adapt/deploy cycle that OpenWrt package maintainers perform manually. Self-contained and portable, it could be reused by anyone maintaining OpenWrt package feeds or managing router-side application deployments programmatically.