Skip to content
This repository has been archived by the owner on Jan 1, 2024. It is now read-only.

Proposed administrative operations for holium nodes

dolled-possum edited this page Jun 7, 2023 · 1 revision

Note: ignore all descriptions for now, they are copy-pasted from a previous version that didn't account for spaces, will update at first opportunity, but need to document holium node functions (separate page) first

Runtime operations

startup-all nodename

startup-all requires the name of the node to be started up. This command starts up the holium node identity service and its underlying urbit instance, followed by the startup of all spaces, and all spaces' support services that are marked as "durable".

startup-identity nodename

startup-identity requires the name of the node to be started up, and the optional specification of one or more services. This command starts up the holium node identity service and its underlying urbit instance, followed by the startup of zero to n support services. If any specific services are specified, those services should be launched (this is the mechanism for starting specific ephemeral services (by naming them individually), as well as the mechanism for only starting up the identity instance (by specifying no support services)).

startup-space nodename space

startup-space requires the name of the node to be started up, and the optional specification of one or more services. This command starts up the holium node identity service and its underlying urbit instance, followed by the startup of zero to n support services. If any specific services are specified, those services should be launched (this is the mechanism for starting specific ephemeral services (by naming them individually), as well as the mechanism for only starting up the identity instance (by specifying no support services)).

startup-space-services nodename space service[:instance] [, service[:instance], ...]

startup-space-services requires the name of the node to be started up, and the optional specification of one or more services. This command starts up the holium node identity service and its underlying urbit instance, followed by the startup of zero to n support services. If any specific services are specified, those services should be launched (this is the mechanism for starting specific ephemeral services (by naming them individually), as well as the mechanism for only starting up the identity instance (by specifying no support services)).

shutdown-all nodename

shutdown-all requires the name of the node to be shut down. This command shuts down all support services owned by this node, and then the holium node identity service and its underlying urbit instance.

shutdown-identity nodename

shutdown-identity requires the name of the node to be shut down. This command shuts down all support services owned by this node, and then the holium node identity service and its underlying urbit instance.

shutdown-space nodename space

shutdown-space requires the name of the node that owns one or more services to be shut down. This command shuts down the specific services that are named (this is the mechanism for stopping specific ephemeral services (or less commonly, durable services)).

shutdown-space-services nodename space service[:instance] [, service[:instance], ...]

shutdown-space-services requires the name of the node that owns one or more services to be shut down. This command shuts down the specific services that are named (this is the mechanism for stopping specific ephemeral services (or less commonly, durable services)).

verify-all nodename

verify-all requires the name of the node to be verified. This will return a report indicating the status of the identity service, the underlying urbit instance, and all currently running support services.

verify-identity nodename

verify-identity requires the name of the node to be verified. This will return a report indicating the status of the identity service, the underlying urbit instance, and all currently running support services.

verify-space nodename space

verify-space requires the name of the node to be verified. This will return a report indicating the status of the identity service, the underlying urbit instance, and all currently running support services.

verify-space-services nodename space service[:instance] [, service[:instance], ...]

verify-space-services requires the name of the node to be verified, and the optional specification of one or more services. This will return a report indicating the status of the identity service, the underlying urbit instance, and any named services specified in the command.

refresh-all nodename

refresh-all requires the name of the node to be refreshed. Refreshing will update the holium node's cached information about identity and all support services from the underlying urbit instance as a source of truth.

refresh-identity nodename

refresh-identity requires the name of the node to be refreshed. Refreshing will update the holium node's cached information about identity and all support services from the underlying urbit instance as a source of truth.

refresh-space nodename space

refresh-space requires the name of the node to be refreshed. Refreshing will update the holium node's cached information about identity and all support services from the underlying urbit instance as a source of truth.

refresh-space-services nodename space service[:instance] [, service[:instance], ...]

refresh-space-services requires the name of the node to be refreshed. Refreshing will update the holium node's cached information about identity and all support services from the underlying urbit instance as a source of truth.

Maintenance operations

clean nodename

clean runs maintenance operations on the urbit instance associated with a currently shut down holium node. There is never a need to run analogous procedures on the identity or support services, as these can all be reconstituted in full from the urbit data at any time (so use refresh or refresh-all).

configure-identity nodename json_payload

configure-identity will create or replace a node's identity configuration with the contents of json_payload and restart it.

configure-space nodename space json_payload

configure-space will create or replace a node's configuration for a specific not currently running service with the contents of json_payload. At some level, either in this command or outside of it (but I suspect inside), there will need to be some mechanism to enforce what services and configuration options are available for the named node.

configure-space-service nodename space service json_payload

configure-space-service will create or replace a node's configuration for a specific not currently running service with the contents of json_payload. At some level, either in this command or outside of it (but I suspect inside), there will need to be some mechanism to enforce what services and configuration options are available for the named node.