Skip to main content

228 docs tagged with "Technology"

All documents with this tag belong to the section for guides on technology

View all tags

ActivateArchive

Activates a CkArchive: provisions the per-archive CrateDB table and transitions the archive to Activated. Use this once after rt-importing the archive entity.

Aggregation Queries

Aggregation queries compute summary values (averages, totals, extremes) across time-series data points instead of returning individual rows. Use these when you need calculated metrics rather than raw data — for example, the average voltage over the last hour or the total energy produced per machine.

Association Roles

Association Roles define the relationship types between entities. Each role specifies the multiplicity and naming for both directions of the relationship (inbound and outbound).

Associations

Associations define relationships between entities in the runtime model. This chapter describes how to query and navigate associations.

Attach

Attach an existing database to a tenant.

Attributes

Attributes are reusable property definitions that can be applied to types. Each attribute has a value type and optional constraints.

Authentication

OctoMesh uses OAuth 2.0 and OpenID Connect (OIDC) for authentication. This page explains how authentication works, which flows are supported, and what happens during the login process.

AuthStatus

Gets authentication status to the configured identity services.

AutoIncrement

AutoIncrements provide automatic value generation for attributes when entities are inserted into the repository. They ensure unique, sequential values for attributes like customer numbers, document IDs, or any other identifier that requires automatic numbering.

Best Practices

This chapter provides best practices for writing efficient and maintainable GraphQL queries and mutations.

Blueprints

Blueprints are versioned, declarative bundles of Construction Kit (CK) models and runtime seed data that bootstrap a tenant — and continue to manage it across its lifetime. A blueprint can be installed, re-applied, updated, rolled back, uninstalled, and may depend on other blueprints. Versioned migration scripts transform tenant data when a blueprint's own version moves forward.

CheckUpgrade

Pre-flight check for CK model upgrade/migration.

Clean

Resets a tenant to factory defaults by deleting the construction kit and runtime model.

Clients and API Scopes

In OAuth 2.0, a client is any application that requests access on behalf of a user or itself. API scopes define what operations a client is allowed to perform. The Identity Service manages both per tenant.

Common Workflows

Multi-command playbooks for typical octo-cli usage scenarios. Each step has its own copyable code block — paste them one at a time. Full per-command documentation is in the Command Reference sidebar section.

Config

Configures the active context.

Construction Kit

The Construction Kit defines the schema and structure of your data model. Unlike the Runtime Model which stores actual data instances, the Construction Kit contains the metadata that defines what types of entities can exist, their attributes, relationships, and constraints.

Create

GraphQL allows to query and mutate data. Mutations are operations like create, update and delete. This chapter describes how data can be created.

Create

Creates a new tenant and provisions the current user as admin.

Cross-Tenant Authentication

OctoMesh supports a hierarchical tenant model where a parent tenant can authenticate users in child tenants. This allows organizations to maintain a single user directory while granting access to multiple isolated tenants.

Data Model Concepts

This document explains the fundamental data modeling concepts in OctoMesh, including Construction Kits, Runtime Entities, and Stream Data.

Delete

GraphQL allows to query and mutate data. Mutations are operations like create, update and delete. This chapter describes how data can be deleted.

Delete

Deletes an existing tenant.

DeleteArchive

Drops the per-archive CrateDB table and soft-deletes the CkArchive entity. Destructive — historical data is lost.

Deployments

This page lists the hosted MCP (Model Context Protocol) Services endpoints and how to register each with your AI client. For the registration mechanics see Getting started.

DeployPipeline

Deploys a pipeline definition to the corresponding adapter.

DeployWorkload

Triggers a deploy of one workload (Adapter or Application) through its parent pool.

DisableAi

Disables the AI Adapter for the current tenant. The seeded AgentConfig and CK model are not removed; re-enabling is idempotent.

DisableArchive

Disables a CkArchive: transitions to Disabled (data preserved). Allowed only from Activated.

Downsampling Query

A downsampling query reduces the density of time-series data by dividing a time range into equal-sized buckets and applying an aggregation function to each bucket. This is essential for visualizing large datasets on dashboards and charts — instead of transferring thousands of raw data points, you get a manageable number of summarized values.

Dump

Dumps a tenant to a file

Email Domain Group Rules

Email domain group rules automatically assign users to groups based on their email address domain. When a user registers or logs in for the first time, the Identity Service checks their email against configured rules and adds them to matching groups.

EnableAi

Enables the AI Adapter for the current tenant. The Communication Controller must be enabled first (run EnableCommunication beforehand).

EnableArchive

Re-enables a previously disabled archive: transitions Disabled → Activated. Re-validates column paths against the current CK model; no DDL.

