| { |
| 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" }, |
| }, |
| } |