// 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.
{
    include: [
        "inspect/client.shard.cml",
        "syslog/client.shard.cml",
    ],
    program: {
        runner: "elf",
        binary: "bin/f2fs",
        args: [ "component" ],
        lifecycle: { stop_event: "notify" },
        use_next_vdso: "true",
    },
    capabilities: [
        {
            directory: "root",
            rights: [ "rw*" ],
            path: "/root",
        },
        { protocol: "fuchsia.fs.Admin" },
        {
            protocol: "fuchsia.fs.startup.Startup",
            path: "/startup/fuchsia.fs.startup.Startup",
        },
    ],
    use: [
        {
            protocol: [ "fuchsia.scheduler.RoleManager" ],
        },
        {
            protocol: [
                "fuchsia.memorypressure.Provider",
                "fuchsia.tracing.provider.Registry",
            ],
            availability: "optional",
        },
    ],
    expose: [
        {
            directory: "root",
            from: "self",
        },
        {
            protocol: [
                "fuchsia.fs.Admin",
                "fuchsia.fs.startup.Startup",
            ],
            from: "self",
        },
    ],
}
