Skip to content

xmidt-org/codex-deploy

Repository files navigation

codex

Codex provides a historical context about devices connected to XMiDT.

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

Summary

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.

Install

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.

Deploy

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

Contributing

Refer to CONTRIBUTING.md.