Skip to content
forked from synnaxlabs/synnax

Operate large scale hardware systems with ease.

Notifications You must be signed in to change notification settings

Folawewo/synnax

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Synnax

The telemetry engine for operating large scale hardware systems with ease.

What is Synnax?

Synnax is a distributed telemetry engine designed to acquire and store data from, issue commands to, and process telemetry generated by hardware systems. It scales horizontally, and can be deployed on edge devices (data acquisiton) in highly dynamic environments with intermittent network connectivity, or in cloud environments (data processing) for high performance analyis.

Development Status

Synnax is currently in alpha (v0.1.0) and is under active development. The API is unstable and may change at any time. Synnax follows semantic versioning guidelines.

How to Contribute

We welcome contributions. Reach out to Emiliano (emilbon99@gmail.com) if you'd like to get involved. While you wait for a response, check out the New Developer Guide to get up to speed. Also, feel free to browser through the technical RFCs to get a sense of where we've been and where we're going.

Repository Organization

Synnax is built as a collection of several projects, all of which are collected in this monorepo. The following is a list of the services and their purpose:

  • Aspen - A gossip based distributed key-value store used for propagating and persisting metadata between nodes, such cluster topology, state, and configuration. The core RFC for Aspen is available here.
  • Cesium - An embedded time-series engine optimized for high performance reads and writes of regular telemetry. The core RFC for Cesium is available here.
  • Client - Client libraries for synnax available in multiple languages. The implementation for each language is a subpackage of the client package.
  • Documentation - The technical and user-facing documentation for Synnax. Contains the code for the Synnax documentation website, technical RFCs, and additonal media such as logos.
  • Freighter - A protocol agnostic network transport for cross-language unary and streaming communication. Freighter has implementations in several languages; each implementation is contained in a sub-directory of the freighter service. The core RFC for Freighter is available here.
  • Pluto - A React component library for building the Synnax user interfaces. This package includes theming standards (primary colors, grays, errors, fonts, etc.).
  • Synnax - The core Synnax server, which integrates all other services to provide a complete telemetry system.
  • X - The common utilities used across all Synnax services. To list a few interesting examples:
    • Alamos - Dependency injected code instrumentation.
    • Confluence - Assemble and run concurrent data processing and message passing pipelines.
    • Gorp - Efficient querying of go-types to and from a key-value store.
    • Signal - A library for controlling the lifecycle of communicating sequential processes.

About

Operate large scale hardware systems with ease.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 81.9%
  • Python 11.6%
  • TypeScript 5.3%
  • CSS 0.5%
  • Earthly 0.3%
  • JavaScript 0.3%
  • HTML 0.1%