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

// Realm that acts as a container for general system components.
{
    include: [
        "inspect/offer.shard.cml",
        "syslog/offer.shard.cml",
    ],
    children: [
        {
            name: "sl4f_bridge_server",
            url: "fuchsia-pkg://fuchsia.com/sl4f-ffx-proxy-server#meta/sl4f_proxy_server.cm",
            environment: "#core-env",
        },
        {
            name: "session-manager",
            url: "fuchsia-pkg://fuchsia.com/session_manager#meta/session_manager.cm",
            startup: "eager",
            environment: "#session-env",
        },

        // TODO(https://fxbug.dev/42074694) Remove comment when this transformation is complete.
        // This is the future home of system update-related components.
        {
            name: "system-update",
            url: "fuchsia-pkg://fuchsia.com/system-update-realm#meta/system-update-realm.cm",
            startup: "eager",
        },
        {
            name: "mdns",
            url: "fuchsia-pkg://fuchsia.com/mdns#meta/mdns.cm",

            // TODO(https://fxbug.dev/42175335): consider removing eager startup in non-eng builds.
            startup: "eager",
        },
        {
            name: "cobalt_system_metrics",
            url: "fuchsia-pkg://fuchsia.com/cobalt_system_metrics#meta/cobalt_system_metrics.cm",
            startup: "eager",
        },
        {
            name: "timekeeper",
            url: "fuchsia-pkg://fuchsia.com/timekeeper#meta/timekeeper.cm",
            startup: "eager",
        },

        // Children below this line may be present on some but not all product configurations.
        // Children above this line are expected to be present on all configs that include
        // core.cml.
        //
        // TODO(https://fxbug.dev/42161411): If any of the components below are product-specific, move them
        // to core realm shards.
        {
            name: "activity",
            url: "fuchsia-pkg://fuchsia.com/activity#meta/activity.cm",
        },
        {
            name: "brightness_manager",
            url: "fuchsia-pkg://fuchsia.com/brightness_manager#meta/brightness_manager.cm",
            environment: "#core-env",
        },
        {
            name: "cobalt",
            url: "fuchsia-pkg://fuchsia.com/cobalt#meta/cobalt.cm",
        },

        // TODO(https://fxbug.dev/294908023) move to the relevant core shard
        {
            name: "starnix_runner",
            url: "fuchsia-pkg://fuchsia.com/starnix#meta/starnix_runner.cm",
            environment: "#core-env",
        },
        {
            name: "stash",
            url: "fuchsia-pkg://fuchsia.com/stash#meta/stash.cm",
        },
        {
            name: "stash2",
            url: "fuchsia-pkg://fuchsia.com/stash#meta/stash2.cm",
        },
        {
            name: "stash_secure",
            url: "fuchsia-pkg://fuchsia.com/stash#meta/stash_secure.cm",
        },
        {
            name: "regulatory_region",
            url: "fuchsia-pkg://fuchsia.com/regulatory_region#meta/regulatory_region.cm",
        },
        {
            name: "font_provider",
            url: "fuchsia-pkg://fuchsia.com/fonts#meta/fonts.cm",
        },
        {
            name: "pkg-resolver",
            url: "fuchsia-pkg://fuchsia.com/pkg-resolver#meta/pkg-resolver.cm",
        },
        {
            name: "vulkan_loader",
            url: "fuchsia-pkg://fuchsia.com/vulkan_loader#meta/vulkan_loader.cm",
            environment: "#core-env",
        },
        {
            name: "ssh-key-manager",
            url: "fuchsia-pkg://fuchsia.com/ssh-key-manager#meta/ssh-key-manager.cm",
        },
        {
            name: "full-resolver",
            url: "fuchsia-pkg://fuchsia.com/full-resolver#meta/full-resolver.cm",
        },
        {
            name: "network",
            url: "fuchsia-pkg://fuchsia.com/network#meta/network.cm",
            startup: "eager",
        },
        {
            name: "hwinfo",
            url: "fuchsia-pkg://fuchsia.com/hwinfo#meta/hwinfo.cm",
        },
        {
            name: "agis",
            url: "fuchsia-pkg://fuchsia.com/agis#meta/agis.cm",
            environment: "#core-env",
        },
        {
            name: "vsock",
            url: "fuchsia-pkg://fuchsia.com/vsock_service#meta/vsock_service.cm",
            environment: "#core-env",
        },
    ], // children
    capabilities: [
        // Note: `data`, `cache`, and `temp` storage capabilities are defined in a shard and
        // included as part of the build process. See restricted-storage.core_shard.cml or
        // unrestricted-storage.core_shard.cml
    ],
    offer: [
        {
            protocol: [ "fuchsia.metrics.MetricEventLoggerFactory" ],
            from: "#cobalt",
            to: "#network",
            dependency: "weak",
        },
        {
            from: "parent",
            to: "#network",
            config: "fuchsia.http-client.StopOnIdleTimeoutMillis",
            availability: "same_as_target",
        },
        {
            protocol: [ "fuchsia.ui.activity.Provider" ],
            from: "#activity",
            to: [ "#cobalt_system_metrics" ],
        },
        {
            protocol: "fuchsia.pkg.FontResolver",
            from: "void",
            to: "#font_provider",
            availability: "optional",
        },
        {
            protocol: [ "fuchsia.device.NameProvider" ],
            from: "parent",
            to: [
                "#agis",
                "#mdns",
                "#network",
            ],
        },
        {
            protocol: [
                "fuchsia.scheduler.deprecated.ProfileProvider",
                "fuchsia.scheduler.RoleManager",
            ],
            from: "parent",
            to: [ "#network" ],
        },
        {
            protocol: "fuchsia.net.http.Loader",
            from: "#network",
            to: "#cobalt",
        },
        {
            protocol: [ "fuchsia.net.interfaces.State" ],
            from: "#network",
            to: [
                "#mdns",
                "#timekeeper",
            ],
        },
        {
            protocol: [ "fuchsia.diagnostics.ArchiveAccessor" ],
            from: "parent",
            to: [ "#timekeeper" ],
        },
        {
            protocol: [
                "fuchsia.net.name.Lookup",
                "fuchsia.posix.socket.Provider",
            ],
            from: "#network",
            to: [
                "#cobalt",
                "#mdns",
                "#pkg-resolver",
                "#timekeeper",
            ],
        },
        {
            protocol: [ "fuchsia.posix.socket.Provider" ],
            from: "#network",
            to: [ "#agis" ],
        },
        {
            protocol: [ "fuchsia.posix.socket.Provider" ],
            from: "#network",
            to: [ "#sl4f_bridge_server" ],
        },
        {
            protocol: "fuchsia.stash.SecureStore",
            from: "#stash_secure",
            to: [ "#network" ],
        },
        {
            directory: "config-data",
            from: "parent",
            to: [ "#network" ],
        },
        {
            directory: "dev-class",
            from: "parent",
            as: "dev-class-network",
            to: [ "#network" ],
            subdir: "network",
        },
        {
            storage: "cache",
            from: "self",
            to: [ "#network" ],
        },
        {
            storage: "data",
            from: "self",
            to: [ "#network" ],
        },
        {
            protocol: "fuchsia.pkg.PackageResolver",
            from: "#pkg-resolver",
            to: "#full-resolver",
        },
        {
            protocol: [ "fuchsia.pkg.PackageCache" ],
            from: "parent",
            to: "#pkg-resolver",
        },
        {
            // This capability is only offered to pkg-resolver in test scenarios
            protocol: "fuchsia.pkg.LocalMirror",
            from: "void",
            to: "#pkg-resolver",
            availability: "optional",
        },
        {
            storage: "data",
            from: "self",
            to: "#pkg-resolver",
        },
        {
            directory: "config-data",
            from: "parent",
            to: "#pkg-resolver",
            subdir: "pkg-resolver",
        },
        {
            protocol: [
                "fuchsia.hardware.power.statecontrol.Admin",
                "fuchsia.paver.Paver",
                "fuchsia.update.verify.BlobfsVerifier",
            ],
            from: "parent",
            to: "#system-update",
        },
        {
            protocol: [ "fuchsia.update.verify.NetstackVerifier" ],
            from: "#network",
            to: "#system-update",
        },
        {
            protocol: [
                "fuchsia.sysmem.Allocator",
                "fuchsia.sysmem2.Allocator",
            ],
            from: "parent",
            to: [ "#agis" ],
        },
        {
            protocol: "fuchsia.factory.MiscFactoryStoreProvider",
            from: "#factory_store_providers",
            to: "#hwinfo",
            source_availability: "unknown",
        },
        {
            directory: "config-data",
            from: "parent",
            to: "#hwinfo",
            subdir: "hwinfo",
        },
        {
            protocol: [
                "fuchsia.hwinfo.Board",
                "fuchsia.hwinfo.Product",
            ],
            from: "#hwinfo",
            to: "#agis",
        },
        {
            directory: "config-data",
            from: "parent",
            to: "#font_provider",
            subdir: "fonts",
        },
        {
            protocol: "fuchsia.kernel.Stats",
            from: "parent",
            to: "#cobalt_system_metrics",
        },
        {
            protocol: [ "fuchsia.ui.display.internal.DisplayPower" ],
            from: "#ui",
            to: "#brightness_manager",
            dependency: "weak",
            source_availability: "unknown",
        },
        {
            storage: "data",
            from: "self",
            to: "#brightness_manager",
        },
        {
            directory: "dev-class",
            from: "parent",
            as: "dev-backlight",
            to: "#brightness_manager",
            subdir: "backlight",
        },
        {
            directory: "dev-class",
            from: "parent",
            as: "dev-input-report",
            to: "#brightness_manager",
            subdir: "input-report",
        },
        {
            directory: "dev-class",
            from: "parent",
            as: "dev-thermal",
            to: "#cobalt_system_metrics",
            subdir: "thermal",
        },
        {
            directory: "dev-class",
            from: "parent",
            as: "dev-vsock",
            to: "#vsock",
            subdir: "vsock",
        },
        {
            directory: "root-ssl-certificates",
            from: "parent",
            to: [
                "#cobalt",
                "#network",
                "#pkg-resolver",
                "#timekeeper",
            ],
        },
        {
            directory: "config-data",
            from: "parent",
            as: "system-update-committer-config-data",
            to: "#system-update",
            subdir: "system-update-committer",
        },
        {
            directory: "config-data",
            from: "parent",
            to: "#cobalt",
            subdir: "cobalt",
        },
        {
            directory: "config-data",
            from: "parent",
            to: "#cobalt_system_metrics",
            subdir: "cobalt_system_metrics",
        },
        {
            directory: "data",
            from: "parent",
            as: "ssh",
            to: "#ssh-key-manager",
            subdir: "ssh",
        },
        {
            storage: "data",
            from: "self",
            to: [
                "#stash",
                "#stash2",
                "#stash_secure",
            ],
        },
        {
            storage: [ "cache" ],
            from: "self",
            to: "#regulatory_region",
        },
        {
            protocol: [ "fuchsia.vulkan.loader.Loader" ],
            from: "#vulkan_loader",
            to: [ "#agis" ],
        },
        {
            directory: "dev-class",
            from: "parent",
            as: "dev-display-coordinator",
            to: [ "#agis" ],
            subdir: "display-coordinator",
        },
        {
            protocol: "fuchsia.memorypressure.Provider",
            from: "#memory_monitor",
            to: "#vulkan_loader",
            source_availability: "unknown",
        },
        {
            directory: "dev-class",
            from: "parent",
            as: "dev-gpu",
            to: [ "#vulkan_loader" ],
            subdir: "gpu",
        },
        {
            directory: "dev-class",
            from: "parent",
            as: "dev-gpu-dependency-injection",
            to: "#vulkan_loader",
            subdir: "gpu-dependency-injection",
        },
        {
            directory: "dev-class",
            from: "parent",
            as: "dev-goldfish-pipe",
            to: "#vulkan_loader",
            subdir: "goldfish-pipe",
        },
        {
            directory: "dev-class",
            from: "parent",
            as: "dev-goldfish-control",
            to: "#vulkan_loader",
            subdir: "goldfish-control",
        },
        {
            directory: "dev-class",
            from: "parent",
            as: "dev-goldfish-address-space",
            to: "#vulkan_loader",
            subdir: "goldfish-address-space",
        },
        {
            directory: "dev-class",
            from: "parent",
            as: "dev-goldfish-sync",
            to: "#vulkan_loader",
            subdir: "goldfish-sync",
        },
        {
            directory: "dev-class",
            from: "parent",
            as: "dev-rtc",
            to: "#timekeeper",
            subdir: "rtc",
        },
        {
            protocol: "fuchsia.metrics.MetricEventLoggerFactory",
            from: "#cobalt",
            to: [
                "#cobalt_system_metrics",
                "#pkg-resolver",
                "#timekeeper",
            ],
        },
        {
            protocol: [
                "fuchsia.scheduler.RoleManager",
                "fuchsia.sysinfo.SysInfo",
            ],
            from: "parent",
            to: "#cobalt",
        },
        {
            protocol: "fuchsia.sysinfo.SysInfo",
            from: "parent",
            to: "#cobalt_system_metrics",
        },
        {
            protocol: "fuchsia.settings.Privacy",
            from: "#setui_service",
            to: "#cobalt",

            // TODO: break the cycle
            dependency: "weak",
            source_availability: "unknown",
        },
        {
            storage: "data",
            from: "self",
            to: [
                "#cobalt",
                "#cobalt_system_metrics",
            ],
        },
        {
            directory: "config-data",
            from: "parent",
            to: "#mdns",
            subdir: "mdns",
        },
        {
            directory: "boot",
            from: "parent",
            to: "#mdns",
        },
        {
            protocol: [ "fuchsia.time.Maintenance" ],
            from: "parent",
            to: [ "#timekeeper" ],
        },
        {
            protocol: [
                "fuchsia.power.broker.Topology",
                "fuchsia.power.system.ActivityGovernor",
            ],
            from: "parent",
            to: [ "#timekeeper" ],

            // Only used if the structured config option is set
            // for timekeeper:
            //      `power_topology_integration_enabled: true`
            // See:
            //      `//src/sys/time/timekeeper/config.shard.cml`
            availability: "optional",
        },
        {
            protocol: [
                "fuchsia.power.broker.Topology",
                "fuchsia.power.system.ActivityGovernor",
            ],
            from: "parent",
            to: [ "#session-manager" ],
            availability: "optional",
        },
        {
            from: "parent",
            to: "#session-manager",
            config: "fuchsia.power.SuspendEnabled",
        },
        {
            protocol: [
                "fuchsia.tracing.perfetto.ProducerConnector",
                "fuchsia.tracing.provider.Registry",
            ],
            from: "#trace_manager",
            to: "all",

            // Weak offers to resolve dependency cycles that would be caused by
            // using #core-env. Regardless of cycles, tracing is an optional
            // feature and a client should be able to handle trace_manager
            // being unavailable.
            dependency: "weak",

            // Trace manager may be excluded from builds where tracing is not
            // expected to be used for observability, such as in the bringup
            // product and non-eng builds of any product.
            source_availability: "unknown",
        },
        {
            protocol: "fuchsia.update.channel.Provider",
            from: "#system-update",
            to: "#cobalt",
            dependency: "weak",
            availability: "optional",
        },
    ],
    expose: [
        {
            protocol: [ "fuchsia.dash.Launcher" ],
            from: "#debug-dash-launcher",
            source_availability: "unknown",
        },
        {
            protocol: "fuchsia.component.Binder",
            from: "framework",
        },
        {
            protocol: [ "fuchsia.metrics.MetricEventLoggerFactory" ],
            from: "#cobalt",
        },
        {
            protocol: [
                "fuchsia.pkg.PackageResolver",
                "fuchsia.pkg.RepositoryManager",
                "fuchsia.pkg.rewrite.Engine",
            ],
            from: "#pkg-resolver",
        },
        {
            protocol: [ "fuchsia.ui.activity.Provider" ],
            from: "#activity",
        },
        {
            protocol: "fuchsia.update.CommitStatusProvider",
            from: "#system-update",
        },
        {
            protocol: [
                "fuchsia.net.name.Lookup",
                "fuchsia.posix.socket.Provider",
            ],
            from: "#network",
        },
        {
            protocol: "fuchsia.component.DetectBinder",
            from: "#diagnostics",
            availability: "optional",
            source_availability: "unknown",
        },
        {
            protocol: [
                "fuchsia.virtualization.LinuxManager",
                "fuchsia.virtualization.TerminaGuestManager",
            ],
            from: "#termina-guest-manager",
            source_availability: "unknown",
        },
        {
            protocol: [ "fuchsia.virtualization.DebianGuestManager" ],
            from: "#debian-guest-manager",
            source_availability: "unknown",
        },
        {
            protocol: [ "fuchsia.virtualization.ZirconGuestManager" ],
            from: "#zircon-guest-manager",
            source_availability: "unknown",
        },
        {
            protocol: [
                "fuchsia.tracing.controller.Controller",
                "fuchsia.tracing.perfetto.ProducerConnector",
                "fuchsia.tracing.provider.Registry",
            ],
            from: "#trace_manager",
            source_availability: "unknown",
        },

        // TODO(https://fxbug.dev/324494668): remove this when Netstack2 is gone.
        {
            directory: "netstack-diagnostics",
            from: "#network",
            availability: "optional",
        },
    ],
}
