20221001 Orbital 2022 M2 Filesystem Persistence and Networking - orbitalfoundation/wiki GitHub Wiki

Filesystem

Orbital files are organized in a manner similar to UNIX. All of its own files are visible to the network as well as to itself. Unlike UNIX the root of the namespace is considered to be available for user accounts and other entities.

This is the current namespace usage:

/				-> the root of the project is a typical nodejs project with node_modules
				   this however is also the root of orbitals network visible file space!
				   it holds canonical network visible resources similar to say unix /home

	/sys 			-> system network visible resources such as services and full blown user apps
		/docs		-> miscellaneous documentation for the project overall
		/services	-> services that tackle chores such as http traffic or database state
		/apps		-> services that are full blown apps such as a metaverse or user desktop

	/anselm			-> the root of the namespace is simple names of parties or projects similar to wikipedia
		/apps		-> by convention user apps can be here, but it doesn't really matter
	/user2
	/user3
	/user4
	/user5

Persistence

We do provide an embeddable persistent key-value store and it has a few specific features. For more serious uses we recommend mongodb.

[TBD]

Networking

Orbital considers a network service to be 'just another service'. There is no specific concept of networking built into Orbital itself.

Two common patterns emerge for building networked apps in Orbital:

  1. Hub and Spoke. When Orbital is used in a personal server context then the provided Net Service uses sockets.io to build long sockets between the clients and the personal server instance. Both the client and the server are each running Orbital but the client instance of the network layers knows it is a client. This by default is a hub-and-spoke configuration with a single server and multiple clients.

  2. Decentralized. Developers can of course define arbitrary networks at will but there are no examples of this currently and is TBD.

[TBD]