Skip to content

eclipse-ibeji/freyja

Repository files navigation

Project Freyja

build: N/A issues: N/A status: maintained license: MIT

Introduction

Project Freyja is an ESDV application which enables synchronization between the digital twin state on the vehicle (the "instance digital twin") and the digital twin state in the cloud (the "canonical digital twin").

For more information on Freyja's design and how it works, see the design document.

Getting Started

Prerequisites

This guide uses apt as the package manager in the examples. You may need to substitute your own package manager in place of apt when going through these steps.

  1. Install required packages. These packages are necessary to clone the repo, install the Rust toolchain, and build Freyja's dependencies:

    sudo apt update
    sudo apt install -y \
        git \
        snapd \
        gcc \
        protobuf-compiler \
        pkg-config libssl-dev \
        cmake
  2. Install the Rust Toolchain:

    sudo snap install rustup --classic

    The rust toolchain version is managed by the rust-toolchain.toml file, so once you install rustup there is no need to manually install a toolchain or set a default.

  3. Clone this repository with git clone

Using Freyja

Freyja supports a default runtime that is integrated with a set of standard adapters. To build and run the Standard Freyja Runtime, run the following command:

cargo run -p freyja

This runtime will support the following set of standard adapters:

Freyja also supports custom adapter implementations for more specific scenarios. To learn about custom adapters and how to implement and use them, see the Custom Adapters Guide.

Why "Freyja"?

The project takes it name from the Old Norse goddess Freyja. This name was chosen because she is a twin (her brother's name is Freyr) and is associated with seiðr, which is magic for seeing and influencing the future. She is also commonly associated with fertility and gold, and rules over the heavenly field of Fólkvangr. She has a necklace called Brísingamen, a cloak of falcon feathers, a boar named Hildisvíni, and rides a chariot pulled by two cats.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.