Enums

Enums are used for establishing a set of predefined constants, which can represent various states, types, or configurations within the library. Enums are embedded within a Runtime Entity Object and do not need any navigation through associations.

Enums

Enums define a fixed set of allowed values for an attribute. Each enum value has a numeric key, a name, and an optional description.

Error Handling

This chapter describes how errors are returned in GraphQL responses and how to handle them.

ExportRtByDeepGraph

Schedules a job to export runtime model graph by providing RtId's and type as starting point. File is specified using -f argument. The file is downloaded in ZIP-format after job is finished.

ExportRtByQuery

Schedules a job to export runtime models using a query. File is specified using -f argument. The file is downloaded in ZIP-format after job is finished.

FixAll

Imports all CK models that need update or fix. Use -w to wait, -y to skip confirmation.

Fixup Scripts

Fixup Scripts are MongoDB-compatible scripts that can be applied to databases for maintenance, migration, and data correction tasks. They are executed by the bot service in a defined sequence order, ensuring consistent and predictable database modifications.

FreezeRollupArchive

Freezes a CkRollupArchive at the given timestamp. Monotonic — rejected when the new value is earlier than the current FrozenUntil. The orchestrator stops producing buckets whose bucketEnd falls within the frozen range; already-aggregated rows are preserved.

GetAdapter

Gets the configuration for a specific adapter.

GetAdapterNodes

Gets aggregated node descriptors from all connected adapters.

GetAiCredentialsStatus

Returns the AI credential-lease status (expiries + generation) for the active tenant. Token plaintext is never disclosed.

GetClientMirrors

Lists the sub-tenants a ClientCredentials client has been auto-provisioned into.

GetPools

Gets all pools for the current tenant.

Getting Started

This page walks you through registering the MCP (Model Context Protocol) Services with an AI client and making your first authenticated tool call. The hosted endpoints are listed on the Deployments page.

GetWorkloadsByChart

Lists every Adapter / Application in the active tenant whose ChartName matches.

Groups

Groups are organizational units that simplify role management. Instead of assigning roles to each user individually, you assign roles to a group and then add users to that group.

Identity Providers

Identity providers allow users to authenticate with OctoMesh using external identity systems. Each tenant can configure multiple providers independently.

Identity Service Overview

The OctoMesh Identity Service provides centralized authentication and authorization for the entire platform. It supports OAuth 2.0 and OpenID Connect protocols.

ImportCk

Schedules an import job for construction kit files. File is specified using -f argument. To wait for job, use -w argument.

ImportFromCatalog

Imports a CK model from a catalog with all dependencies. Use -w to wait for completion.

ImportRt

Schedules an import job for runtime files. File is specified using -f argument. To wait for job, use -w argument.

Installation

OctoMesh uses Communication Operators to manage distributed computing resources using Kubernetes. The Communication Operators are responsible for managing the lifecycle of the Adapters, including creating, updating, and deleting Adapters.

InstallBlueprint

Installs a blueprint into the current tenant. CK models are loaded and seed data is imported via upsert.

Introduction

In the realm of OctoMesh, adapters and pipelines play a crucial role as the connective tissue between the OctoMesh platform and external data sources and services. These small, but powerful pieces of software are designed to facilitate communication and data exchange across a diverse set of endpoints, including APIs, file systems, databases, message brokers, and other custom or standard protocols. To cater to different architectural needs and deployment scenarios, OctoMesh distinguishes between two main types of adapters: Edge Adapters and Mesh Adapters.

Introduction

At the heart of OctoMesh lies the concept of Construction Kits. These kits serve as a fundamental building block for defining object models and providing the essential context that transforms data into actionable insights. With OctoMesh, you can construct models that align with your specific needs, allowing you to shape data in ways that make sense for your organization.

Introduction to Technology Guide

Welcome to the OctoMesh Technology Guide, your comprehensive resource for leveraging the transformative power of OctoMesh to architect and manage robust data mesh solutions. This guide is crafted to serve as your navigator through the expansive features of OctoMesh, shedding light on the underlying concepts, providing detailed how-to instructions, and offering practical recipes that help you harness the full potential of your data.

Library Management

OctoMesh provides built-in tools for managing Construction Kit (CK) model libraries across tenants. This includes browsing available libraries from catalogs, checking compatibility, resolving dependencies, and importing libraries with full dependency resolution.

LibraryStatus

Shows installed CK model libraries with catalog availability. Use --needs-action to filter.

ListCatalogModels

Lists CK models from catalogs. Use -cn to filter by catalog, -q to search.

ListContexts

Lists all configured contexts. Pass -n to show details for a single context.

