blob: 45aa2b7bed15caf2101edd3586ad28cada856444 [file] [log] [blame]
{
include: [
"//src/lib/fuchsia-hyper/hyper.shard.cml",
"inspect/client.shard.cml",
"syslog/client.shard.cml",
],
program: {
runner: "elf",
binary: "bin/omaha_client_service",
},
capabilities: [
{
protocol: [
"fuchsia.update.channel.Provider",
"fuchsia.update.channelcontrol.ChannelControl",
"fuchsia.update.Manager",
],
},
],
use: [
{
protocol: [
"fuchsia.boot.Arguments",
"fuchsia.cobalt.LoggerFactory",
"fuchsia.cobalt.SystemDataUpdater",
"fuchsia.feedback.ComponentDataRegister",
"fuchsia.feedback.CrashReporter",
"fuchsia.hardware.power.statecontrol.Admin",
"fuchsia.pkg.Cup",
"fuchsia.stash.Store2",
"fuchsia.ui.activity.Provider",
"fuchsia.update.CommitStatusProvider",
"fuchsia.update.config.OptOut",
"fuchsia.update.installer.Installer",
],
from: "parent",
},
{
directory: "build-info",
from: "parent",
rights: [ "r*" ],
path: "/config/build-info",
},
{
directory: "config-data",
from: "parent",
rights: [ "r*" ],
path: "/config/data",
},
{
directory: "root-ssl-certificates",
from: "parent",
rights: [ "r*" ],
path: "/config/ssl",
},
],
expose: [
{
protocol: "fuchsia.update.channel.Provider",
from: "self",
},
{
protocol: "fuchsia.update.channelcontrol.ChannelControl",
from: "self",
},
{
protocol: "fuchsia.update.Manager",
from: "self",
},
],
config: {
// periodic_interval_minutes
// The number of minutes between update checks.
periodic_interval_minutes: { type: "uint16" },
// startup_delay_seconds
// How many seconds to wait after system start before starting
// the OMCL state machine and checking for an update.
startup_delay_seconds: { type: "uint16" },
// retry_delay_seconds
// The number of seconds to wait after a failed update check
// before retrying.
retry_delay_seconds: { type: "uint16" },
// allow_reboot_when_idle
// Whether or not to reboot when idle.
allow_reboot_when_idle: { type: "bool" },
// fuzz_percentage_range
// The percent that periodic intervals are to be fuzzed to
// provide for the spreading out of units over time, if a global-
// synchronization event (e.g. major power/net outage) were to occur.
// e.g. 25 is for 25%.
//
// NB: This value must be <200%.
//
// see `fuzz_interval()` in `src/policy.rs` for details.
fuzz_percentage_range: { type: "uint8" },
},
}