Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
39f041a
updates dev environment
lePereT Jan 20, 2026
304b876
updates dev environment
lePereT Jan 21, 2026
bee3b46
move dependencies, pin fibers v0.6, bus v0.3.1 and trie v0.3
lePereT Jan 21, 2026
f575146
first steps
lePereT Jan 23, 2026
f64df6c
remove unchanges files for clarity
lePereT Jan 23, 2026
aa319aa
add planned hal file structure
rslater-cs Feb 3, 2026
391cbc9
Moved and annotated cache
rslater-cs Feb 5, 2026
74bf7db
Type system for HAL core, capabilities, modems and external use (capa…
rslater-cs Feb 5, 2026
02b0e7a
HAL core, basic handling of caps and devs
rslater-cs Feb 5, 2026
0d12cad
updated HAL structure
rslater-cs Feb 6, 2026
4653435
log service just to get logs for now
rslater-cs Feb 17, 2026
ffe7042
service scope monitoring
rslater-cs Feb 17, 2026
32b0629
proper rpc endpoints and crash reporting
rslater-cs Feb 17, 2026
fea3134
channel metatable for validation
rslater-cs Feb 17, 2026
fdf1bf6
more capability opt types
rslater-cs Feb 17, 2026
4a18235
cache bug fix on timeout
rslater-cs Feb 17, 2026
edd04e0
linting and type detection
rslater-cs Feb 17, 2026
155a4e2
Added HAL bootstrap and config loading
rslater-cs Feb 20, 2026
3eb2c62
filesystem driver and manager
rslater-cs Feb 20, 2026
cc1d346
Added filesystem cap
rslater-cs Feb 20, 2026
a981d58
Added filesystem opts
rslater-cs Feb 20, 2026
7fcde95
Manager annotation update
rslater-cs Feb 20, 2026
55aa20e
Cache now stores tables as-is
rslater-cs Feb 20, 2026
4c7a633
better logging + retain state and meta
rslater-cs Mar 4, 2026
217055b
config service to work with HAL bootstrapping
rslater-cs Mar 12, 2026
71b93c3
remove outdated submodule entries for local-ui and lua-fibers
rslater-cs Mar 13, 2026
7a36310
enhance main.lua: improve path handling and error logging in service …
rslater-cs Mar 13, 2026
29481ca
bug fix for unapplied HAL manager configs
rslater-cs Mar 16, 2026
12de179
add initial implementation of authz and service base modules; refacto…
rslater-cs Mar 27, 2026
cddd04c
refactor config service: implement codec and state helpers for improv…
rslater-cs Mar 27, 2026
08dbf2f
refactor: enhance HAL service structure with improved logging and con…
rslater-cs Mar 27, 2026
c2bbcb8
feat: add capability sdk
rslater-cs Mar 27, 2026
e69ccbc
refactor: remove log service implementation and enhance monitor servi…
rslater-cs Mar 27, 2026
1fdbacc
refactor: restructure config.json for new config service
rslater-cs Mar 27, 2026
cd56db9
refactor: replace custom logging function with direct logger calls in…
rslater-cs Mar 30, 2026
32f1b9c
Remove obsolete test files for modem driver, modem card manager, serv…
rslater-cs Mar 31, 2026
def9531
feat: add initial support files for testing with bus and HAL function…
rslater-cs Mar 31, 2026
626e767
refactor: remove obsolete test files and utilities for modem and shim…
rslater-cs Mar 31, 2026
817b846
feat: add integration and unit tests for config and main services
rslater-cs Mar 31, 2026
fd9fd17
refactor: remove unused hal_wait_tick_s variable and format control c…
rslater-cs Mar 31, 2026
a95f665
feat: set environment variable CONFIG_TARGET for service configuration
rslater-cs Mar 31, 2026
a030963
feat: enhance FakeHal with capability RPC handling and state management
rslater-cs Mar 31, 2026
0e0d46e
refactor: update references from 'config' to 'cfg' for consistency in…
rslater-cs Mar 31, 2026
ac617f4
refactor: adjust indentation and enhance logging for capability regis…
rslater-cs Apr 2, 2026
7a60c9f
refactor CapabilityReference: add opts parameter to call_control_op f…
rslater-cs Apr 2, 2026
645814c
added options for state and event subs
rslater-cs Apr 7, 2026
d09bd99
HAL docs - Manager, Driver, Capability, Backend
rslater-cs Apr 9, 2026
dbd1501
refactor README.md: reorganize sections and remove make script refere…
rslater-cs Apr 9, 2026
6845f3a
runtime proposal
rslater-cs Apr 9, 2026
0a18f6f
added vendor versions
rslater-cs Apr 9, 2026
52fb7f8
System migration (#184)
rslater-cs Apr 9, 2026
476b3e2
Changed template to remove luajit only features
rslater-cs Apr 15, 2026
0f92feb
linting fixes
rslater-cs Apr 15, 2026
490ffd8
Migration to bus v0.6.1 (#188)
lePereT Apr 16, 2026
52e1ea5
better error message
rslater-cs Apr 17, 2026
20da74d
Merge branch 'migration-base' of https://github.com/jangala-dev/devic…
rslater-cs Apr 21, 2026
35e9578
Refactor system configuration to include schema and restructure alarms
rslater-cs Apr 22, 2026
c233421
Test harness fix (#198)
lePereT Apr 23, 2026
fe0a834
Refactors the devhost test diagnostics (#199)
lePereT Apr 23, 2026
78ef653
compatibility: add richer service-base lifecycle and raw-host HAL cap…
lePereT May 13, 2026
18bebbc
adopts fibers v0.9.1
lePereT May 13, 2026
ba29419
hal: adds op-only drivers and managers (#232)
lePereT May 13, 2026
9cfce4f
fabric: adds fabric service + tests (#233)
lePereT May 13, 2026
8a66973
device: adds device service + tests (#234)
lePereT May 13, 2026
47b8134
update: adds update service + tests (#235)
lePereT May 13, 2026
da9a7bd
http: adds http service + tests (#236)
lePereT May 13, 2026
6786c30
ui: adds ui service + tests (#237)
lePereT May 13, 2026
19cdc5a
Gsm migration (#181)
rslater-cs May 14, 2026
786ef92
Time migration (#177)
rslater-cs May 14, 2026
6660e7e
better ui state reporting and reprojection fix (#238)
lePereT May 14, 2026
5cbc668
http: removes the premature request and response registry (#239)
lePereT May 14, 2026
0b487de
cleans up http entry + lifecycle publication, ui lifecycle publicatio…
lePereT May 14, 2026
8068ca4
Makefile migration (#200)
rslater-cs May 15, 2026
163c6db
Metrics migration (#180)
rslater-cs May 15, 2026
37a0b25
Uci singleton (#192)
rslater-cs May 15, 2026
f97b6ee
Wifi migration (#194)
rslater-cs May 15, 2026
a52b70b
Add OpenWrt VM integration test lane for HAL networking work (#242)
lePereT May 16, 2026
f4821e3
system: time and metrics fixes (#244)
rslater-cs May 18, 2026
3b955d6
http: propagate bus request cancellation into admitted scoped work (#…
lePereT May 18, 2026
b5cc472
core: adopt cross-boundary cancellation fully (#252)
lePereT May 18, 2026
cbdea67
net; wired: adds net and wired services with hal OpenWrt network prov…
lePereT May 18, 2026
8898914
fabric: adds fabric proto docs + tests (#253)
lePereT May 19, 2026
0937f36
config: adds tests, docs (#254)
lePereT May 19, 2026
bfe75aa
Setup shared path for lua http and .init at root (#245)
rslater-cs May 19, 2026
452553f
http: bus: fix hidden HTTP-over-bus timeouts. (#255)
lePereT May 19, 2026
7b7b50f
update: full working end to end version (#257)
lePereT May 20, 2026
53bc735
metrics: use http service for publishing cloud metrics (#256)
rslater-cs May 20, 2026
4ff917d
core: make service startup dependency-aware across modern services (#…
lePereT May 21, 2026
1102d58
configs update for hal, metrics, wifi, gsm (#259)
rslater-cs May 21, 2026
5e77e2f
prevents spurious publishes by ui (#261)
lePereT May 21, 2026
5e4e0ba
stops passing unsupported options to fw4 (#262)
lePereT May 21, 2026
6ec2ce2
config: add sysmon configuration to bigbox-v1-cm-2.json (#263)
rslater-cs May 22, 2026
d7632be
net: generate OpenWrt config and calibrate WAN weights (#264)
lePereT May 28, 2026
18f6c57
hal: add validation for UCI section types to support hyphens (#265)
rslater-cs May 29, 2026
1d8a306
Makefile replace constants (#268)
rslater-cs May 29, 2026
02c8175
main: make root path an unconditional package path (#273)
rslater-cs Jun 5, 2026
4f9157f
main: add exit grace period before service cancellation (#272)
rslater-cs Jun 5, 2026
e63c55e
mcu update: minimal hardening and proof (#274)
lePereT Jun 8, 2026
e494e42
updates bus and fibers to 0.8.2 and 0.9.3 (#276)
lePereT Jun 8, 2026
a9823fe
fixes racy tests (#266)
lePereT Jun 8, 2026
268ac04
fix: update metrics service to use 'credentials' path instead of 'con…
rslater-cs Jun 11, 2026
e1a961d
terminates abandoned http object immediately (#277)
lePereT Jun 16, 2026
6776f29
wired: implement wired and switch driver (#249)
cpunt Jun 17, 2026
aa475a0
main: allow configurable exit grace period (#279)
rslater-cs Jun 19, 2026
4b71fde
bumps fibers to 0.10 (#283)
lePereT Jun 23, 2026
606b6d5
Speedtest metrics (#278)
rslater-cs Jun 23, 2026
71ba495
switch: makes driver architecture compliant (#282)
lePereT Jun 23, 2026
7b96d83
http, ui: reduces service observability noise (#284)
lePereT Jun 23, 2026
77c9dc7
gsm: wann_type, state metrics (#288)
rslater-cs Jun 25, 2026
a34f6d5
net: metrics (#287)
rslater-cs Jun 25, 2026
dcfa83c
mcu: update reliability, Fabric transfer observability, and retained …
lePereT Jun 29, 2026
5a40180
updates tests, makes explicit policy required (#289)
lePereT Jun 29, 2026
db95b2a
policy-driven bundled MCU firmware updates (#290)
lePereT Jun 30, 2026
9dde6c8
hal,http,switch: improves process ownership and shutdown behaviour (#…
lePereT Jul 3, 2026
dd614bd
calms control plane: reduces retained-state churn and fixes hal apply…
lePereT Jul 3, 2026
8cca190
shaping: adds canonical OpenWrt WAN and segment shaping (#295)
lePereT Jul 5, 2026
df1abb9
Monitor pass (#296)
lePereT Jul 6, 2026
290f75a
ui: consolidate retained connectivity state and local UI delivery (#291)
cpunt Jul 7, 2026
4a5850d
net: stabilises backhaul modelling (#301)
lePereT Jul 8, 2026
84f825e
device: publish MCU metrics (#299)
cpunt Jul 8, 2026
f1ba997
gsm, hal, ui: apn editor fix (#300)
rslater-cs Jul 8, 2026
118efa4
build: point local ui to dev
cpunt Jul 8, 2026
a413b61
hal: moves to lifecycle pump, generations (#303)
lePereT Jul 8, 2026
28062f6
changes default traffic shaping to 500/250
lePereT Jul 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
25 changes: 0 additions & 25 deletions .devcontainer/Dockerfile

This file was deleted.

12 changes: 4 additions & 8 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,22 +1,18 @@
{
"name": "devicecode-lua",
"build": {
"dockerfile": "Dockerfile"
},
"image": "ghcr.io/jangala-dev/mini-lua-image:latest",
"remoteUser": "vscode",
"postCreateCommand": "bash .devcontainer/postCreateCommand.sh",
"forwardPorts": [
8081
8081,
2222,
2242
],
"customizations": {
"vscode": {
"extensions": [
"ms-azuretools.vscode-docker",
"ms-vscode-remote.remote-containers",
"waderyan.gitblame",
"sumneko.lua",
"rog2.luacheck",
"tomblind.local-lua-debugger-vscode",
"bierner.markdown-mermaid"
]
}
Expand Down
104 changes: 60 additions & 44 deletions .devcontainer/postCreateCommand.sh
100755 β†’ 100644
Original file line number Diff line number Diff line change
@@ -1,46 +1,62 @@
#!/bin/sh

sudo apt update -y

sudo apt install -y apt-utils unzip curl wget git build-essential libreadline-dev dialog libssl-dev m4 openssl

# install core lua packages

sudo apt install -y lua5.1 liblua5.1-dev luarocks lua-dkjson

cd /tmp
sudo rm -rf LuaJIT
git clone -b v2.1.ROLLING https://github.com/LuaJIT/LuaJIT.git
cd LuaJIT
make -j$(nproc)
sudo make install
# Find the latest installed luajit binary under /usr/local/bin
latest=$(ls -1 /usr/local/bin/luajit-2.1.* | sort | tail -n 1)
# Symlink it to /usr/local/bin/luajit
sudo ln -sf "$latest" /usr/local/bin/luajit
sudo ldconfig

# install luarocks packages
sudo luarocks install bit32
sudo luarocks install cqueues
sudo luarocks install http
sudo luarocks install luaposix
sudo luarocks install luacheck
sudo luarocks install lua-cjson
sudo luarocks install dkjson
sudo luarocks install luaunit

# install cffi-lua
sudo apt install -y meson pkg-config cmake libffi-dev

cd /tmp
sudo rm -rf cffi-lua
git clone https://github.com/q66/cffi-lua
mkdir cffi-lua/build
cd cffi-lua/build
sudo meson .. -Dlua_version=5.1 --buildtype=release
sudo ninja all
sudo ninja test
sudo cp cffi.so /usr/local/lib/lua/5.1/cffi.so
#!/usr/bin/env sh
set -eu

echo "[devcontainer] preparing OpenWrt VM test tools"

if command -v apt-get >/dev/null 2>&1; then
sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
curl \
ca-certificates \
gzip \
openssh-client \
rsync \
socat \
qemu-system-x86 \
qemu-system-arm \
qemu-utils \
ovmf \
qemu-efi-aarch64 \
make \
iproute2 \
iputils-ping \
busybox \
dnsutils \
wget \
tcpdump \
cloud-image-utils \
genisoimage
elif command -v apk >/dev/null 2>&1; then
sudo apk add --no-cache \
curl \
ca-certificates \
gzip \
openssh-client \
rsync \
socat \
qemu-system-x86_64 \
qemu-system-aarch64 \
qemu-img \
ovmf \
edk2-aarch64 \
make \
iproute2 \
iputils \
busybox \
bind-tools \
wget \
tcpdump \
xorriso
else
echo "[devcontainer] unsupported base image: no apt-get or apk found" >&2
exit 1
fi

# Privileged OpenWrt dataplane tests are run inside the optional network-lab VM.
# The top-level devcontainer is intentionally unprivileged so normal development
# and fast CI jobs do not inherit bridge/tap/netns permissions.
mkdir -p tests/integration/openwrt_vm/{images,work,scripts,tests}

echo "[devcontainer] OpenWrt VM tools ready"

exit 0
8 changes: 4 additions & 4 deletions .env
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FIBERS_VER=43a04d1
TRIE_VER=28b3572
BUS_VER=89af71a
UI_VER=a8c5965
FIBERS_VER=30353346ca58c3662b9942f62ff4a9610f8ab8cb
TRIE_VER=v0.3
BUS_VER=v0.8.2
UI_VER=dev
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@ scratchpad
src/services/modem-*
docs/
build/
.env.secret
local-ui/
src/services/ui/www/
15 changes: 6 additions & 9 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
[submodule "src/lua-fibers"]
path = src/lua-fibers
[submodule "vendor/lua-fibers"]
path = vendor/lua-fibers
url = https://github.com/jangala-dev/lua-fibers.git
[submodule "src/lua-trie"]
path = src/lua-trie
[submodule "vendor/lua-trie"]
path = vendor/lua-trie
url = https://github.com/jangala-dev/lua-trie.git
[submodule "src/lua-bus"]
path = src/lua-bus
[submodule "vendor/lua-bus"]
path = vendor/lua-bus
url = https://github.com/jangala-dev/lua-bus.git
[submodule "src/services/ui/local-ui"]
path = src/services/ui/local-ui
url = https://github.com/jangala-dev/local-ui.git
32 changes: 32 additions & 0 deletions .luarc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"$schema": "https://raw.githubusercontent.com/LuaLS/vscode-lua/master/setting/schema.json",

"runtime.version": "LuaJIT",

"runtime.path": [
"src/?.lua",
"src/?/init.lua",

"vendor/lua-fibers/src/?.lua",
"vendor/lua-fibers/src/?/init.lua",

"vendor/lua-bus/src/?.lua",
"vendor/lua-bus/src/?/init.lua",

"vendor/lua-trie/src/?.lua",
"vendor/lua-trie/src/?/init.lua"
],

"workspace.library": [
"src",
"vendor/lua-fibers/src",
"vendor/lua-bus/src",
"vendor/lua-trie/src"
],

"workspace.checkThirdParty": false,
"workspace.maxPreload": 10000,

"diagnostics.enable": true,
"diagnostics.workspaceDelay": -1
}
26 changes: 26 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Debug Lua Interpreter",
"type": "lua-local",
"request": "launch",
"program": {
"lua": "lua",
"file": "${file}"
}
},
{
"name": "Debug Custom Lua Environment",
"type": "lua-local",
"request": "launch",
"program": {
"command": "command"
},
"args": []
}
]
}
3 changes: 0 additions & 3 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,7 @@
"[lua]": {
"editor.tabSize": 4
},
"Lua.workspace.checkThirdParty": false,
"Lua.workspace.maxPreload": 0,
"Lua.diagnostics.workspaceDelay": -1,
"Lua.workspace.library": [],
"Lua.diagnostics.enable": true,
"cSpell.words": [
"autopin",
Expand Down
Loading