// Copyright 2021 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: "blobfs",
            url: "fuchsia-boot:///#meta/blobfs.cm",
            startup: "eager",
        },
    ],
    use: [
        {
            protocol: [ "fuchsia.feedback.CrashReporter" ],
        },
        {
            protocol: "fuchsia.fs.startup.Startup",
            from: "#blobfs",
            path: "/blobfs/fuchsia.fs.startup.Startup",
        },
        {
            directory: "blob-exec",
            from: "#blobfs",
            rights: [
                "execute",
                "rw*",
            ],
            path: "/blob",
        },
    ],
    offer: [
        {
            protocol: [
                "fuchsia.boot.WriteOnlyLog",
                "fuchsia.device.manager.Administrator",
                "fuchsia.kernel.VmexResource",
                "fuchsia.logger.LogSink",
                "fuchsia.scheduler.ProfileProvider",
                "fuchsia.tracing.provider.Registry",
            ],
            from: "parent",
            to: "#blobfs",
        },
        {
            directory: "dev",
            from: "parent",
            to: "#blobfs",
        },
    ],
    expose: [
        {
            directory: "root",
            from: "#blobfs",
            as: "blob",
        },
        {
            directory: "blob-exec",
            from: "#blobfs",
        },
        {
            protocol: "fuchsia.update.verify.BlobfsVerifier",
            from: "#blobfs",
        },
    ],
}
