×
close
Terragnos

/ Product /

Deep dive into the Core Engine modules that power every tenant, workflow and integration.

Core Object Model

Core object model

Multi-geometry storage, relation registry, deterministic IDs and tenant-aware templates.

Schema and Workflow

Schema + workflow

Draft/sandbox/publish lifecycle, migrations, Jira-like state machines and guard expressions.

Audit icon

Audit & evidence

Bitemporal storage, hash-chains, replay tooling and regulator-ready evidence bundles.

APIs and observability

APIs & observability

REST, GraphQL, OGC feeds plus OpenTelemetry, Prometheus metrics and BYOA/BYODB plug-ins.

Core Object Model

Multi-geometry storage with deterministic IDs

The Core Object Model provides the foundation for all spatial data in Terragnos. Every object supports multiple geometry types (point, line, polygon, multi-geometry) and maintains a relation registry for complex spatial relationships. Objects use deterministic ID sequences that ensure consistency across deployments and enable reliable replication.

Geometry support

Native PostGIS geometry types with automatic validation and spatial indexing for fast queries.

Relation registry

Track parent-child relationships, dependencies, and spatial associations between objects.

Deterministic IDs

Public ID templates with sequence-based generation ensure consistent object identification across environments.

Schema Registry

Version-controlled object types with safe migrations

The Schema Registry manages object type definitions through a draft β†’ sandbox β†’ publish workflow. Each schema version includes JSON Schema definitions with Zod-compatible validation rules, enabling complex field types including arrays, unions, and nested objects. Compatibility checks ensure backward compatibility, and automatic SDK generation keeps client libraries in sync.

Version control

Full version history with draft, sandbox, and production states for safe schema evolution.

Validation rules

JSON Schema + Zod validation with support for complex types, custom validators, and conditional logic.

SDK generation

Automatic TypeScript, Python, and C# SDK generation keeps client code in sync with schema changes.

Workflow Engine

Jira-style state machines for spatial objects

The Workflow Engine enables organizations to define custom state machines for spatial objects. Configure transitions, guards, and automated actions to streamline complex business processes. Every workflow transition is fully audited, supports conditional logic based on object attributes and spatial relationships, and integrates seamlessly with your existing authentication systems.

State machines

Define custom states, transitions, and guard expressions to model complex business workflows.

Automated actions

Trigger actions on state transitions, including notifications, integrations, and data transformations.

Spatial guards

Guard expressions can evaluate spatial relationships, proximity checks, and PostGIS predicates.

Rule Engine

Logical and spatial rules in a CEL-style DSL

The Rule Engine evaluates logical and spatial conditions expressed in a CEL-style domain-specific language. Rules can reference object attributes, spatial relationships, PostGIS functions, and custom adapters. Rules are versioned alongside schemas and can trigger workflow transitions, automated actions, or validation checks.

CEL-style DSL

Express complex logical and spatial conditions in a familiar, type-safe expression language.

PostGIS integration

Direct access to PostGIS spatial functions for buffers, intersections, proximity checks, and more.

Custom adapters

Extend the rule engine with custom functions and adapters for domain-specific logic.

Query Engine & OGC API

REST, GraphQL, and OGC-compliant feature layers

The Query Engine provides unified access to spatial data through REST APIs, GraphQL endpoints, and OGC API Features-compliant layer services. All endpoints support cursor-based pagination, GeoJSON and NDJSON export formats, spatial filters, and time-travel queries. Vector tiles and cached layers enable high-performance map rendering.

Multi-protocol support

REST (versioned), GraphQL, and OGC API Features endpoints for maximum compatibility.

Time-travel queries

Query data as-of any point in time using bitemporal versioning for historical analysis.

Performance optimization

Vector tiles, cached layers, and spatial indexing ensure fast queries at scale.

Bitemporal Store

Version tables with valid and transaction time

The Bitemporal Store maintains complete version history for both object attributes and geometries. Each version records both valid time (when the data was true in the real world) and transaction time (when the change was recorded). This enables time-travel queries, replay utilities, and the generation of evidence bundles for compliance and audit purposes.

Dual time dimensions

Track both valid time (business time) and transaction time (system time) for complete temporal history.

Replay utilities

Reconstruct the state of any object or dataset at any point in time for analysis or compliance.

Evidence bundles

Generate regulator-ready evidence bundles with complete temporal history and audit trails.

Audit Hash-Chain

Tamper-evident audit logs with cryptographic verification

The Audit Hash-Chain provides cryptographic verification for every change in the system. Each audit entry contains canonicalized JSON payloads with prev-hash references, creating an immutable chain of evidence. Write-once archives ensure data integrity, and health tooling monitors the chain for any anomalies or tampering attempts.

Hash-chain integrity

Each audit entry references the previous hash, creating an immutable chain of evidence.

Canonicalized payloads

JSON payloads are canonicalized to ensure consistent hashing and prevent signature manipulation.

Write-once archives

Audit logs are written to immutable storage to prevent modification or deletion.

Plugins & Extensions

Action and adapter interfaces for custom integrations

The Plugins & Extensions system provides interfaces for BYOA (Bring Your Own Auth), BYODB (Bring Your Own Database), webhooks, import/export pipelines, and custom telemetry sinks. All plugins follow explicit contracts, enabling you to extend Terragnos with custom functionality while maintaining compatibility with core modules.

BYOA integration

Implement AuthProvider interfaces to integrate with Auth0, Azure AD, Keycloak, or custom identity providers.

Webhook subscriptions

Subscribe to events and receive webhooks for workflow transitions, schema changes, and data updates.

Custom adapters

Build custom adapters for import/export pipelines, telemetry sinks, and domain-specific integrations.

Observability

OpenTelemetry traces, structured logs, and Prometheus metrics

Terragnos provides comprehensive observability through OpenTelemetry distributed tracing, structured logging, and Prometheus metrics. All modules emit consistent telemetry data, enabling you to monitor performance, debug issues, and enforce license and usage guardrails. Integration with existing observability stacks is seamless.

Distributed tracing

OpenTelemetry traces track requests across all modules for end-to-end visibility into system behavior.

Structured logging

JSON-formatted logs with consistent structure enable easy parsing and analysis in log aggregation tools.

Metrics and guardrails

Prometheus metrics track usage, performance, and license compliance with configurable alerting thresholds.