Skip to main content

PostgreSQL data model

Rendering of docs/architecture/data-model-mapping.yaml (single source), proven by services/control-plane/tests/test_data_model_mapping.py on a migrated database. Every Control Plane table lives in schema eai; the Platform Manager tables live in schema nm of its own database. Keycloak, Opik, Temporal and OpenFGA keep their schemas and migrations: the platform never writes their internal tables. Large traces stay in Opik and Jaeger, logs in OpenSearch, files in the client object storage.

Reference tables (A6.1)​

DomainReferenceKindLocationScope
coretenantstableeai.tenantsglobal
coreorganizationstableeai.organizationstenant
corebusiness_unitstableeai.business_unitstenant
coreenvironmentstableeai.environmentstenant
coreprojectstableeai.projectstenant
coresettingscolumneai.tenants.settings
iamuserstableeai.userstenant
iamgroupstableeai.group_mappingstenant
iammembershipstableeai.membershipstenant
iamservice_identitiestableeai.service_identitiestenant
iamdelegationstableeai.delegationstenant
iamaccess_grantstableeai.authz_tuplestenant
platform_inventoryclustersPlatform Manager (nm)nm.clusters
platform_inventorynodesPlatform Manager (nm)nm.hosts
platform_inventorycomponentsPlatform Manager (nm)nm.host_components
platform_inventorycomponent_versionsPlatform Manager (nm)nm.service_upgrades
platform_inventoryservice_instancesPlatform Manager (nm)nm.cluster_services
platform_inventorydependenciesoutside PostgreSQLnavin-manager/catalog
platform_operationsconfigurationsPlatform Manager (nm)nm.config_groups
platform_operationsconfiguration_versionsPlatform Manager (nm)nm.config_versions
platform_operationsoperationsPlatform Manager (nm)nm.operations
platform_operationsoperation_stepsPlatform Manager (nm)nm.tasks
platform_operationshealth_checksPlatform Manager (nm)nm.service_checks
platform_operationsmaintenance_windowsPlatform Manager (nm)nm.maintenance_windows
aiproviderstableeai.llm_providerstenant
aimodelstableeai.llm_modelstenant
aimodel_routestableeai.llm_routestenant
aimodel_categoriestableeai.llm_model_categoriestenant
aimodel_deploymentstableeai.vllm_deploymentstenant
aimodel_pricestableeai.price_cardstenant
aimodel_approvalstableeai.llm_model_rolloutstenant
agentsagentstableeai.agentstenant
agentsagent_versionstableeai.agent_versionstenant
agentsagent_deploymentscolumneai.agents.current_version
agentsagent_runstableeai.runstenant
agentssubagent_runscolumneai.runs.parent_run_id
agentscheckpointstableeai.checkpointstenant
agent_sessionssessionstableeai.sessionstenant
agent_sessionsaction_requeststableeai.approvalstenant
agent_sessionstool_invocationstableeai.tool_invocationstenant
agent_sessionsmemory_scopescolumneai.memory_items.scope_type
agent_sessionsmemory_entriestableeai.memory_itemstenant
devprojectstableeai.projectstenant
devsdk_versionsoutside PostgreSQLsdks
devproject_templatesoutside PostgreSQLpacks/templates
devdeveloper_environmentstableeai.environmentstenant
devtest_runstableeai.eval_runstenant
registry_packspackstableeai.marketplace_packagestenant
registry_packspack_versionstableeai.marketplace_versionstenant
registry_packspack_installationstableeai.marketplace_installationstenant
registry_packspack_assetscolumneai.marketplace_versions.files
registry_packspack_dependenciescolumneai.marketplace_versions.manifest
registry_assetsskillstableeai.skillstenant
registry_assetsskill_versionscolumneai.skills.version
registry_assetspromptstableeai.promptstenant
registry_assetsprompt_versionstableeai.prompt_versionstenant
registry_assetspluginstableeai.pluginstenant
registry_assetsplugin_versionscolumneai.plugins.version
integrationmcp_serverstableeai.mcp_serverstenant
integrationmcp_toolstableeai.mcp_tool_versionstenant
integrationconnectorstableeai.connectorstenant
integrationconnector_instancestableeai.connector_sync_runstenant
integrationconnector_credentialstableeai.connector_credentialstenant
datadata_sourcescolumneai.kb_documents.source_connector
datadatasetstableeai.datasetstenant
datadocumentstableeai.kb_documentstenant
datadocument_aclcolumneai.kb_documents.readers
dataclassificationstableeai.dlp_rulestenant
datalineage_refstableeai.lineage_nodestenant
ragcollectionstableeai.knowledge_basestenant
ragingestion_jobstableeai.kb_reindex_jobstenant
ragdocument_chunkstableeai.kb_chunkstenant
ragretrieval_policiescolumneai.knowledge_bases.acl
ragindex_versionscolumneai.knowledge_bases.vector_generation
policypolicy_setstableeai.policy_bundlestenant
policypolicy_versionstableeai.policy_revisionstenant
policypolicy_assignmentstableeai.policiestenant
policypolicy_testsoutside PostgreSQLdeploy/policies/opa
policyexceptionstableeai.risk_exceptionstenant
security_signalssecurity_signalscolumneai.soc_detections.evidence
security_signalsdetectionstableeai.soc_detectionstenant
security_signalsincidentstableeai.incidentstenant
security_signalsresponse_actionstableeai.incident_actionstenant
security_signalsquarantinestableeai.containment_orderstenant
security_signalskill_switchestableeai.kill_switchestenant
security_approvalsapprovalstableeai.approvalstenant
security_approvalsapproval_stepstableeai.approval_decisionstenant
security_approvalsrisk_assessmentstableeai.risk_assessmentstenant
security_approvalsdlp_eventscolumneai.tool_invocations.dlp_findings
auditeventstableeai.audit_eventstenant
auditdecision_recordstableeai.policy_decisionstenant
auditevidence_batchestableeai.audit_sealstenant
auditevidence_objectstableeai.audit_payloadstenant
auditretention_policiestableeai.retention_policiestenant
auditexportstableeai.audit_exportstenant
observabilitytrace_refscolumneai.runs.trace
observabilityalert_rulesPlatform Manager (nm)nm.alert_definitions
observabilityalert_instancesPlatform Manager (nm)nm.alerts
observabilityservice_slostableeai.service_slosglobal
observabilitytelemetry_configsoutside PostgreSQLdeploy/observability
finopsbudgetstableeai.quotastenant
finopsquotastableeai.quota_profilestenant
finopsusage_recordstableeai.usage_eventstenant
finopscost_allocationstableeai.allocation_policiesglobal
finopsprice_catalogstableeai.price_cardstenant
storageprofilestableeai.storage_profilestenant
storagebucketscolumneai.storage_profiles.bucket
storagestorage_policiescolumneai.storage_profiles.purposes
storageobject_refstableeai.mediatenant
storagebackup_recordsPlatform Manager (nm)nm.backups
commerciallicensestableeai.licensesglobal
commerciallicense_activationstableeai.license_installationglobal
commercialentitlementscolumneai.licenses.payload
commercialsupport_contractstableeai.support_contractsglobal
commerciallicense_eventstableeai.license_eventsglobal
systemoutbox_eventstableeai.event_outboxtenant
systeminbox_eventstableeai.inbox_eventstenant
systemscheduled_jobstableeai.schedulestenant
systemmigrationstableeai.schema_migrationsglobal
systemfeature_flagscolumneai.tenants.settings

