Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Codex provides a historical context about devices connected to XMiDT.

Build Status Go Report Card Apache V2 License GitHub release Quality Gate Status


Codex accepts incoming events, stores them in a database, and provides event information by device id. This repo is a library of packages used to implement codex.

Table of Contents

Code of Conduct

This project and everyone participating in it are governed by the XMiDT Code Of Conduct. By participating, you agree to this Code.

The Pieces

  • Database: Any postgres or cassandra database will work. In deploy/, yugabyte is used. The services connect to the database using the codex-db library.
  • Svalinn: Registers to an endpoint to receive events (Optional). Has an endpoint that receives events as WRP Messages, parses them, and inserts them into the database.
  • Gungnir: Has endpoints that provide device information from the database.
  • Fenrir (Deprecated): Deletes old records from the database at an interval.
  • Heimdall: A consumer of Codex (sends requests to Gungnir) but also requests directly to the database to get a list of device IDs.


This repo is a library of packages used for the codex project. There is no installation. To install each service, go to their respective READMEs.


for deploying the project in Docker, refer to the deploy README.


Refer to