-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v3.0.0 rc.0 Release #27
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mobileoverlord
force-pushed
the
rel-v3.0.0-rc.0
branch
from
July 24, 2024 18:29
7a90ac3
to
2ada7d9
Compare
jasontwong
previously approved these changes
Jul 25, 2024
mobileoverlord
force-pushed
the
rel-v3.0.0-rc.0
branch
from
July 26, 2024 02:08
2ada7d9
to
90d1de9
Compare
mobileoverlord
force-pushed
the
rel-v3.0.0-rc.0
branch
from
July 30, 2024 14:55
90d1de9
to
e32b902
Compare
mobileoverlord
force-pushed
the
rel-v3.0.0-rc.0
branch
from
August 2, 2024 19:25
e32b902
to
155a09b
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a major update and this release should be thoroughly tested.
Add support for Peridio Cloud Releases
Peridio Releases allow you greater flexibility in how you manage the content installed on your device.
Config
New
peridiod
config keys introduced:release_poll_enabled
: true | falserelease_poll_interval
: the interval in ms to automatically check for updatescache_dir
: a writable path whereperidiod
can store release metadatatargets
: A list of string target names for peridiod to install as part of a release updatetrusted_signing_keys
: A list of base64 encoded ed25519 public signing key stringsInstallers
Peridiod now has a concept of "Installers", initially supported installer types are
file
andfwup
. When using releases, you will have to use thecustom_metadata
of a binary, artifact version, or artifact to instruct peridiod how to install the binary content. Here is an example of what custom metadata for installers would look like:fwup
file
The custom metadata will need to configured on a Binary, Artifact Version, or Artifact record. You can add this custom metadata to these records using Peridio CLI v0.22.0 or later.
U-Boot Environment additions
peridiod releases will track and expose release metadata in the uboot environment under the following new keys
peridiod_rel_current
: the PRN of the current installed releaseperidiod_rel_previous
: the PRN of the previous installed releaseperidiod_rel_progress
: the PRN of the release in progressperidiod_vsn_current
: the semantic version of the current installed releaseperidiod_vsn_previous
: the semantic version of the previous installed releaseperidiod_vsn_progress
: the semantic version of the release in progressperidiod_bin_current
: an concatenated key / value paired encoded string of<binary_id><custom_metadata_sha256_hash>
internally used to diff installed binaries from release to releasePreparing a release
Peridiod will track installed binaries from release to release by updating the
peridio_bin_current
value in the u-boot-env. When burning in a device firmware for the first time, you can pre-compute this field value with information about the supplied binaries by constructing a concatenated string according to the field specifications. This will prevent peridiod from installing binaries unnecessarily on first boot.Release Install
The release server will check for an update from Peridio Cloud a the designated interval. When an update is available, the release server will immediately cache the release metadata to the cache_dir and begin processing the release. Currently, the release server is configured to install an update once it is available. This behavior will change before public release and instead be routed through the update client module. The release server will apply an update in the following order:
trusted_signing_keys
targets
listWhen peridiod installs a release, it will accumulate
reboot_required
and trigger a reboot once all binaries have finished the installation process if anyreboot_required
is true.See the Peridio Docs for more information on configuring Releases for your organization.