Relations (A6.2)​

RelationFromColumnToKind
tenanteai.organizationstenant_ideai.tenantsforeign key
tenanteai.business_unitsorganization_ideai.organizationsforeign key
tenanteai.business_unitsparent_ideai.business_unitsforeign key
tenanteai.projectsorganization_ideai.organizationsforeign key
tenanteai.projectsbusiness_unit_ideai.business_unitsforeign key
tenanteai.projectstenant_ideai.tenantsforeign key
tenanteai.environmentstenant_ideai.tenantsforeign key
tenanteai.environmentsproject_ideai.projectsforeign key
clusternm.hostscluster_idnm.clustersnm foreign key
clusternm.cluster_servicescluster_idnm.clustersnm foreign key
componentnm.host_componentshost_idnm.hostsnm foreign key
componentnm.config_versionscluster_idnm.clustersnm foreign key
agenteai.agent_versionsagent_ideai.agentsforeign key
agenteai.runsagent_ideai.agentsforeign key
agenteai.agentscurrent_versioneai.agent_versionsreference column
agent_runeai.run_stepsrun_ideai.runsforeign key
agent_runeai.runsparent_run_ideai.runsforeign key
agent_runeai.tool_invocationsrun_ideai.runsreference column
agent_runeai.telemetry_spansrun_ideai.runsreference column
developer_projecteai.environmentsproject_ideai.projectsforeign key
developer_projecteai.runsproject_ideai.projectsreference column
developer_projecteai.eval_runstarget_refeai.marketplace_versionsreference column
pack_versioneai.marketplace_versionspackage_ideai.marketplace_packagesforeign key
pack_versioneai.marketplace_versionsmanifesteai.skillsreference column
pack_versioneai.marketplace_versionsskill_signatureseai.skillsreference column
usereai.membershipsuser_ideai.usersforeign key
usereai.delegationsdelegatoreai.usersreference column
usereai.approvalsrequestereai.usersreference column
usereai.audit_eventsactoreai.usersreference column
policy_versioneai.policy_revisionspolicy_ideai.policiesreference column
policy_versioneai.policy_decisionspolicy_versioneai.policy_revisionsreference column
incidenteai.soc_detectionsincident_ideai.incidentsforeign key
incidenteai.incident_actionsincident_ideai.incidentsforeign key
incidenteai.incident_evidenceincident_ideai.incidentsforeign key
licenseeai.licensesinstallation_ideai.license_installationreference column
licenseeai.license_eventslicense_ideai.licensesreference column
licenseeai.support_contractslicense_ideai.licensesforeign key

