Skip to content
This repository has been archived by the owner on Jan 1, 2024. It is now read-only.
dolled-possum edited this page May 19, 2023 · 3 revisions

Holium Node Structure

A Holium Node consists of an Identity Service and zero or more Support Services (right now, at least 1 as we'll always have an urbit support service). The Identity Service can be queried by and can respond to registered client apps (desktop and mobile client usage), and a limited set of operations are available via unauthenticated request, and these are meant so that other Holium Nodes can discover its capabilities. It also provides a CLI (holon) for local administration of the Holium Node.

Identity Service

This service runs in a tmux terminal session that shares the same name as the identity itself. It can answer questions about itself as well as the Support Services running in support of it, and may proxy requests to those services. It also is paired with a database used for caching purposes.

The Identity Service provides an API and is available externally.

Support Services

Any support services that run in support of an individual Holium Node will run in their own tmux terminal session, named after the identity and the service itself. For example, if there's an urbit instance running in support of the identity "dolled-possum", the tmux session will be named "dolled-possum---urbit"

Services can be durable or ephemeral. Durable support services are started as soon as the service indicates an intention to use them ("I want to attach a fileserver to my Holium Node!") and remain up except during maintenance times. Ephemeral support services are spun up on demand ("I want to host a 45-person screen-sharing session with collaborative audio chat!") and destroyed after use.

Support Services may or may not be exposed externally depending upon the use case. For example, a fileserver Support Service may itself be private, and the Identity Service may proxy requests to it, while an RTC server may need to expose its capabilities directly to avoid latency (and thus will need to be accessible through the firewall for the duration of its lifetime).

holon CLI

A Holium Node can be administered locally via the holon CLI. It supports operations to launch, stop, start, query, configure, update, and maintain the Identity Service as well as individual Support Services.