// 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: "fxfs-crypt",
            url: "fuchsia-boot:///#meta/fxfs-crypt.cm",
        },
        {
            name: "fxfs",
            url: "fuchsia-boot:///#meta/fxfs.cm",
        },
    ],
    use: [
        {
            protocol: "fuchsia.fxfs.Crypt",
            from: "#fxfs-crypt",
        },
        {
            protocol: "fuchsia.fxfs.CryptManagement",
            from: "#fxfs-crypt",
        },
        {
            protocol: "fuchsia.fs.startup.Startup",
            from: "#fxfs",
            path: "/fxfs/fuchsia.fs.startup.Startup",
        },

        // Required for inspect data and to migrate data.
        {
            directory: "root",
            from: "#fxfs",
            rights: [ "rw*" ],
            path: "/data_root",
        },
    ],
    offer: [
        {
            protocol: [ "fuchsia.logger.LogSink" ],
            from: "parent",
            to: [
                "#fxfs",
                "#fxfs-crypt",
            ],
        },
    ],
    expose: [
        {
            directory: "root",
            from: "#fxfs",
            as: "minfs",
        },
    ],
}