Reference schemas (B7.1)​

Reference schemaDomains
corecore
platformplatform_inventory, platform_operations
iamiam
governancesecurity_approvals, policy
aiai
modelsai
developerdev, agents, agent_sessions
marketplaceregistry_packs, registry_assets, integration
datadata, rag
privacydata
observabilityobservability
auditaudit
securitysecurity_signals
finopsfinops
licensingcommercial
operationssystem, storage

Common fields (B7.2)​

FieldTables carrying it
ideai.agents, eai.runs, eai.incidents, eai.storage_profiles
tenant_ideai.agents, eai.runs, eai.incidents, eai.storage_profiles
environment_ideai.usage_events, eai.application_deployments
created_ateai.agents, eai.runs, eai.incidents, eai.storage_profiles
updated_ateai.agents, eai.runs, eai.incidents, eai.storage_profiles
created_byeai.agents, eai.runs, eai.incidents, eai.storage_profiles, eai.organizations, eai.business_units, eai.projects, eai.environments, eai.applications
updated_byeai.llm_model_rollouts, eai.organizations, eai.business_units, eai.projects, eai.environments, eai.agents, eai.applications, eai.incidents
versioneai.storage_profiles, eai.memory_items, eai.llm_models, eai.organizations, eai.business_units, eai.projects, eai.environments, eai.agents, eai.applications, eai.incidents
statuseai.agents, eai.incidents, eai.storage_profiles, eai.sessions
metadataeai.sessions, eai.kb_documents, eai.connector_credentials, eai.organizations, eai.business_units, eai.projects, eai.environments, eai.agents, eai.applications, eai.incidents
classificationeai.memory_items, eai.kb_documents, eai.audit_events, eai.media, eai.knowledge_bases
correlation_ideai.audit_events, eai.usage_events, eai.telemetry_spans, eai.organizations, eai.business_units, eai.projects, eai.environments, eai.agents, eai.applications, eai.incidents

Global tables without tenant_id​

TableReason
eai.tenantsRoot of isolation: one row per tenant, RLS on id.
eai.allocation_policiesProvider GPU costs shared by the platform.
eai.licensesLicense of the installation, not of a tenant.
eai.license_installationInstallation singleton.
eai.license_eventsLog of the installation license.
eai.support_contractsSupport contract of the installation license, without any price.
eai.schema_migrationsMigrator registry, administrator role only.
eai.service_slosSLO objectives of the platform services: read by all, written by the platform context only (forced RLS, ADR-0157).