// 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.

// This shard provides underlying disk management and general dependencies.
{
    include: [
        "inspect/client.shard.cml",
        "syslog/client.shard.cml",
    ],
    use: [
        {
            directory: "config-data",
            rights: [ "r*" ],
            path: "/config/data",
        },
        {
            directory: "dev-class-block",
            rights: [ "r*" ],
            path: "/dev/class/block",
        },
        {
            directory: "dev-sys-platform",
            rights: [ "r*" ],
            path: "/dev/sys/platform",
        },
        {
            storage: "tmp",
            path: "/tmp",
        },
        {
            protocol: [
                "fuchsia.boot.WriteOnlyLog",
                "fuchsia.feedback.CrashReporter",
                "fuchsia.hwinfo.Product",
                "fuchsia.location.namedplace.RegulatoryRegionConfigurator",
                "fuchsia.logger.LogSink",
                "fuchsia.recovery.FactoryReset",
                "fuchsia.sysmem.Allocator",
                "fuchsia.sysmem2.Allocator",
            ],
        },
    ],
}
