RSDB is a Rust workspace for controlling a reachable rsdbd daemon over IP.
The current repository contains:
rsdb: a host CLI for discovery, saved-target management, ping/capability checks, shell access, bulk push/pull, remote editing, and a machine-facingagentsurface.rsdb-proto: the shared wire protocol and structured request/response types.rsdbd: the target-side daemon packaged for Tizen-stylesystemd+rpmenvironments.- Shell-script entrypoints for live regression, development-device daemon refresh, and a local loopback harness.
AGENTS.md is the task router. ARCHITECTURE.md and docs/ are the
repository-local system of record.
Build the workspace:
cargo build --workspaceRun the Rust test suite:
cargo test --workspaceInstall the host CLI:
cargo install --path crates/rsdb-cli --forceRun the local loopback harness:
./scripts/dev/local-loopback.shsystemdrpm- root access for install or upgrade
The packaging inputs live under tizen/rpm/, and the repository currently also
contains checked-in versioned RPMs under tizen/rpm/sources/.
Use an RPM that matches the device architecture:
rsdbd-*.aarch64.rpmrsdbd-*.armv7l.rpm
Install or upgrade it on the device:
# aarch64
rpm -Uvh rsdbd-*.aarch64.rpm
# armv7l
rpm -Uvh rsdbd-*.armv7l.rpmThe current package installs:
/usr/bin/rsdbd/usr/lib/systemd/system/rsdbd.service/etc/rsdbd.env
On upgrade, /etc/rsdbd.env is preserved as an RPM %config(noreplace) file.
The package attempts to restart rsdbd.service and prints exact follow-up
commands if the service does not come back cleanly.
- The default discovery and control port is
27101. - Saved targets live in
$XDG_CONFIG_HOME/rsdb/targets.jsonor~/.config/rsdb/targets.json. - The machine-facing command surface is
rsdb agent .... rsdb agent schemaprints the current agent contract summary.- Interactive shells forward
$TERMto the target, defaulting toxterm-256colorwhen unset. Tizen targets detected through discovery usescreen-256colorfor xterm-family host terms because Tizen Vim renders those better over this PTY path. SetRSDB_REMOTE_TERMto force a target-specific value; this bypasses the default. rsdbdcurrently advertisessecurity: ["none"]. There is no authentication or transport encryption in this codebase today.
- Build a fresh device RPM manually:
cargo tizen rpm --package rsdbd --arch <aarch64|armv7l> --release - Update
rsdbdon a development device:./scripts/dev-update-rsdbd.sh - Run shell and transfer regression smoke against a device:
./scripts/test/rsdb-regression.sh - Run machine-facing agent regression smoke against a device:
./scripts/test/rsdb-agent-regression.sh - Install bash completion (writes to
$XDG_CONFIG_HOME/rsdb/and edits~/.bashrc):rsdb completions bash --install - Print a completion script for any supported shell:
rsdb completions <bash|zsh|fish|powershell|elvish>(pipe into your shell's config).
There is no checked-in GitHub release automation script in this repo today.
ARCHITECTURE.md: top-level package and protocol mapdocs/index.md: documentation catalogdocs/operations.md: scripted workflows and their preconditionsdocs/testing.md: verification matrixdocs/quality.md: current maintenance-quality snapshot