blob: c6893024be9b4ed6d293b6492bc3a32f60b74584 [file] [log] [blame]
// Copyright 2024 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.
{
children: [
{
name: "fshost",
url: "fuchsia-boot:///fshost#meta/fshost.cm",
environment: "#fshost-env",
on_terminate: "reboot",
},
],
offer: [
{
directory: "boot",
from: "parent",
to: "#fshost",
rights: [ "rx*" ],
},
{
protocol: [
"fuchsia.boot.Arguments",
"fuchsia.boot.Items",
"fuchsia.boot.WriteOnlyLog",
"fuchsia.feedback.CrashReporter",
"fuchsia.kernel.VmexResource",
"fuchsia.metrics.MetricEventLoggerFactory",
"fuchsia.process.Launcher",
],
from: "parent",
to: "#fshost",
},
{
protocol: [
"fuchsia.memorypressure.Provider",
"fuchsia.tracing.provider.Registry",
],
from: "parent",
to: "#fshost",
availability: "optional",
},
{
protocol: "fuchsia.scheduler.RoleManager",
from: "#role_manager",
to: [ "#fshost" ],
},
{
directory: "dev-topological",
from: "#devfs",
to: [ "#fshost" ],
},
{
service: "fuchsia.hardware.block.volume.Service",
from: "#boot-drivers",
to: "#fshost",
},
{
dictionary: "diagnostics",
from: "self",
to: "#fshost",
},
{
config: [
"fuchsia.fshost.Blobfs",
"fuchsia.fshost.BlobfsInitialInodes",
"fuchsia.fshost.BlobfsMaxBytes",
"fuchsia.fshost.BlobfsUseDeprecatedPaddedFormat",
"fuchsia.fshost.BootPart",
"fuchsia.fshost.CheckFilesystems",
"fuchsia.fshost.Data",
"fuchsia.fshost.DataFilesystemFormat",
"fuchsia.fshost.DataMaxBytes",
"fuchsia.fshost.DisableBlockWatcher",
"fuchsia.fshost.Factory",
"fuchsia.fshost.FormatDataOnCorruption",
"fuchsia.fshost.Fvm",
"fuchsia.fshost.FvmSliceSize",
"fuchsia.fshost.FxfsBlob",
"fuchsia.fshost.FxfsCryptUrl",
"fuchsia.fshost.Gpt",
"fuchsia.fshost.GptAll",
"fuchsia.fshost.InlineCrypto",
"fuchsia.fshost.Mbr",
"fuchsia.fshost.MergeSuperAndUserdata",
"fuchsia.fshost.Nand",
"fuchsia.fshost.NoZxcrypt",
"fuchsia.fshost.ProvisionFxfs",
"fuchsia.fshost.RamdiskImage",
"fuchsia.fshost.StarnixVolumeName",
"fuchsia.fshost.StorageHost",
"fuchsia.fshost.UseDiskMigration",
],
from: "parent",
to: "#fshost",
},
{
config: [
"fuchsia.blobfs.CacheEvictionPolicy",
"fuchsia.blobfs.WriteCompressionAlgorithm",
"fuchsia.fshost.DisableAutomount",
],
from: "parent",
to: "#fshost",
availability: "optional",
},
{
dictionary: "tee_key_management",
from: "parent",
to: "#fshost",
availability: "optional",
},
],
expose: [
{
directory: [
"blob",
"block",
"data",
"factory",
"tmp",
"volumes",
],
from: "#fshost",
},
{
directory: "debug_block",
from: "#fshost",
availability: "optional",
},
{
protocol: [
"fuchsia.fs.startup.Volumes",
"fuchsia.fshost.Admin",
"fuchsia.fxfs.BlobReader",
"fuchsia.update.verify.ComponentOtaHealthCheck",
],
from: "#fshost",
},
{
protocol: [
"fuchsia.fshost.Recovery",
"fuchsia.fshost.StarnixVolumeProvider",
"fuchsia.fxfs.FileBackedVolumeProvider",
"fuchsia.storage.partitions.PartitionsManager",
],
from: "#fshost",
availability: "optional",
},
{
service: "fuchsia.storage.partitions.PartitionService",
from: "#fshost",
availability: "optional",
},
// TODO(https://fxbug.dev/391474592): Remove after per-container volumes land.
{
protocol: "fuchsia.fxfs.CryptManagement",
from: "void",
availability: "optional",
},
],
environments: [
{
name: "fshost-env",
extends: "realm",
// 20 minutes
__stop_timeout_ms: 1200000,
},
],
}