FirstBoot By Peridio

Introducing Custom Metadata

Written by Justin Schneck | Jul 23, 2024 7:27:06 PM

We are excited to announce a major update to Peridio with the upcoming release candidate of peridio daemon v3.0.0, featuring enhanced support for managing device software using Peridio Releases. This new capability is set to revolutionize how your teams collaborate and manage software development cycles.

With Peridio releases, your developers can connect Peridio to their CI/CD processes, enabling the composition and distribution of software bundles with greater efficiency. This means that device software can be managed as independent artifacts, allowing for rapid development cycles. Static assets, coprocessor firmware, machine learning models, and more can now be managed and updated as individual components, simplifying distribution and testing.

The Power of Custom Metadata

Driving this new feature is our introduction of signed, immutable custom metadata, which is added to release bundle binaries. Custom metadata, required to be in JSON format, provides the flexibility to store any additional information that might be useful for your binaries. Whether it’s describing dependency relationships, linking to external source resources, or providing last-mile installation instructions, custom metadata has you covered.

Peridio leverages this metadata to determine the optimal installation process for binaries on the running system. Our inheritance system ensures that custom metadata is evaluated when binaries are added to a new release bundle, allowing for advanced feature cases and overriding instructions for specific binaries when necessary.

Real-World Application: Machine Learning Models

Here’s an example of how we use custom metadata in Peridio to manage a machine learning model as an individual file on the device:

{
  "installer": "file",
  "installer_opts": {
    "name": "eeg-model.onnx",
    "path": "/opt/edge-inference-service"
  },
  "reboot_required": false
}


In this scenario, we can assume we have an ML inference engine which is monitoring this file on disk for changes. Once the file is updated, the ML inference engine immediately begins using the new model without missing any processing. This is ideal for critical AI and ML edge execution applications that require minimal downtime.

Backward Compatibility and Flexibility

With this update, we ensure backward compatibility for Nerves and fwup based workloads while offering the additional benefits of managing and deploying multiple files and fwup archives. The new feature also supports tools like SWUpdate, thanks to its flexible and customizable interface.

Unlocking New Possibilities

While the addition of custom metadata may seem like a small feature, it opens up a world of possibilities and drives powerful use cases for advanced applications. We’re thrilled to introduce this alongside our latest updates to Peridio, and we can’t wait to see how you leverage these new capabilities in your projects.

Stay tuned for more updates, and as always, thank you for being a valued part of the Peridio community!