| // Non-executable realm provisioning components and capabilities that are consistent across |
| // products. |
| { |
| children: [ |
| { |
| name: "device_settings", |
| url: "fuchsia-pkg://fuchsia.com/device_settings_manager#meta/device_settings_manager.cm", |
| }, |
| { |
| name: "appmgr", |
| url: "fuchsia-pkg://fuchsia.com/appmgr#meta/appmgr.cm", |
| }, |
| { |
| name: "session-manager", |
| url: "fuchsia-pkg://fuchsia.com/session_manager#meta/session_manager.cm", |
| environment: "#universe-resolver-env", |
| }, |
| { |
| name: "system-update-committer", |
| url: "fuchsia-pkg://fuchsia.com/system-update-committer#meta/system-update-committer.cm", |
| startup: "eager", |
| }, |
| { |
| name: "last_reboot", |
| url: "fuchsia-pkg://fuchsia.com/forensics#meta/last_reboot.cm", |
| }, |
| |
| // Children below this line may be present on some but not all product configurations (whereas |
| // children above it are expected to be present on all configs that include core.cml) |
| // TODO(fxbug.dev/48215): Decide how to make it easier to understand which children aren't present. |
| { |
| name: "activity", |
| url: "fuchsia-pkg://fuchsia.com/activity#meta/activity.cm", |
| }, |
| { |
| name: "battery_manager", |
| url: "fuchsia-pkg://fuchsia.com/battery-manager#meta/battery_manager.cm", |
| }, |
| { |
| name: "brightness_manager", |
| url: "fuchsia-pkg://fuchsia.com/brightness_manager#meta/brightness_manager.cm", |
| environment: "#universe-resolver-env", |
| }, |
| { |
| name: "detect", |
| url: "fuchsia-pkg://fuchsia.com/triage-detect#meta/triage-detect.cm", |
| }, |
| { |
| name: "diagnostics-persistence", |
| url: "fuchsia-pkg://fuchsia.com/diagnostics-persistence#meta/diagnostics-persistence.cm", |
| }, |
| { |
| name: "http-client", |
| url: "fuchsia-pkg://fuchsia.com/http-client#meta/http-client.cm", |
| }, |
| { |
| name: "log-stats", |
| url: "fuchsia-pkg://fuchsia.com/log-stats#meta/log-stats.cm", |
| }, |
| { |
| name: "sampler", |
| url: "fuchsia-pkg://fuchsia.com/sampler#meta/sampler.cm", |
| }, |
| { |
| name: "stash", |
| url: "fuchsia-pkg://fuchsia.com/stash#meta/stash.cm", |
| }, |
| { |
| name: "stash2", |
| url: "fuchsia-pkg://fuchsia.com/stash#meta/stash2.cm", |
| }, |
| { |
| name: "stash_secure", |
| url: "fuchsia-pkg://fuchsia.com/stash#meta/stash_secure.cm", |
| }, |
| { |
| name: "test_manager", |
| url: "fuchsia-pkg://fuchsia.com/test_manager#meta/test_manager.cm", |
| environment: "#universe-resolver-env", |
| }, |
| { |
| name: "font_provider", |
| url: "fuchsia-pkg://fuchsia.com/fonts#meta/fonts.cm", |
| }, |
| { |
| name: "remote-control", |
| url: "fuchsia-pkg://fuchsia.com/remote-control#meta/remote-control.cm", |
| }, |
| { |
| name: "remote-diagnostics-bridge", |
| url: "fuchsia-pkg://fuchsia.com/remote-diagnostics-bridge#meta/diagnostics-bridge.cm", |
| }, |
| { |
| name: "debug_serial", |
| url: "fuchsia-pkg://fuchsia.com/debug-serial#meta/debug-serial.cm", |
| }, |
| { |
| name: "system-metrics-logger", |
| url: "fuchsia-pkg://fuchsia.com/system-metrics-logger#meta/system-metrics-logger-component.cm", |
| environment: "#universe-resolver-env", |
| }, |
| { |
| name: "temperature-logger", |
| url: "fuchsia-pkg://fuchsia.com/temperature-logger#meta/temperature-logger.cm", |
| environment: "#universe-resolver-env", |
| }, |
| { |
| name: "universe-resolver", |
| url: "fuchsia-pkg://fuchsia.com/universe-resolver#meta/universe-resolver.cm", |
| }, |
| { |
| name: "pkg-cache", |
| url: "fuchsia-pkg://fuchsia.com/pkg-cache#meta/pkg-cache.cm", |
| }, |
| { |
| name: "dhcpd", |
| url: "fuchsia-pkg://fuchsia.com/dhcpd#meta/dhcpd.cm", |
| }, |
| { |
| name: "soundplayer", |
| url: "fuchsia-pkg://fuchsia.com/soundplayer#meta/soundplayer.cm", |
| environment: "#universe-resolver-env", |
| }, |
| { |
| name: "vulkan_loader", |
| url: "fuchsia-pkg://fuchsia.com/vulkan_loader#meta/vulkan_loader.cm", |
| environment: "#universe-resolver-env", |
| }, |
| { |
| name: "ssh-key-manager", |
| url: "fuchsia-pkg://fuchsia.com/ssh-key-manager#meta/ssh-key-manager.cm", |
| }, |
| ], |
| capabilities: [ |
| { |
| storage: "data", |
| from: "parent", |
| subdir: "persistent", |
| backing_dir: "minfs", |
| }, |
| { |
| storage: "cache", |
| from: "parent", |
| subdir: "cache", |
| backing_dir: "minfs", |
| }, |
| { |
| storage: "tmp", |
| from: "parent", |
| backing_dir: "tmp", |
| }, |
| { |
| protocol: [ |
| "fuchsia.appmgr.Startup", |
| "fuchsia.sessionmanager.Startup", |
| ], |
| }, |
| ], |
| offer: [ |
| { |
| protocol: "fuchsia.devicesettings.DeviceSettingsManager", |
| from: "#device_settings", |
| to: "#appmgr", |
| }, |
| { |
| protocol: "fuchsia.sys2.ComponentResolver", |
| from: "parent", |
| to: "#universe-resolver", |
| }, |
| { |
| protocol: "fuchsia.ssh.AuthorizedKeys", |
| from: "#ssh-key-manager", |
| to: [ "#appmgr" ], |
| }, |
| { |
| storage: "data", |
| from: "self", |
| to: "#device_settings", |
| }, |
| { |
| protocol: [ |
| "fuchsia.boot.RootResource", |
| "fuchsia.kernel.DebugResource", |
| "fuchsia.kernel.HypervisorResource", |
| "fuchsia.kernel.InfoResource", |
| "fuchsia.kernel.IoportResource", |
| "fuchsia.kernel.IrqResource", |
| "fuchsia.kernel.MmioResource", |
| "fuchsia.kernel.SmcResource", |
| "fuchsia.kernel.VmexResource", |
| ], |
| from: "parent", |
| to: "#debug_serial", |
| }, |
| { |
| protocol: "fuchsia.update.CommitStatusProvider", |
| from: "#system-update-committer", |
| to: "#appmgr", |
| }, |
| { |
| protocol: [ |
| "fuchsia.ui.activity.control.Control", |
| "fuchsia.ui.activity.Provider", |
| "fuchsia.ui.activity.Tracker", |
| ], |
| from: "#activity", |
| to: "#appmgr", |
| }, |
| { |
| protocol: [ |
| "fuchsia.power.BatteryManager", |
| "fuchsia.power.test.BatterySimulator", |
| ], |
| from: "#battery_manager", |
| to: "#appmgr", |
| }, |
| { |
| protocol: "fuchsia.ui.brightness.Control", |
| from: "#brightness_manager", |
| to: "#appmgr", |
| }, |
| { |
| protocol: "fuchsia.hardware.serial.NewDeviceProxy", |
| from: "#debug_serial", |
| to: "#appmgr", |
| }, |
| { |
| protocol: [ "fuchsia.pkg.FontResolver" ], |
| from: "#appmgr", |
| to: "#font_provider", |
| dependency: "weak_for_migration", |
| }, |
| { |
| protocol: "fuchsia.systemmetrics.test.SystemMetricsLogger", |
| from: "#system-metrics-logger", |
| to: "#appmgr", |
| }, |
| { |
| protocol: "fuchsia.thermal.test.TemperatureLogger", |
| from: "#temperature-logger", |
| to: "#appmgr", |
| }, |
| { |
| protocol: "fuchsia.stash.Store", |
| from: "#stash", |
| to: "#appmgr", |
| }, |
| { |
| protocol: "fuchsia.stash.Store2", |
| from: "#stash2", |
| to: "#appmgr", |
| }, |
| { |
| protocol: "fuchsia.stash.SecureStore", |
| from: "#stash_secure", |
| to: "#appmgr", |
| }, |
| { |
| protocol: [ "fuchsia.cobalt.LoggerFactory" ], |
| from: "#appmgr", |
| to: [ |
| "#last_reboot", |
| "#sampler", |
| ], |
| dependency: "weak_for_migration", |
| }, |
| { |
| protocol: "fuchsia.pkg.PackageResolver", |
| from: "#appmgr", |
| to: "#universe-resolver", |
| dependency: "weak_for_migration", |
| }, |
| { |
| directory: "pkgfs", |
| from: "parent", |
| to: "#pkg-cache", |
| }, |
| { |
| directory: "blob", |
| from: "parent", |
| to: "#pkg-cache", |
| }, |
| { |
| protocol: [ |
| "fuchsia.cobalt.LoggerFactory", |
| "fuchsia.tracing.provider.Registry", |
| ], |
| from: "#appmgr", |
| to: "#pkg-cache", |
| dependency: "weak_for_migration", |
| }, |
| { |
| protocol: "fuchsia.update.CommitStatusProvider", |
| from: "#system-update-committer", |
| to: "#pkg-cache", |
| }, |
| { |
| protocol: [ |
| "fuchsia.pkg.PackageCache", |
| "fuchsia.space.Manager", |
| ], |
| from: "#pkg-cache", |
| to: "#appmgr", |
| }, |
| |
| // Passing from root realm to appmgr |
| { |
| protocol: [ |
| "fuchsia.boot.Arguments", |
| "fuchsia.boot.FactoryItems", |
| "fuchsia.boot.Items", |
| "fuchsia.boot.ReadOnlyLog", |
| "fuchsia.boot.RootResource", |
| "fuchsia.device.manager.Administrator", |
| "fuchsia.device.manager.DebugDumper", |
| "fuchsia.device.manager.DriverHostDevelopment", |
| "fuchsia.device.NameProvider", |
| "fuchsia.driver.registrar.DriverRegistrar", |
| "fuchsia.hardware.power.statecontrol.Admin", |
| "fuchsia.hardware.power.statecontrol.RebootMethodsWatcherRegister", |
| "fuchsia.hardware.pty.Device", |
| "fuchsia.kernel.Counter", |
| "fuchsia.kernel.DebugBroker", |
| "fuchsia.kernel.DebugResource", |
| "fuchsia.kernel.HypervisorResource", |
| "fuchsia.kernel.InfoResource", |
| "fuchsia.kernel.IoportResource", |
| "fuchsia.kernel.IrqResource", |
| "fuchsia.kernel.MmioResource", |
| "fuchsia.kernel.RootJob", |
| "fuchsia.kernel.RootJobForInspect", |
| "fuchsia.kernel.SmcResource", |
| "fuchsia.kernel.Stats", |
| "fuchsia.kernel.VmexResource", |
| "fuchsia.paver.Paver", |
| "fuchsia.process.Launcher", |
| "fuchsia.scheduler.ProfileProvider", |
| "fuchsia.sysinfo.SysInfo", |
| "fuchsia.thermal.Controller", |
| "fuchsia.time.Maintenance", |
| "fuchsia.tracing.kernel.Controller", |
| "fuchsia.tracing.kernel.Reader", |
| "fuchsia.virtualconsole.SessionManager", |
| ], |
| from: "parent", |
| to: "#appmgr", |
| }, |
| { |
| protocol: [ "fuchsia.boot.WriteOnlyLog" ], |
| from: "parent", |
| to: [ |
| "#appmgr", |
| "#test_manager", |
| ], |
| }, |
| { |
| protocol: [ |
| "fuchsia.diagnostics.ArchiveAccessor", |
| "fuchsia.diagnostics.FeedbackArchiveAccessor", |
| "fuchsia.diagnostics.LegacyMetricsArchiveAccessor", |
| "fuchsia.logger.Log", |
| ], |
| from: "parent", |
| to: [ |
| "#appmgr", |
| "#log-stats", |
| "#sampler", |
| ], |
| }, |
| { |
| protocol: [ "fuchsia.metrics.MetricEventLoggerFactory" ], |
| from: "#appmgr", |
| to: [ |
| "#log-stats", |
| "#sampler", |
| ], |
| }, |
| { |
| protocol: [ "fuchsia.hardware.power.statecontrol.RebootMethodsWatcherRegister" ], |
| from: "parent", |
| to: [ |
| "#last_reboot", |
| "#sampler", |
| ], |
| }, |
| { |
| protocol: [ "fuchsia.diagnostics.FeedbackArchiveAccessor" ], |
| from: "parent", |
| to: [ |
| "#detect", |
| "#diagnostics-persistence", |
| ], |
| }, |
| { |
| protocol: [ "fuchsia.logger.LogSink" ], |
| from: "parent", |
| to: [ |
| "#activity", |
| "#appmgr", |
| "#battery_manager", |
| "#brightness_manager", |
| "#debug_serial", |
| "#detect", |
| "#device_settings", |
| "#dhcpd", |
| "#diagnostics-persistence", |
| "#font_provider", |
| "#http-client", |
| "#last_reboot", |
| "#log-stats", |
| "#pkg-cache", |
| "#remote-control", |
| "#sampler", |
| "#session-manager", |
| "#ssh-key-manager", |
| "#stash", |
| "#stash2", |
| "#stash_secure", |
| "#system-metrics-logger", |
| "#system-update-committer", |
| "#temperature-logger", |
| "#test_manager", |
| "#universe-resolver", |
| "#vulkan_loader", |
| ], |
| }, |
| { |
| protocol: [ |
| "fuchsia.hardware.power.statecontrol.Admin", |
| "fuchsia.paver.Paver", |
| "fuchsia.update.verify.BlobfsVerifier", |
| ], |
| from: "parent", |
| to: "#system-update-committer", |
| }, |
| { |
| protocol: [ |
| "fuchsia.kernel.VmexResource", |
| "fuchsia.sys2.EventSource", |
| ], |
| from: "parent", |
| to: "#test_manager", |
| }, |
| { |
| storage: "tmp", |
| from: "self", |
| to: [ "#test_manager" ], |
| }, |
| { |
| directory: "config-data", |
| from: "parent", |
| to: "#test_manager", |
| }, |
| |
| // These capabilities are offered to test_manager for use by certain non-hermetic tests. |
| { |
| protocol: [ |
| "fuchsia.hardware.display.Provider", |
| "fuchsia.process.Launcher", |
| "fuchsia.scheduler.ProfileProvider", |
| "fuchsia.sysmem.Allocator", |
| "fuchsia.tracing.provider.Registry", |
| ], |
| from: "parent", |
| to: "#test_manager", |
| }, |
| { |
| directory: "dev", |
| from: "parent", |
| as: "dev-display-controller", |
| to: "#test_manager", |
| subdir: "class/display-controller", |
| }, |
| { |
| protocol: [ |
| "fuchsia.buildinfo.Provider", |
| "fuchsia.hwinfo.Device", |
| "fuchsia.net.stack.Stack", |
| "fuchsia.overnet.Overnet", |
| "fuchsia.overnet.ServicePublisher", |
| "fuchsia.sys.Launcher", |
| "fuchsia.test.manager.Harness", |
| ], |
| from: "#appmgr", |
| to: "#remote-control", |
| dependency: "weak_for_migration", |
| }, |
| { |
| protocol: [ |
| "fuchsia.device.manager.Administrator", |
| "fuchsia.device.NameProvider", |
| ], |
| from: "parent", |
| to: "#remote-control", |
| }, |
| { |
| protocol: [ |
| "fuchsia.diagnostics.ArchiveAccessor", |
| "fuchsia.logger.LogSink", |
| ], |
| from: "parent", |
| to: "#remote-diagnostics-bridge", |
| }, |
| { |
| directory: "config-data", |
| from: "parent", |
| to: "#font_provider", |
| subdir: "fonts", |
| }, |
| { |
| directory: "config-data", |
| from: "parent", |
| to: "#sampler", |
| subdir: "sampler", |
| }, |
| { |
| directory: "config-data", |
| from: "parent", |
| to: "#diagnostics-persistence", |
| subdir: "diagnostics-persistence", |
| }, |
| { |
| protocol: "fuchsia.developer.remotecontrol.RemoteDiagnosticsBridge", |
| from: "#remote-diagnostics-bridge", |
| to: "#remote-control", |
| }, |
| { |
| protocol: "fuchsia.developer.remotecontrol.RemoteControl", |
| from: "#remote-control", |
| to: "#appmgr", |
| }, |
| { |
| protocol: "fuchsia.feedback.CrashReporter", |
| from: "#appmgr", |
| to: [ |
| "#detect", |
| "#last_reboot", |
| ], |
| dependency: "weak_for_migration", |
| }, |
| { |
| protocol: "fuchsia.feedback.CrashReportingProductRegister", |
| from: "#appmgr", |
| to: "#detect", |
| }, |
| { |
| protocol: "fuchsia.fonts.Provider", |
| from: "#font_provider", |
| to: "#appmgr", |
| }, |
| { |
| protocol: "fuchsia.test.manager.Harness", |
| from: "#test_manager", |
| to: [ "#appmgr" ], |
| }, |
| { |
| protocol: "fuchsia.kernel.Stats", |
| from: "parent", |
| to: "#system-metrics-logger", |
| }, |
| { |
| protocol: "fuchsia.tracing.provider.Registry", |
| from: "#appmgr", |
| to: "#system-metrics-logger", |
| dependency: "weak_for_migration", |
| }, |
| { |
| storage: "data", |
| from: "self", |
| to: "#brightness_manager", |
| }, |
| { |
| directory: "dev", |
| from: "parent", |
| as: "dev-backlight", |
| to: "#brightness_manager", |
| subdir: "class/backlight", |
| }, |
| { |
| directory: "dev", |
| from: "parent", |
| as: "dev-input", |
| to: "#brightness_manager", |
| subdir: "class/input", |
| }, |
| { |
| directory: "dev", |
| from: "parent", |
| as: "dev-power", |
| to: "#battery_manager", |
| subdir: "class/power", |
| }, |
| { |
| directory: "dev", |
| from: "parent", |
| as: "dev-temperature", |
| to: "#temperature-logger", |
| subdir: "class/temperature", |
| }, |
| { |
| directory: "dev", |
| from: "parent", |
| as: "dev-thermal", |
| to: "#temperature-logger", |
| subdir: "class/thermal", |
| }, |
| { |
| directory: "root-ssl-certificates", |
| from: "parent", |
| to: [ |
| "#http-client", |
| "#test_manager", |
| ], |
| }, |
| { |
| directory: "config-data", |
| from: "parent", |
| to: "#temperature-logger", |
| subdir: "temperature-logger", |
| }, |
| { |
| directory: "config-data", |
| from: "parent", |
| to: "#detect", |
| subdir: "triage-detect", |
| }, |
| { |
| directory: "config-data", |
| from: "parent", |
| to: "#log-stats", |
| subdir: "log-stats", |
| }, |
| { |
| directory: "config-data", |
| from: "parent", |
| to: "#system-update-committer", |
| subdir: "system-update-committer", |
| }, |
| { |
| protocol: [ |
| "fuchsia.device.Controller", |
| "fuchsia.hardware.temperature.Device", |
| ], |
| from: "parent", |
| to: "#temperature-logger", |
| }, |
| { |
| protocol: "fuchsia.tracing.provider.Registry", |
| from: "#appmgr", |
| to: "#temperature-logger", |
| dependency: "weak_for_migration", |
| }, |
| { |
| directory: "boot", |
| from: "parent", |
| to: [ |
| "#appmgr", |
| "#last_reboot", |
| ], |
| }, |
| { |
| directory: "dev", |
| from: "parent", |
| to: "#appmgr", |
| }, |
| { |
| directory: "durable", |
| from: "parent", |
| to: "#appmgr", |
| }, |
| { |
| directory: "factory", |
| from: "parent", |
| to: "#appmgr", |
| }, |
| { |
| directory: "minfs", |
| from: "parent", |
| to: "#appmgr", |
| }, |
| { |
| directory: "minfs", |
| from: "parent", |
| as: "ssh", |
| to: [ "#ssh-key-manager" ], |
| subdir: "ssh", |
| }, |
| { |
| directory: "pkgfs", |
| from: "parent", |
| to: "#appmgr", |
| rights: [ "rx*" ], |
| }, |
| { |
| directory: "system", |
| from: "parent", |
| to: "#appmgr", |
| }, |
| { |
| directory: "blob", |
| from: "parent", |
| to: "#appmgr", |
| }, |
| { |
| directory: "volume", |
| from: "parent", |
| to: "#appmgr", |
| }, |
| { |
| directory: "install", |
| from: "parent", |
| to: "#appmgr", |
| }, |
| { |
| directory: "tmp", |
| from: "parent", |
| to: "#appmgr", |
| }, |
| |
| // Note: this is the v2 root hub. The hub in the `expose` section below |
| // is the v1 root hub. |
| { |
| directory: "hub", |
| from: "parent", |
| to: [ |
| "#appmgr", |
| "#remote-control", |
| ], |
| }, |
| { |
| storage: "cache", |
| from: "self", |
| to: "#session-manager", |
| }, |
| { |
| storage: "data", |
| from: "self", |
| to: "#session-manager", |
| }, |
| { |
| storage: "tmp", |
| from: "self", |
| to: "#session-manager", |
| }, |
| { |
| directory: "config-data", |
| from: "parent", |
| to: "#session-manager", |
| }, |
| { |
| directory: "dev", |
| from: "parent", |
| as: "dev-input-report", |
| to: [ |
| "#session-manager", |
| "#test_manager", |
| ], |
| subdir: "class/input-report", |
| }, |
| { |
| protocol: [ "fuchsia.hardware.power.statecontrol.Admin" ], |
| from: "parent", |
| to: "#session-manager", |
| }, |
| { |
| protocol: [ |
| "fuchsia.cobalt.LoggerFactory", |
| "fuchsia.sys.Launcher", |
| "fuchsia.sys2.Realm", |
| "fuchsia.tracing.provider.Registry", |
| "fuchsia.ui.focus.FocusChainListenerRegistry", |
| "fuchsia.ui.input.ImeService", |
| "fuchsia.ui.input2.Keyboard", |
| "fuchsia.ui.input3.Keyboard", |
| "fuchsia.ui.input3.KeyEventInjector", |
| "fuchsia.ui.keyboard.focus.Controller", |
| "fuchsia.ui.lifecycle.LifecycleController", |
| "fuchsia.ui.pointerinjector.Registry", |
| "fuchsia.ui.policy.Presenter", |
| "fuchsia.ui.scenic.Scenic", |
| "fuchsia.ui.shortcut.Manager", |
| "fuchsia.ui.views.ViewRefInstalled", |
| ], |
| from: "#appmgr", |
| to: "#session-manager", |
| }, |
| { |
| protocol: "fuchsia.input.injection.InputDeviceRegistry", |
| from: "#session-manager", |
| to: "#appmgr", |
| dependency: "weak_for_migration", |
| }, |
| { |
| protocol: "fuchsia.net.http.Loader", |
| from: "#http-client", |
| to: "#appmgr", |
| }, |
| { |
| protocol: [ |
| "fuchsia.net.NameLookup", |
| "fuchsia.posix.socket.Provider", |
| ], |
| from: "#appmgr", |
| to: "#http-client", |
| dependency: "weak_for_migration", |
| }, |
| { |
| protocol: [ |
| "fuchsia.net.NameLookup", |
| "fuchsia.net.neighbor.Controller", |
| "fuchsia.posix.socket.Provider", |
| "fuchsia.stash.SecureStore", |
| ], |
| from: "#appmgr", |
| to: "#dhcpd", |
| }, |
| { |
| directory: "config-data", |
| from: "parent", |
| to: "#dhcpd", |
| subdir: "dhcpd", |
| }, |
| { |
| protocol: "fuchsia.net.dhcp.Server", |
| from: "#dhcpd", |
| to: "#appmgr", |
| dependency: "weak_for_migration", |
| }, |
| { |
| storage: "data", |
| from: "self", |
| to: [ |
| "#dhcpd", |
| "#last_reboot", |
| "#stash", |
| "#stash2", |
| "#stash_secure", |
| ], |
| }, |
| { |
| protocol: "fuchsia.feedback.LastRebootInfoProvider", |
| from: "#last_reboot", |
| to: "#appmgr", |
| }, |
| { |
| storage: "tmp", |
| from: "self", |
| to: "#last_reboot", |
| }, |
| { |
| storage: "cache", |
| from: "self", |
| to: "#last_reboot", |
| }, |
| { |
| protocol: "fuchsia.media.sounds.Player", |
| from: "#soundplayer", |
| to: "#appmgr", |
| }, |
| { |
| storage: "cache", |
| from: "self", |
| to: "#diagnostics-persistence", |
| }, |
| { |
| protocol: [ "fuchsia.media.Audio" ], |
| from: "#appmgr", |
| to: "#soundplayer", |
| dependency: "weak_for_migration", |
| }, |
| { |
| protocol: [ "fuchsia.vulkan.loader.Loader" ], |
| from: "#vulkan_loader", |
| to: [ "#appmgr" ], |
| }, |
| { |
| directory: "system", |
| from: "parent", |
| as: "system-lib", |
| to: [ "#vulkan_loader" ], |
| subdir: "lib", |
| }, |
| { |
| directory: "dev", |
| from: "parent", |
| as: "dev-gpu", |
| to: [ "#vulkan_loader" ], |
| subdir: "class/gpu", |
| }, |
| { |
| directory: "dev", |
| from: "parent", |
| as: "dev-goldfish-pipe", |
| to: [ "#vulkan_loader" ], |
| subdir: "class/goldfish-pipe", |
| }, |
| { |
| directory: "dev", |
| from: "parent", |
| as: "dev-goldfish-control", |
| to: [ "#vulkan_loader" ], |
| subdir: "class/goldfish-control", |
| }, |
| { |
| directory: "dev", |
| from: "parent", |
| as: "dev-goldfish-address-space", |
| to: [ "#vulkan_loader" ], |
| subdir: "class/goldfish-address-space", |
| }, |
| ], |
| expose: [ |
| // Non-zircon services for svchost |
| { |
| protocol: [ |
| "fuchsia.amber.Control", |
| "fuchsia.cobalt.LoggerFactory", |
| "fuchsia.exception.Handler", |
| "fuchsia.feedback.CrashReporter", |
| "fuchsia.hwinfo.Device", |
| "fuchsia.metrics.MetricEventLoggerFactory", |
| "fuchsia.net.NameLookup", |
| "fuchsia.net.stack.Log", |
| "fuchsia.net.stack.Stack", |
| "fuchsia.netstack.Netstack", |
| "fuchsia.pkg.PackageResolver", |
| "fuchsia.pkg.RepositoryManager", |
| "fuchsia.pkg.rewrite.Engine", |
| "fuchsia.posix.socket.Provider", |
| "fuchsia.process.Resolver", |
| "fuchsia.sys.Environment", |
| "fuchsia.sys.internal.ComponentEventProvider", |
| "fuchsia.sys.internal.LogConnector", |
| "fuchsia.sys.Launcher", |
| "fuchsia.sys.Loader", |
| "fuchsia.tracing.controller.Controller", |
| "fuchsia.tracing.provider.Registry", |
| ], |
| from: "#appmgr", |
| }, |
| { |
| protocol: [ "fuchsia.appmgr.Startup" ], |
| from: "#appmgr", |
| }, |
| { |
| protocol: [ "fuchsia.sessionmanager.Startup" ], |
| from: "#session-manager", |
| }, |
| { |
| protocol: [ "fuchsia.diagnostics.internal.DetectController" ], |
| from: "#detect", |
| }, |
| { |
| protocol: [ "fuchsia.diagnostics.internal.PersistenceController" ], |
| from: "#diagnostics-persistence", |
| }, |
| { |
| protocol: [ "fuchsia.diagnostics.internal.LogStatsController" ], |
| from: "#log-stats", |
| }, |
| { |
| protocol: [ "fuchsia.diagnostics.internal.SamplerController" ], |
| from: "#sampler", |
| }, |
| |
| // device_manager needs the hub for the serial console |
| { |
| directory: "hub", |
| from: "#appmgr", |
| }, |
| ], |
| environments: [ |
| // Components that simply need access to universe-resolver can use this environment. |
| { |
| name: "universe-resolver-env", |
| extends: "realm", |
| resolvers: [ |
| { |
| resolver: "universe-resolver", |
| from: "#universe-resolver", |
| scheme: "fuchsia-pkg", |
| }, |
| ], |
| }, |
| ], |
| } |