// 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.
//
// This component ID index assigns instance IDs to component instances.
// A component's instance ID is used to key its storage directory.
//
// This file hosts commonly-used components from fuchsia.git. In the future,
// this file may be split out into several files based on product configuration.
//
// To add entries to this index, see https://fuchsia.dev/fuchsia-src/development/components/component_id_index#add-to-index
{
    instances: [
        {
            instance_id: "7db7e88479772e241229682b47f1794e12ac5d692f8d67421acd9d7ff318a975",
            moniker: "/core/account/password_authenticator",
        },
        {
            instance_id: "ee4b67bc694a8b1f502d0d73377c4e0b7a7a102470fc6abb7b1bb25a38bcda01",
            appmgr_moniker: {
                url: "fuchsia-pkg://fuchsia.com/linux_runner#meta/linux_runner.cmx",
                realm_path: [
                    "app",
                    "sys",
                ],
            },
        },
        {
            instance_id: "325b7490f2c61039b4e3e0c7a413c0197e18b1e6f83d1ba69b47790f18223432",
            appmgr_moniker: {
                url: "fuchsia-pkg://fuchsia.com/audio_core#meta/audio_core.cmx",
                realm_path: [
                    "app",
                    "sys",
                ],
            },
        },
        {
            instance_id: "e5ef2bbe9dd2b7cee87beac5e06cece13fe6f9c154b1f00abec155e6c6c9fa62",
            appmgr_moniker: {
                url: "fuchsia-pkg://fuchsia.com/archivist#meta/archivist.cmx",
                realm_path: [
                    "app",
                    "sys",
                ],
            },
        },
        {
            instance_id: "f1a52f7b4d7081060a3295fd36df7b68fb0518f80aae0eae8a3fc1d55231375f",
            moniker: "/core/setui_service",
        },
        {
            instance_id: "2e3e35640b0f45265e268204779f7314cf5acae5883ac0d028232859672a7152",
            appmgr_moniker: {
                url: "fuchsia-pkg://fuchsia.com/timezone#meta/timezone.cmx",
                realm_path: [
                    "app",
                    "sys",
                ],
            },
        },
        {
            instance_id: "e534c6322665ea3b4e7bf7bdce64d17bea86100be0eba25ed220a5e9b355c4ef",
            moniker: "/core/cobalt",
        },
        {
            instance_id: "20b2c7aba6793929c252d4e933b8a1537f7bfe8e208ad228c50a896a18b2c4b5",
            moniker: "/core/network/dhcpd",
        },
        {
            instance_id: "b63d06982a705d04fcfc5f401db2b2f9faa640fa973ff99adb4f62a39f23d24f",
            moniker: "/core/network/netcfg",
        },
        {
            instance_id: "18f6b0d52208bab5e5dd65ef6021b7e47d7a6b3d09f6668dcea18f93161e9b1d",
            moniker: "/core/wlancfg",
        },
        {
            instance_id: "83fc3d0a58182e0fc38f890a5b0965f51c1088b97f6e78c6b75f5f2fef060d8d",
            moniker: "/core/wlandevicemonitor",
        },
        {
            // TODO(fxbug.dev/73132): Entry needed to preserve /cache across the v2 migration.
            instance_id: "fd81549e77f2f3b199d4dca16131c3525428140828f0843a0fd30e7c0d2e2631",
            appmgr_moniker: {
                url: "fuchsia-pkg://fuchsia.com/forensics#meta/crash_reports.cmx",
                realm_path: [
                    "app",
                    "sys",
                ],
            },
        },
        {
            instance_id: "eb345fb7dcaa4260ee0c65bb73ef0ec5341b15a4f603f358d6631c4be6bf7080",
            moniker: "/core/feedback",
        },
        {
            instance_id: "796fc46a1898539f901c909c1ccf61c98660692fa45dabe474afaec84be6d720",
            appmgr_moniker: {
                url: "fuchsia-pkg://fuchsia.com/forensics#meta/feedback_data.cmx",
                realm_path: [
                    "app",
                    "sys",
                ],
            },
        },
        {
            instance_id: "de3e6f95d17b22bcc6b8bb5389301dc9fa60a16e2c5a4d35eb4a35dd9ac571c3",
            moniker: "/core/last_reboot",
        },
        {
            instance_id: "bf29aeef2be5779e9181fcd68a3f6de53db15d8cc952407030063086671f2904",
            appmgr_moniker: {
                url: "fuchsia-pkg://fuchsia.com/basemgr#meta/basemgr.cmx",
                realm_path: [
                    "app",
                    "sys",
                ],
            },
        },
        {
            instance_id: "72967e62c92be6e9c6d1609eec1989be814f0daf0e9324a4d18f3d0b02a3bf94",
            moniker: "/core/tee_manager",
        },
        {
            instance_id: "e9c49c28c1a0543cbd3ad4233467838c5d808285fd020ea17c8f3a9aeb6161fd",
            appmgr_moniker: {
                url: "fuchsia-pkg://fuchsia.com/device_settings_manager#meta/device_settings_manager.cmx",
                realm_path: [
                    "app",
                    "sys",
                ],
            },
        },
        {
            instance_id: "ab7a3ec7a062f943c00f3f62eb1a0f4a2ad50356600efffab46c1969ce49f3d8",
            appmgr_moniker: {
                url: "fuchsia-pkg://fuchsia.com/amber#meta/system_updater.cmx",
                realm_path: [
                    "app",
                    "sys",
                ],
            },
        },
        {
            instance_id: "d577f733dfbe1787d272e43f7e4423a01108a71d7e3a89b4e97081ad39372e4e",
            moniker: "/core/pkg-resolver",
        },
        {
            instance_id: "ea59eb01e52454f12fab0b571008d2ba8518ae12508f46a3f3f0350b7bbea40f",
            moniker: "/core/stash2",
        },
        {
            instance_id: "946b2f9dbe2ee352b033a635b1c79fc680ef62f9c1b36a39e46404f95b58e6d5",
            moniker: "/core/stash",
        },
        {
            instance_id: "c1a6d0aebbf7c092c53e8e696636af8ec0629ff39b7f2e548430b0034d809da4",
            moniker: "/core/stash_secure",
        },
        {
            instance_id: "8285f9d54645ea6baa7fd7b7905c7ae89a9daf8d5172be43b2587b166fd021af",
            moniker: "/core/brightness_manager",
        },
        {
            instance_id: "f4597d9b92f6c3e4847a5bdb53ea095aee59ad07f69745ebcdb43c9f96125d73",
            moniker: "/core/factory-reset-trigger",
        },
        {
            instance_id: "5bd5150caf1ff36c0c48bd26ef276c7ebe01b17b7919dba84abed3ab7d7bd48b",
            moniker: "/core/system-updater",
        },
        {
            instance_id: "426871d8856f43fc8433ad9049bf188454d038dc6295e0c59fd3401d72f25a48",
            appmgr_moniker: {
                url: "fuchsia-pkg://fuchsia.com/root_presenter#meta/root_presenter.cmx",
                realm_path: [
                    "app",
                    "sys",
                ],
            },
        },
        {
            instance_id: "fbd62d3fb735db534eccc2221b3bb981f50a88f60cf326f80925ccd0d0e31443",
            appmgr_moniker: {
                url: "fuchsia-pkg://fuchsia.com/ot-stack#meta/ot-stack.cmx",

                // ot-stack.cmx is launched by lowpan-spinel-driver.cmx, which is launched by sysmgr.
                realm_path: [
                    "app",
                    "sys",
                ],
            },
        },
        {
            instance_id: "76777fb21aa060c86680f0fbd7cbd4734ef6b239b429ac4d9cb2a9d08792033d",
            appmgr_moniker: {
                url: "fuchsia-pkg://fuchsia.com/cobalt_system_metrics#meta/cobalt_system_metrics.cmx",
                realm_path: [
                    "app",
                    "sys",
                ],
            },
        },

        // An entry for `memory_monitor` is needed to preserve /cache across the v2 migration.
        // See https://fxbug.dev/74359 for more details.
        {
            instance_id: "1325984af473b7d90c8160b881d28d57e0c15a4805548092349cd262efab2677",
            moniker: "/core/memory_monitor",
        },

        // An entry for `regulatory_region` is needed to preserve /cache across the v2 migration.
        // See https://fxbug.dev/74359 for more details.
        {
            instance_id: "9b2aac8bc3465533c6d6e8261478b0ab5a5db2b32cabd3b894ed40f8a695ac0f",
            moniker: "/core/regulatory_region",
        },
        {
            instance_id: "21cfa3a89262d5a856acab7166b36af59fcdaa2227256638cf0a6202e265a199",
            moniker: "/core/session-manager/session:session",
        },
    ],
}
