How arturr0k3r/akiraos works
AkiraOS is an embedded WebAssembly application platform: apps are uploaded or installed, registered by the app manager, then loaded into a sandboxed WAMR runtime with manifest-declared capabilities. Native APIs expose device services to apps, while connectivity and peripheral subsystems provide deployment, OTA, and hardware capabilities. The README documents these major product areas; sampled source supports the HTTP-install, app-storage, and OTA relationships shown. Other subsystem wiring is not inferred from the file tree alone.
Main entry points: app_manager.c App manager · akira_runtime.c WAMR runtime · security.c Capability guard · akira_storage_api.c Sandboxed storage API
Components 22
App Lifecycle
- App manager
src/runtime/app_manager/app_manager.c - Manifest parser
src/runtime/manifest_parser.c - App loader
src/runtime/app_loader/app_loader.c - App events
src/runtime/app_manager/app_events.c
Runtime Security
- WAMR runtime
src/runtime/akira_runtime.c - WASM sandbox
src/runtime/security/sandbox.c - Capability guard
src/runtime/security.c
Device Services
- Native API modules
src/api/akira_api.h - UI framework
src/ui/ui_framework.c - Device shell
src/shell/akira_shell.c - Sandboxed storage API
src/api/akira_storage_api.c
Connectivity
- HTTP server
src/connectivity/http/http_server.c - HTTP routes
src/connectivity/http/http_routes.c - Connectivity services
src/connectivity/bluetooth/bt_manager.c - OTA manager
src/connectivity/ota/ota_manager.c - OTA transport
src/connectivity/transport_interface.c - Cloud client
src/connectivity/cloud/cloud_client.c
Platform
- Filesystem manager
src/storage/fs_manager.c - Driver registry
src/drivers/driver_registry.c - Hardware drivers
src/drivers/platform_hal.c
Other components
- Device operator
- WASM app
Connections 23
- Device operator → HTTP server: uploads app
- HTTP server → HTTP routes: dispatches requests
- HTTP routes → App manager: installs app
- App manager → Manifest parser: parses manifest
- App manager → Filesystem manager: stores app
- App manager → App loader: loads app
- App loader → WAMR runtime: instantiates module
- WAMR runtime → WASM sandbox: runs isolated
- WASM app → WAMR runtime: executes in
- WAMR runtime → Capability guard: checks permissions
- Capability guard → Native API modules: guards calls
- Native API modules → Driver registry: accesses services
- Driver registry → Hardware drivers: dispatches drivers
- Sandboxed storage API → Capability guard: checks storage access
- Sandboxed storage API → Filesystem manager: reads and writes sandbox
- App manager → App events: publishes lifecycle events
- Device operator → Device shell: manages device
- Device shell → App manager: controls apps
- WASM app → UI framework: renders interface
- Connectivity services → WASM app: provides BLE services
- Device operator → OTA manager: starts update
- OTA manager → OTA transport: receives update data
- OTA transport → Cloud client: uses cloud transport