Google is committed to advancing racial equity for Black communities. See how.

fuchsia.component.internal

ENUMS

BuiltinPkgResolver

Type: uint8

Defined in fuchsia.component.internal/config.fidl

The builtin resolver to use, if any.

NameValueDescription
NONE 1

No builtin package resolver is used. This is likely the right choice for an environment which lacks a pkgfs.

PKGFS_BASE 2

Serve the base package set using a resolver backed by pkgfs. This is the most common option and the one that products which include pkgfs probably want.

APPMGR_BRIDGE 3

Try to use the fuchsia.sys.Loader protocol from the namespace, typically this is provided by appmgr. Test scenarios commonly use this option.

OutDirContents

Type: uint8

Defined in fuchsia.component.internal/config.fidl

Determine what content to expose through component manager's outgoing directory.

NameValueDescription
NONE 1

Don't expose anything through the outgoing directory.

HUB 2

Expose component manager's hub directory.

SVC 3

Expose root component's expose/svc.

TABLES

Config

Defined in fuchsia.component.internal/config.fidl

OrdinalNameTypeDescription
1 debug bool

If true, component manager will be in debug mode. In this mode, component manager provides the BlockingEventSource protocol and exposes this protocol. Component manager will not start until it is resumed by a call to BlockingEventSource.StartComponentTree.

This is done so that an external component (say an integration test) can subscribe to events before the root component has started.

2 list_children_batch_size uint32

How many children, maximum, are returned by a call to Realm.ChildIterator.next().

3 security_policy SecurityPolicy

Security policy configuration.

4 namespace_capabilities vector<fuchsia.sys2/CapabilityDecl>

Capabilities offered from component manager's namespace.

5 use_builtin_process_launcher bool

If true, component_manager will serve an instance of fuchsia.process.Launcher and use this launcher for the built-in ELF component runner. The root component can additionally use and/or offer this service using /builtin/fuchsia.process.Launcher from realm. This flag exists because the built-in process launcher only works when component_manager runs under a job that has ZX_POL_NEW_PROCESS set to allow, like the root job. Otherwise, the component_manager process cannot directly create process through zx_process_create. When we run component_manager elsewhere, like in test environments, it has to use the fuchsia.process.Launcher service provided through its namespace instead.

6 maintain_utc_clock bool

If true, component_manager will maintain a UTC kernel clock and vend write handles through an instance of fuchsia.time.Maintenance. This flag should only be used with the top-level component_manager.

7 num_threads uint32

The number of threads to use for running component_manager's executor. Value defaults to 1.

8 builtin_pkg_resolver BuiltinPkgResolver

Which builtin resolver to use. If not supplied this defaults to the NONE option.

9 out_dir_contents OutDirContents

Determine what content to expose through the component manager's outgoing directory. If no value is set, this defaults to NONE.

10 root_component_url string[100]

URL of the root component to launch. This field is used if the no URL is passed to component manager. If value is passed in both places, then an error is raised.

JobPolicyAllowlists

Defined in fuchsia.component.internal/config.fidl

Allowlists for Zircon job policy.

OrdinalNameTypeDescription
1 ambient_mark_vmo_exec vector<string>[128]

Absolute monikers for components allowed to be given the ZX_POL_AMBIENT_MARK_VMO_EXEC job policy.

Components must request this policy by including "job_policy_ambient_mark_vmo_exec: true" in their CML's program section and must be using the ELF runner. This is equivalent to the v1 'deprecated-ambient-replace-as-executable' feature.

2 main_process_critical vector<string>[128]

Absolute monikers for components allowed to have their original process marked as critical to component_manager's job.

Components must request this critical marking by including "main_process_critical: true" in their CML's program section and must be using the ELF runner.

SecurityPolicy

Defined in fuchsia.component.internal/config.fidl

Runtime security policy.

OrdinalNameTypeDescription
1 job_policy JobPolicyAllowlists

Allowlists for Zircon job policy.

CONSTANTS

NameValueTypeDescription
MAX_ALLOWLIST_SIZE 128 uint64

The maximum size of the JobPolicyAllowlists entries. This value is currently set arbitrarily.