ListRollupsForArchive

Lists every rollup archive attached to the given source CkArchive — runtime id, status, schedule, watermark, freeze state.

LogIn

LogIn to the configured identity services.

LogInClientCredentials

Non-interactive login using OAuth2 clientcredentials. Reads credentials from -id/-s arguments or OCTOCLICLIENTID/OCTOCLICLIENT_SECRET env vars. Tenant comes from the active context.

Maintenance Dashboard

The Maintenance Dashboard allows to get insights about costs and maintenance activities. It provides a comprehensive overview of the maintenance status of the assets and the costs associated with the maintenance activities. The dashboard is designed to help maintenance managers and technicians to monitor the maintenance activities, track the costs, and identify potential issues that require immediate attention.

MCP (Model Context Protocol) Services

The OctoMesh MCP (Model Context Protocol) Services is the Model Context Protocol server for OctoMesh. It exposes the platform's full administrative surface — tenants, identity, blueprints, communication adapters, time-series archives, generic Construction Kit entity CRUD, and aggregation queries — as ~177 typed tools that AI assistants (Claude Code, Claude Desktop, and any other MCP-capable client) call over HTTP+SSE.

Model Migrations

When a Construction Kit (CK) model evolves to a new version, existing runtime entities in tenant databases may need to be updated to match the new schema. CK model migrations automate this process by defining versioned transformation scripts that update entity data (rename types, change attributes, etc.) during model import.

Models

Models are containers that group related types, attributes, enums, and records. Each model has a name, version, and can depend on other models.

MovePipelines

Reassigns one or more pipelines from their current adapter to a new target adapter. Each pipeline is moved atomically; per-pipeline failures do not abort the batch. Source and target adapter must share the same CkTypeId.

octo-cli

octo-cli is the command-line interface for managing and administering OctoMesh. It provides commands for configuring services, managing tenants, users, identity providers, and more.

Overview

service coreServices(common:meshLogo)[Core Services] in central

Overview

Adapters are executing pipelines and pipeline consists of nodes. There are nodes that are common for all adapters and there are nodes that are specific for each adapter. For example the Modbus adapter comes with Modbus nodes, the OPC UA adapter comes with OPC UA nodes, etc.

Overview

The integration of OctoMesh with SAP provides a seamless and efficient way to exchange data between the two systems. Leveraging the SAP NetWeaver SDK,

Overview

In OctoMesh, data pipelines are integral to the Extract, Transform, Load (ETL) processes that ensure efficient data handling across distributed environments. Pipelines are executed by Adapters, which can be deployed either at the edge (close to data sources) or centrally in the cloud.

Overview

Pipeline triggers are used to start the execution of a pipeline based on a cron schedule using the Bot Service.

Overview

OctoMesh uses Communication Operators to manage distributed computing resources using Kubernetes. The Communication Operators are responsible for managing the lifecycle of the Adapters, including creating, updating, and deleting Adapters.

Overview

In OctoMesh, we understand that data is at the heart of your operations. This chapter focuses on how you can access and interact with your data through our Construction Kits (CK), tailored for both runtime data and stream (time series) data. Leveraging GraphQL endpoints, OctoMesh offers a seamless and efficient way to work with your data, regardless of its nature.

Persisted Queries

Persisted queries are saved query definitions stored as runtime entities. Instead of specifying all query parameters every time, you create a query definition once and execute it by its rtId. This is useful for dashboard widgets, recurring reports, and any scenario where the same query needs to be executed repeatedly.

Pipeline design

Edge and Mesh Pipelines enable the data flow between the edge and the mesh (cloud) environment. The Edge Pipelines are responsible for preprocessing the data before sending it to the Mesh Pipelines. The Mesh Pipelines are responsible for processing the data in the cloud environment.

Prerequisites

OctoMesh is operated using Kubernetes in production. These docs describe a possibility to run OctoMesh on a local docker environment.

ProvisionClientInExistingTenants

Backfill: provisions a flagged ClientCredentials client into every existing sub-tenant of the active context tenant. Idempotent.

Records

Records are composite value types that group related attributes together. Unlike types, records are embedded directly within entities rather than being independent entities with their own runtime IDs.

RedeemAiTicket

Redeems a one-time AI credential ticket and persists the Anthropic subscription tokens on the AI Adapter. Runs anonymously — the ticket code authenticates the call, no OctoMesh login required. Token-related args (-at -rt -aex -rex) are optional for developer smoke tests; missing values default to a fake pair with a far-future expiry.

RefreshCatalogs

Refreshes CK model catalog caches. Use -cn to refresh a specific catalog.

