blob: 6c62b9ce7a61f5b1a3219a3c12c64b1ed8c8907a [file] [log] [blame]
// Copyright 2022 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Add sshd-host to core
//
// TODO(https://fxbug.dev/42080863): Remove unused capabilities once shell tools run outside the sshd realm.
{
children: [
{
name: "sshd-host",
url: "fuchsia-pkg://fuchsia.com/sshd-host#meta/sshd-host.cm",
startup: "eager",
},
],
offer: [
// Needed to configure sshd-host.
{
directory: "config-data",
from: "parent",
to: "#sshd-host",
subdir: "sshd-host",
},
// Needed to operate sshd-host
{
protocol: [
"fuchsia.boot.Items",
"fuchsia.logger.LogSink",
"fuchsia.process.Launcher",
],
from: "parent",
to: "#sshd-host",
},
{
protocol: "fuchsia.posix.socket.Provider",
from: "#network",
to: "#sshd-host",
},
// Used by both sshd-host and in shell namespace
{
directory: "data",
from: "parent",
to: "#sshd-host",
},
// Directories in shell namespace
{
directory: [
"bin",
"blob",
"boot",
"build-info",
"dev-topological",
"pkgfs",
"root-ssl-certificates",
"system",
"tmp",
],
from: "parent",
to: "#sshd-host",
},
{
directory: "mnt",
from: "#fs_realm",
to: "#sshd-host",
source_availability: "unknown",
availability: "optional",
},
// Protocols in shell namespace.
{
protocol: [
"fuchsia.boot.Arguments",
"fuchsia.boot.FactoryItems",
"fuchsia.boot.Items",
"fuchsia.boot.ReadOnlyLog",
"fuchsia.boot.WriteOnlyLog",
"fuchsia.device.NameProvider",
"fuchsia.diagnostics.ArchiveAccessor",
"fuchsia.diagnostics.FeedbackArchiveAccessor",
"fuchsia.diagnostics.host.ArchiveAccessor",
"fuchsia.diagnostics.LegacyMetricsArchiveAccessor",
"fuchsia.diagnostics.LogSettings",
"fuchsia.diagnostics.LoWPANArchiveAccessor",
"fuchsia.driver.development.Manager",
"fuchsia.driver.registrar.DriverRegistrar",
"fuchsia.fshost.BlockWatcher",
"fuchsia.hardware.power.statecontrol.Admin",
"fuchsia.hardware.power.statecontrol.RebootMethodsWatcherRegister",
"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.PowerResource",
"fuchsia.kernel.ProfileResource",
"fuchsia.kernel.RootJob",
"fuchsia.kernel.RootJobForInspect",
"fuchsia.kernel.SmcResource",
"fuchsia.kernel.Stats",
"fuchsia.kernel.VmexResource",
"fuchsia.logger.Log",
"fuchsia.paver.Paver",
"fuchsia.pkg.PackageCache",
"fuchsia.power.clientlevel.Connector",
"fuchsia.power.profile.Watcher",
"fuchsia.power.systemmode.ClientConfigurator",
"fuchsia.power.systemmode.Requester",
"fuchsia.process.Launcher",
"fuchsia.scheduler.RoleManager",
"fuchsia.space.Manager",
"fuchsia.sys2.CrashIntrospect",
"fuchsia.sysinfo.SysInfo",
"fuchsia.thermal.ClientStateConnector",
"fuchsia.time.Maintenance",
"fuchsia.tracing.kernel.Controller",
"fuchsia.tracing.kernel.Reader",
],
from: "parent",
to: "#sshd-host",
},
{
protocol: [
"fuchsia.hardware.pty.Device",
"fuchsia.tpm.cr50.Cr50",
"fuchsia.virtualconsole.SessionManager",
],
from: "parent",
to: "#sshd-host",
availability: "optional",
},
// SWD
{
protocol: "fuchsia.update.CommitStatusProvider",
from: "#system-update",
to: "#sshd-host",
},
{
protocol: [
"fuchsia.pkg.PackageResolver",
"fuchsia.pkg.RepositoryManager",
"fuchsia.pkg.rewrite.Engine",
],
from: "#pkg-resolver",
to: "#sshd-host",
},
// Used by component + iquery shell tool, in use for bringup.
{
protocol: [
"fuchsia.sys2.LifecycleController.root",
"fuchsia.sys2.RealmExplorer.root",
"fuchsia.sys2.RealmQuery.root",
"fuchsia.sys2.RouteValidator.root",
],
from: "parent",
to: "#sshd-host",
},
// Used by mdns-util.
{
protocol: [
"fuchsia.net.mdns.HostNameResolver",
"fuchsia.net.mdns.HostNameSubscriber",
"fuchsia.net.mdns.ProxyHostPublisher",
"fuchsia.net.mdns.Publisher",
"fuchsia.net.mdns.Resolver",
"fuchsia.net.mdns.ServiceInstancePublisher",
"fuchsia.net.mdns.ServiceInstanceResolver",
"fuchsia.net.mdns.ServiceSubscriber2",
"fuchsia.net.mdns.Subscriber",
],
from: "#mdns",
to: "#sshd-host",
},
// Used by Bluetooth shell tools.
{
protocol: [
"fuchsia.bluetooth.bredr.Profile",
"fuchsia.bluetooth.gatt.Server",
"fuchsia.bluetooth.gatt2.Server",
"fuchsia.bluetooth.le.Central",
"fuchsia.bluetooth.le.Peripheral",
"fuchsia.bluetooth.sys.Access",
"fuchsia.bluetooth.sys.Configuration",
"fuchsia.bluetooth.sys.HostWatcher",
"fuchsia.bluetooth.sys.Pairing",
],
from: "#bluetooth-core",
to: "#sshd-host",
source_availability: "unknown",
},
// Used by `session_control`
// TODO(https://fxbug.dev/42153176): Remove once session_control is deleted
{
protocol: [
"fuchsia.element.GraphicalPresenter",
"fuchsia.session.Launcher",
],
from: "#session-manager",
to: "#sshd-host",
source_availability: "unknown",
},
// Others
{
protocol: [
"fuchsia.sysmem.Allocator",
"fuchsia.sysmem2.Allocator",
],
from: "parent",
to: "#sshd-host",
},
{
protocol: [
"fuchsia.net.http.Loader",
"fuchsia.net.interfaces.admin.Installer",
"fuchsia.net.interfaces.State",
"fuchsia.net.name.Lookup",
"fuchsia.net.routes.State",
"fuchsia.net.stack.Stack",
"fuchsia.posix.socket.Provider",
],
from: "#network",
to: "#sshd-host",
},
{
protocol: "fuchsia.fonts.Provider",
from: "#font_provider",
to: "#sshd-host",
},
{
protocol: [
"fuchsia.hwinfo.Board",
"fuchsia.hwinfo.Device",
"fuchsia.hwinfo.Product",
],
from: "#hwinfo",
to: "#sshd-host",
},
{
protocol: [
"fuchsia.ui.activity.control.Control",
"fuchsia.ui.activity.Provider",
],
from: "#activity",
to: "#sshd-host",
},
{
protocol: "fuchsia.ui.brightness.Control",
from: "#brightness_manager",
to: "#sshd-host",
},
{
protocol: [
"fuchsia.cobalt.SystemDataUpdater",
"fuchsia.metrics.MetricEventLoggerFactory",
],
from: "#cobalt",
to: "#sshd-host",
},
{
protocol: "fuchsia.ssh.AuthorizedKeys",
from: "#ssh-key-manager",
to: "#sshd-host",
},
{
protocol: [
"fuchsia.location.namedplace.RegulatoryRegionConfigurator",
"fuchsia.location.namedplace.RegulatoryRegionWatcher",
],
from: "#regulatory_region",
to: "#sshd-host",
},
{
protocol: "fuchsia.process.Resolver",
from: "#process_resolver",
to: "#sshd-host",
},
{
protocol: "fuchsia.developer.remotecontrol.connector.Connector",
from: "#remote-control",
to: "#sshd-host",
},
{
protocol: "fuchsia.stash.Store",
from: "#stash",
to: "#sshd-host",
},
{
protocol: "fuchsia.stash.Store2",
from: "#stash2",
to: "#sshd-host",
},
{
protocol: "fuchsia.stash.SecureStore",
from: "#stash_secure",
to: "#sshd-host",
},
{
protocol: "fuchsia.vulkan.loader.Loader",
from: "#vulkan_loader",
to: "#sshd-host",
},
//
// Protocols below are optional and not available on all builds.
//
// LoWPAN
{
protocol: [
"fuchsia.factory.lowpan.FactoryLookup",
"fuchsia.factory.lowpan.FactoryRegister",
"fuchsia.lowpan.device.CountersConnector",
"fuchsia.lowpan.device.DeviceConnector",
"fuchsia.lowpan.device.DeviceExtraConnector",
"fuchsia.lowpan.device.EnergyScanConnector",
"fuchsia.lowpan.DeviceWatcher",
"fuchsia.lowpan.driver.Register",
"fuchsia.lowpan.experimental.DeviceConnector",
"fuchsia.lowpan.experimental.DeviceExtraConnector",
"fuchsia.lowpan.experimental.DeviceRouteConnector",
"fuchsia.lowpan.experimental.DeviceRouteExtraConnector",
"fuchsia.lowpan.experimental.LegacyJoiningConnector",
"fuchsia.lowpan.test.DeviceTestConnector",
"fuchsia.lowpan.thread.DatasetConnector",
"fuchsia.lowpan.thread.FeatureConnector",
"fuchsia.lowpan.thread.MeshcopConnector",
],
from: "#lowpanservice",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.lowpan.bootstrap.Thread",
from: "#lowpan-ot-driver",
to: "#sshd-host",
source_availability: "unknown",
},
// Bluetooth
{
protocol: [
"fuchsia.bluetooth.fastpair.Provider",
// TODO(https://fxbug.dev/42088102): Bluetooth owner component should restrict access to Bootstrap API
"fuchsia.bluetooth.sys.Bootstrap",
],
from: "#bluetooth-core",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.bluetooth.rfcomm.test.RfcommTest",
from: "#bluetooth-core",
to: "#sshd-host",
source_availability: "unknown",
availability: "optional",
},
{
protocol: "fuchsia.bluetooth.deviceid.DeviceIdentification",
from: "#bt-device-id",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: [
"fuchsia.bluetooth.avrcp.PeerManager",
"fuchsia.bluetooth.avrcp.test.PeerManagerExt",
],
from: "#bt-avrcp",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.bluetooth.snoop.Snoop",
from: "#bt-snoop",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.bluetooth.hfp.Hfp",
from: "#bt-hfp-audio-gateway",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.bluetooth.hfp.test.HfpTest",
from: "#bt-hfp-audio-gateway",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: [
"fuchsia.bluetooth.a2dp.AudioMode",
"fuchsia.bluetooth.avdtp.test.PeerManager",
"fuchsia.bluetooth.internal.a2dp.Controller",
],
from: "#bt-a2dp",
to: "#sshd-host",
source_availability: "unknown",
},
// WLAN
{
protocol: [
"fuchsia.wlan.policy.AccessPointListener",
"fuchsia.wlan.policy.AccessPointProvider",
"fuchsia.wlan.policy.ClientListener",
"fuchsia.wlan.policy.ClientProvider",
"fuchsia.wlan.product.deprecatedclient.DeprecatedClient",
"fuchsia.wlan.product.deprecatedconfiguration.DeprecatedConfigurator",
],
from: "#wlancfg",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.wlan.wlanix.Wlanix",
from: "#wlanix",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.wlan.device.service.DeviceMonitor",
from: "#wlandevicemonitor",
to: "#sshd-host",
source_availability: "unknown",
},
// SWD
{
protocol: [
"fuchsia.update.channel.Provider",
"fuchsia.update.channelcontrol.ChannelControl",
"fuchsia.update.config.OptOut",
"fuchsia.update.config.OptOutAdmin",
"fuchsia.update.Manager",
],
from: "#system-update",
to: "#sshd-host",
availability: "optional",
},
{
protocol: "fuchsia.update.installer.Installer",
from: "#system-update",
to: "#sshd-host",
},
// Media
{
protocol: [
"fuchsia.audio.device.ControlCreator",
"fuchsia.audio.device.Provider",
"fuchsia.audio.device.Registry",
],
from: "#audio_device_registry",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: [
"fuchsia.audio.ffxdaemon.DeviceControl",
"fuchsia.audio.ffxdaemon.Player",
"fuchsia.audio.ffxdaemon.Recorder",
],
from: "#audio_ffx_daemon",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: [
"fuchsia.media.ActivityReporter",
"fuchsia.media.Audio",
"fuchsia.media.AudioCore",
"fuchsia.media.AudioDeviceEnumerator",
"fuchsia.media.UsageGainReporter",
"fuchsia.media.UsageReporter",
"fuchsia.ultrasound.Factory",
],
from: "#audio_core",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.media.sounds.Player",
from: "#soundplayer",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.mediacodec.CodecFactory",
from: "#codec_factory",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: [
"fuchsia.media.sessions2.ActiveSession",
"fuchsia.media.sessions2.Discovery",
"fuchsia.media.sessions2.Publisher",
],
from: "#mediasession",
to: "#sshd-host",
source_availability: "unknown",
},
// Virtualization
{
protocol: "fuchsia.virtualization.DebianGuestManager",
from: "#debian-guest-manager",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.virtualization.ZirconGuestManager",
from: "#zircon-guest-manager",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: [
"fuchsia.virtualization.LinuxManager",
"fuchsia.virtualization.TerminaGuestManager",
],
from: "#termina-guest-manager",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.net.virtualization.Control",
from: "#network",
to: "#sshd-host",
source_availability: "unknown",
availability: "optional",
},
// Cpu performance domain control
{
service: [ "fuchsia.hardware.cpu.ctrl.Service" ],
from: "parent",
to: "#sshd-host",
},
// Others
{
protocol: [
"fuchsia.factory.AlphaFactoryStoreProvider",
"fuchsia.factory.CastCredentialsFactoryStoreProvider",
"fuchsia.factory.MiscFactoryStoreProvider",
"fuchsia.factory.PlayReadyFactoryStoreProvider",
"fuchsia.factory.WeaveFactoryStoreProvider",
"fuchsia.factory.WidevineFactoryStoreProvider",
],
from: "#factory_store_providers",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.dash.Launcher",
from: "#debug-dash-launcher",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.camera3.DeviceWatcher",
from: "#camera_device_watcher",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.recovery.FactoryReset",
from: "#factory_reset",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: [
"fuchsia.feedback.ComponentDataRegister",
"fuchsia.feedback.CrashReporter",
"fuchsia.feedback.CrashReportingProductRegister",
"fuchsia.feedback.DataProvider",
"fuchsia.feedback.LastRebootInfoProvider",
],
from: "#feedback",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: [
"fuchsia.exception.Handler",
"fuchsia.exception.ProcessLimbo",
],
from: "#exceptions",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.opencl.loader.Loader",
from: "#opencl_loader",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.net.tun.Control",
from: "#network-tun",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.location.position.EmergencyProvider",
from: "#emergency",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: [
"fuchsia.weave.Bootstrap",
"fuchsia.weave.Stack",
"fuchsia.weave.StackProvider",
],
from: "#weavestack",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.buildinfo.Provider",
from: "#build-info",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.process.explorer.Query",
from: "#process_explorer",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: [
"fuchsia.memory.debug.MemoryPressure",
"fuchsia.memory.inspection.Collector",
"fuchsia.memorypressure.Provider",
],
from: "#memory_monitor",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: [
"fuchsia.test.manager.Query",
"fuchsia.test.manager.RunBuilder",
],
from: "#test_manager",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: [
"fuchsia.settings.Accessibility",
"fuchsia.settings.Audio",
"fuchsia.settings.Display",
"fuchsia.settings.DoNotDisturb",
"fuchsia.settings.FactoryReset",
"fuchsia.settings.Input",
"fuchsia.settings.Intl",
"fuchsia.settings.Keyboard",
"fuchsia.settings.Light",
"fuchsia.settings.NightMode",
"fuchsia.settings.Privacy",
"fuchsia.settings.Setup",
],
from: "#setui_service",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: [
"fuchsia.lightsensor.Sensor",
"fuchsia.session.scene.Manager",
],
from: "#ui",
to: "#sshd-host",
dependency: "weak",
source_availability: "unknown",
},
{
protocol: "fuchsia.hardware.radar.RadarBurstReaderProvider",
from: "#radar-proxy",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "sl4f.Binder",
from: "#sl4f",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: [
"fuchsia.power.battery.BatteryManager",
"fuchsia.power.battery.test.BatterySimulator",
],
from: "#battery_manager",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.storage.ext4.Server",
from: "#fuchsia_storage_ext4_server",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: [
"fuchsia.tracing.controller.Controller",
"fuchsia.tracing.perfetto.ProducerConnector",
"fuchsia.tracing.provider.Registry",
],
from: "#trace_manager",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.memory.sampler.Sampler",
from: "#memory_sampler",
to: "#sshd-host",
source_availability: "unknown",
},
{
protocol: "fuchsia.fuzzer.Manager",
from: "#fuzz-manager",
to: "#sshd-host",
source_availability: "unknown",
},
],
}