Skip to content

Architecture: Policies and Datasets

Shannon Weyrick edited this page Aug 25, 2021 · 29 revisions

Policy Service (orb-policies)

This microservice is responsible for:

  • Agent Policy management
    • /policies/agent User facing CRUD management of Agent Policies
    • produce system events during dataset CRUD actions for consumption by other microservices, esp Fleet which communicates with the agents on policy events
    • expose gRPC API for policy retrieval by other services
  • Dataset management
    • /policies/dataset User facing CRUD management of Datasets
    • produce system events during dataset CRUD actions for consumption by other microservices, esp Fleet which communicates with the agents on dataset events
    • consult Sink service via gRPC to verify Sink ID
    • consult Fleet service via gRPC to verify Agent Group ID
    • verify agent policy ID
    • expose gRPC API for dataset ID to sink ID mapping for sink services. This is so that sink consumers (like Prometheus) know which in configuration to use for which dataset

Agent Policy Data Model

DB Field JSON Field Public ReadOnly Description
id id X X UUIDv4 (known as mf_thing_id in the internal models because it comes from the mainflux thing id)
mf_owner_id UUIDv4 tenant owner ID
name name X A name label field

| tags | orb_tags | X | | Orb tags field: defined through the API or UI | | ts_created | ts_created | X | X | A timestamp of creation |

Dataset Data Model

DB Field JSON Field Public ReadOnly Description
id id X X UUIDv4
mf_owner_id UUIDv4 tenant owner ID
name name X A name label field
description description X Description
tags tags X Orb tags field: defined through the API or UI
ts_created ts_created X X A timestamp of creation

Clone this wiki locally