Components v2
This section contains documentation about components in the new component framework (components v2).
Components are the basic unit of executable software on Fuchsia.
Note: The component framework is under active development. This document only covers the new architecture (components v2) implemented by component_manager
. The old architecture (components v1) implemented by appmgr
is still in use but will be removed once the transition to the new architecture is complete.
Architectural concepts
- Introduction: What are components and the component framework.
- Component manager: The runtime.
- Declarations: Describe components themselves.
- Lifecycle: Component instance progression from creation to destruction.
- Topology: The relationships among component instances.
- Realms: Sub-trees of the component instance topology.
- Monikers: Identifiers for component instances based on the component topology.
Developing components
- Capabilities: Different types of capabilities and how to route them between components.
- Component manifests: How to define a component for the framework.
- ELF runner: How to launch a component from an ELF file. Typically useful for developing system components in C++, Rust, or Go.
Extending the component framework
- Runners: Instantiate components; add support for more runtimes.
- Resolvers: Find components from URLs; add support for methods of software packaging and distribution.
Debugging and troubleshooting
- Hub: A live view of the component topology at runtime.
- OpaqueTest: Hermetic testing framework.
Components (either version)
Testing
Meta
Internals