Skip to content

Repo Layout

Shannon Weyrick edited this page Jul 7, 2021 · 5 revisions
├── RFCs: Request for Comments (Architectural Proposals)
├── agent: orb ngent business logic
│   └── backend: abstraction layer for different orb sensors
│       └── pktvisor: pktvisor orb sensor
├── build: build time assets (created by make)
├── cmd: main entry points to services and agent
│   ├── agent: orb agent (EDGE)
│   ├── fleet: fleet manager microservice (CORE)
│   ├── policies: policy manager microservice (CORE)
│   ├── prom-sink: prometheus sink microservice (CORE)
│   └── sinks: sink manager microservice (CORE)
├── docker: build assets for docker containers and docker compose
│   ├── configs: misc service configurations used in containers
│   ├── nats: nats.conf
│   ├── nginx: nginx config
│   │   └── snippets
│   ├── ssl: TLS cert config
│   │   └── certs
│   └── templates: template config
├── docs: project documentation
│   └── images
├── fleet: fleet manager microservice business logic
│   ├── api: go-kit HTTP API 
│   ├── postgres: postgreSQL repository implementation
│   └── redis: system events with redis streams
│       ├── consumer
│       └── producer
├── internal: internal helper library, unstable interface
│   └── httputil
├── pkg: public orb library, shared among microservices (ANTIPATTERN: USE SPARINGLY)
│   ├── config: commandline configuration
│   ├── db: database structures and routines
│   ├── errors: error definitions and routines
│   ├── mainflux: an implementation of a pass through mainflux "transformer"
│   │   └── transformers
│   │       └── passthrough
│   └── types: common structure definitions
├── policies: policy manager microservice business logic
│   ├── api
│   │   ├── grpc: go-kit gRPC API 
│   │   └── http: go-kit HTTP API 
│   ├── pb: protocol buffer definitions (and generated code)
│   ├── postgres: postgreSQL repository implementation
│   └── redis: system events with redis streams
│       └── producer
├── promremotewrite: prometheus remote write implementation
├── sinks: sink manager microservice business logic
│   ├── api: go-kit HTTP API
│   ├── postgres: go-kit HTTP API
│   ├── redis: system events with redis streams
│   │   ├── consumer
│   │   └── producer
│   └── writer: mainflux messaging consumers
│       ├── consumer
│       └── prom: prometheus messaging consumer logic
└── ui: the portal interface