isle/docs/dev/architecture.md

1.2 KiB

Architecture

The isle daemon is the central point around which all operations occur. Users of the isle command-line tool (or, soon, a GUI) communicate with the daemon over a local RPC socket to issue commands, for example to tell it to join a new network or to retrieve the names of hosts in an already-joined network.

For every network which is joined, the isle daemon will create and manage sub-processes to provide certain parts of its functionality. These include:

  • A nebula instance to provide VPN functionality.
  • A dnsmasq instance to act as DNS server.
  • Zero or more garage instances, depending on how storage is configured on the host, to provide the S3 storage layer.

The isle daemon considers the configuration and management of these sub-processes to be an implementation detail. In other words, its RPC interface, and therefore all user interfaces, do not expose members to the fact that these sub-processes exist, or even that these projects are being used under the hood.

Architectural diagram