tree: 1fc2198be4a0bef811806a4543de0345a9ded30b [path history] [tgz]
  1. capabilities/
  2. inspect/
  3. _toc.yaml
  4. black_box_testing.md
  5. capability_routing_example.png
  6. collection_example.png
  7. component_manifests.md
  8. component_urls.md
  9. elf_runner.md
  10. hub.md
  11. introduction.md
  12. life_of_a_service_open.md
  13. lifecycle.md
  14. monikers.md
  15. README.md
  16. realm_example.png
  17. realms.md
  18. resolvers.md
  19. runners.md
  20. services.md
  21. shutdown.md
  22. work_scheduler.md
docs/concepts/components/README.md

Components

This directory contains documentation about components in the new component framework (“components v2”).

Components are the basic unit of executable software on Fuchsia. They may provide and consume capabilities such as services and directories, declare routing of these capabilities, provide isolation boundaries, and have continuity between executions.

Architectural concepts

  • Introduction: the purpose of the component framework, and fundamental design principles.
  • Realms: sub-trees of the component instance topology.
  • Component URLs: URLs that identify components.
  • Monikers: identifiers for component instances.

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 & troubleshooting

  • Hub: a live view of the component topology at runtime.
  • Black box testing: integration testing framework.

Implementation details