Repository Backup & Restore

OctoMesh provides comprehensive backup and restore capabilities for repositories through the octo-cli tool. These

Restore

Restore a tenant from a dump file

Retrieve

This chapter describes common query patterns for retrieving Construction Kit metadata. The Construction Kit API is read-only - you query the model structure but cannot modify it through GraphQL.

RevokeAiCredentials

Revokes the active tenant's AI credential lease. New sessions cannot start until a fresh subscription is registered. Ciphertext is preserved for audit.

RewindRollupWatermark

Resets the rollup's watermark (truncated down to the bucket boundary) so subsequent orchestrator ticks re-aggregate the rewound range. Destructive: rows in that range are temporarily out of sync until the orchestrator catches up.

RollbackBlueprint

Rolls the active tenant back to a previously-created blueprint backup.

Runtime Model

GraphQL allows to query and mutate data. Mutations are operations like create, update and delete. This chapter describes how data can be created, retrieved, updated and deleted. It provides a reference for the GraphQL scalar types, input types, and enums used in the OctoMesh GraphQL API.

SearchFilter

The SearchFilter provides text search capabilities across multiple attributes of an entity. It is optimized for text-based searches and is typically used for search fields in list views.

SetClientAutoProvision

Flips the AutoProvisionInChildTenants flag on an existing ClientCredentials client. Flipping to true does not auto-backfill — use ProvisionClientInExistingTenants for that.

Setup

Sets identity services up

Simple Query

A simple query retrieves raw time-series rows from CrateDB. You choose which columns to return and can apply filters, sorting, and time range restrictions. This is the most fundamental stream data query type — use it when you need individual data points rather than aggregated summaries.

Solution Architecture Overview

This document provides a comprehensive overview of the OctoMesh platform architecture, designed to help developers understand the system components, data flows, and integration patterns.

Stream Data Access

Stream data provides access to time-series data stored in CrateDB. While runtime queries retrieve the current state of entities from MongoDB, stream data queries retrieve historical measurements and events recorded over time — such as sensor readings, machine metrics, or energy production values.

Stream Data Archives

A Stream Data Archive is the unit of configuration and storage for time-series data in OctoMesh. Each archive is a versioned, typed, per-tenant CrateDB table that captures a curated set of attribute paths from a Construction Kit type. Archives have a strict lifecycle (Created → Activated → Disabled / Failed), an immutable schema once activated, and a three-tier activation gate (instance → tenant → archive) that determines whether the data plane is open.

System Queries

This chapter describes how to create System Queries. For an overview of System Queries and their use cases, see System Queries.

System Queries

System Queries are reusable query configurations stored in the repository. They allow you to define a query once and execute it from multiple places using only its ID.

System Queries

This chapter describes how to update System Queries. For an overview of System Queries and their use cases, see System Queries.

Tenant Lifecycle

This guide explains what happens when tenants are created, attached, or restored, and what steps you need to take in each scenario.

Tool Reference

The MCP (Model Context Protocol) Services exposes ~177 tools as of version 1.5.3, grouped into the families below. Most platform-admin tools mirror the matching octo-cli command (snakecase names — e.g. CLI CreateTenant → MCP createtenant); the aggregation and persisted-query tools mirror the asset-repository's GraphQL transient-query surface.

Transient Queries

Transient queries allow you to dynamically query runtime entities with configurable column paths. Unlike regular queries where the returned fields are defined in the GraphQL query itself, transient queries return data in a table-like structure with rows and cells.

Troubleshooting

Common failure modes and how to fix them. The MCP (Model Context Protocol) Services never throws out of a tool — every problem comes back as IsSuccess: false plus an ErrorMessage. Read the message first; the table below maps the typical messages to root causes.

Types

Types define the structure of entities in the Runtime Model. Each type has attributes, can inherit from a base type, and can participate in associations with other types.

UndeployWorkload

Undeploys one workload (Adapter or Application) through its parent pool. Destructive — the operator helm-uninstalls the chart.

UnfreezeRollupArchive

Clears FrozenUntil on a CkRollupArchive. Idempotent. Pass --acceptGaps when source data inside the previously frozen range has been truncated and the resulting gaps are acceptable.

UninstallBlueprint

Removes a blueprint from the active tenant; with --cascade, dependents and orphan dependencies go too.

Update

GraphQL allows to query and mutate data. Mutations are operations like create, update and delete. This chapter describes how data can be updated.

UpdateSystemCkModel

Updates the system construction kit model of a tenant to the latest version.

UpdateWorkloadChartVersion

Sets ChartVersion on a single workload. Does NOT trigger a deploy — call DeployWorkload afterwards if needed.