An open API service indexing awesome lists of open source software.

https://github.com/xmidt-org/codex-deploy

Codex provides a historical context about devices connected to XMiDT.
https://github.com/xmidt-org/codex-deploy

comcast-codex go golang xmidt

Last synced: about 2 months ago
JSON representation

Codex provides a historical context about devices connected to XMiDT.

Awesome Lists containing this project

README

        

# codex

Codex provides a historical context about devices connected to [XMiDT](https://github.com/Comcast/xmidt).

[![Build Status](https://github.com/xmidt-org/codex-deploy/workflows/CI/badge.svg)](https://github.com/xmidt-org/codex-deploy/actions)
[![Go Report Card](https://goreportcard.com/badge/github.com/xmidt-org/codex-deploy)](https://goreportcard.com/report/github.com/xmidt-org/codex-deploy)
[![Apache V2 License](http://img.shields.io/badge/license-Apache%20V2-blue.svg)](https://github.com/xmidt-org/codex-deploy/blob/main/LICENSE)
[![GitHub release](https://img.shields.io/github/release/xmidt-org/codex-deploy.svg)](CHANGELOG.md)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=xmidt-org_codex-deploy&metric=alert_status)](https://sonarcloud.io/dashboard?id=xmidt-org_codex-deploy)

## 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](#code-of-conduct)
- [The Pieces](#the-pieces)
- [Install](#install)
- [Deploy](#deploy)
- [Contributing](#contributing)

## Code of Conduct

This project and everyone participating in it are governed by the [XMiDT Code Of Conduct](https://xmidt.io/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](https://github.com/xmidt-org/codex-db)
library.
* **[Svalinn](https://github.com/xmidt-org/svalinn):** Registers to an
endpoint to receive events (Optional). Has an endpoint that receives events
as [WRP Messages](https://github.com/xmidt-org/wrp-c/wiki/Web-Routing-Protocol),
parses them, and inserts them into the database.
* **[Gungnir](https://github.com/xmidt-org/gungnir):** Has endpoints that
provide device information from the database.
* **[Fenrir](https://github.com/xmidt-org/fenrir) (Deprecated):** Deletes old records
from the database at an interval.
* **[Heimdall](https://github.com/xmidt-org/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](deploy/README.md).

## Contributing
Refer to [CONTRIBUTING.md](CONTRIBUTING.md).