// 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: "#meta/fxfs-crypt.cm",
        },
        {
            name: "fxfs",
            url: "#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: "/data/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",
        },
    ],
}
