What Is RUSS?
RUSS is a protocol and framework for building (micro)service-oriented servers using UNIX/Domain sockets which provide:
- service discoverability via the filesystem
- OS-mediated, trustworthy credentials
- passing of descriptors between independent processes
With network sockets, the web, and more, what does RUSS offer that makes it interesting? Here are a few things:
- familiar execution paradigm - services are accessed very much like running a program/function
- familiar discoverability paradigm - services can be found and listed just like running
- language agnostic - the interface between client and server is the protocol which is based on simple string arguments, communication streams, and an exit value
- security by separation - servers may run with special privileges and selectively service unprivileged clients; no more setuid issues
- help is not far away - help/usage information is available directly from the server
- runs in userspace - no kernel modules needed
To connect to one of the services of the debug server:
Connecting to the debug server on a remote host (buddy):
To list the debug services:
Where to Find Out More?
Impatient? Quickstart Setup for RUSS.
Further information for users and developers is available in the Documentation section:
Some basic examples:
The RUSS download contains a number standard servers that provide core functionality and are helpful to demonstrate how to build servers and services.