| // Copyright 2026 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/launcher", | |
| args: [ "persistence" ], | |
| environ: [ | |
| // TODO(https://fxbug.dev/382623426): revisit this. | |
| "SCUDO_OPTIONS=release_to_os_interval_ms=0", | |
| ], | |
| }, | |
| capabilities: [ | |
| { protocol: "fuchsia.diagnostics.persistence.PreviousBootDataProvider" }, | |
| ], | |
| use: [ | |
| { | |
| protocol: [ | |
| "fuchsia.diagnostics.ArchiveAccessor.previous_boot", | |
| "fuchsia.update.Listener", | |
| ], | |
| from: "parent", | |
| }, | |
| { | |
| protocol: [ | |
| "fuchsia.hardware.power.statecontrol.ShutdownWatcherRegister", | |
| "fuchsia.power.battery.BatteryManager", | |
| ], | |
| from: "parent", | |
| availability: "optional", | |
| }, | |
| { | |
| storage: "cache", | |
| path: "/cache", | |
| }, | |
| // LINT.IfChange | |
| { | |
| config: "fuchsia.diagnostics.persist.SkipUpdateCheck", | |
| key: "skip_update_check", | |
| type: "bool", | |
| availability: "optional", | |
| default: false, | |
| }, | |
| { | |
| config: "fuchsia.diagnostics.persist.StopOnIdleTimeoutMillis", | |
| key: "stop_on_idle_timeout_millis", | |
| type: "int64", | |
| availability: "optional", | |
| default: -1, | |
| }, | |
| { | |
| config: "fuchsia.diagnostics.persist.PersistencePeriodSeconds", | |
| key: "persistence_period_seconds", | |
| type: "int64", | |
| availability: "optional", | |
| default: 300, | |
| }, | |
| { | |
| config: "fuchsia.diagnostics.persist.LowBatteryThresholdPercent", | |
| key: "low_battery_threshold_percent", | |
| type: "uint64", | |
| availability: "optional", | |
| default: 10, | |
| }, | |
| { | |
| config: "fuchsia.diagnostics.persist.EnableShutdownSnapshot", | |
| key: "enable_shutdown_snapshot", | |
| type: "bool", | |
| availability: "optional", | |
| default: false, | |
| }, | |
| // LINT.ThenChange(//src/lib/assembly/platform_configuration/src/subsystems/diagnostics.rs) | |
| ], | |
| expose: [ | |
| { | |
| protocol: "fuchsia.component.Binder", | |
| from: "framework", | |
| }, | |
| { | |
| protocol: "fuchsia.diagnostics.persistence.PreviousBootDataProvider", | |
| from: "self", | |
| }, | |
| ], | |
| } |