blob: 61c74f2e3afe18936a1c7e5fb7225cb9cb37b958 [file] [log] [blame] [view] [edit]
# Target-side realms for tools
Toolbox is designed as a place to represent the needs of tools connecting to a
Fuchsia device. Capabilities needed by tools are routed to the toolbox realm
and then tools can access this realm to use the capabilities.
The toolbox realm solves a platform evolution and stability challenge by
creating an explicit, intentional location to make available capabilities
intended for use by tools. Without a location the tools resort to connecting
directly to the components that implement the capabilities the tools need. This
creates a tight coupling between tool versions and platform versions, thereby
making it difficult to reorganize the the platform component topology while
maintaining compatibility. With the toolbox realm the platform component
topology can change almost at will so long as capabilities are updated to
preserve availability of capabilities in the toolbox realm.