Kafka Events
13 Kafka event topics published and consumed by the Vault Service.
Event Format: CloudEvents 1.0
All events follow the CloudEvents 1.0 specification with
ce- prefixed headers. Partition key is tenantId or asset_id depending on the topic.Brokers
| Environment | Broker URL |
|---|---|
| Staging | kafka://b-1.eventzr-staging.xxx.kafka.us-east-1.amazonaws.com:9096 |
| Local | kafka://localhost:9092 |
Event Envelope
CloudEvents 1.0 JSON format used by all Kafka messages:
{
"specversion": "1.0",
"type": "com.eventzr.vault.asset.created",
"source": "vault-svc",
"id": "550e8400-e29b-41d4-a716-446655440000",
"time": "2026-02-21T10:00:00.000Z",
"tenantid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"datacontenttype": "application/json",
"data": {
"asset_id": "uuid",
"tenantId": "uuid",
"filename": "event-poster.jpg",
"mime_type": "image/jpeg",
"size_bytes": 2048576,
"storage_key": "tenants/uuid/assets/uuid/event-poster.jpg",
"visibility": "private"
}
}Published Events (11 topics)
Events produced by vault-svc:
Asset Lifecycle
| Topic | Description |
|---|---|
| eventzr.vault.asset.created.v1 | Emitted when a new asset is uploaded and persisted in the vault. |
| eventzr.vault.asset.updated.v1 | Emitted when asset metadata or visibility is changed. |
| eventzr.vault.asset.deleted.v1 | Emitted when an asset is permanently deleted. |
Transform Lifecycle
| Topic | Description |
|---|---|
| vault.transforms (ce-type: transform.queued) | Emitted when a transform job is queued for processing. |
| vault.transforms (ce-type: transform.completed) | Emitted when a transform job completes successfully. |
| vault.transforms (ce-type: transform.failed) | Emitted when a transform job fails. |
Knowledge Graph
| Topic | Description |
|---|---|
| kg.events (ce-type: kg.node.created) | Emitted when a vault entity is projected as a Neptune node. |
| kg.events (ce-type: kg.node.updated) | Emitted when a Neptune node is updated. |
| kg.events (ce-type: kg.node.deleted) | Emitted when a Neptune node is deleted. |
| kg.events (ce-type: kg.relationship.created) | Emitted when a Neptune relationship (OWNED_BY, HAS_TRANSFORM, DERIVED_FROM) is created. |
Quota
| Topic | Description |
|---|---|
| eventzr.vault.quota.exceeded.v1 | Emitted when a tenant exceeds a quota limit (storage, assets, transforms). |
Consumed Events (2 topics)
Events consumed by vault-svc from other services:
| Topic | Consumer Group | Description |
|---|---|---|
| billing.subscription-tier-updated | vault-svc-subscription-tier-group | Updates internal quota limits when a tenant changes subscription tier. |
| eventzr.tenant.deleted.v1 | vault-svc-tenant-group | Triggers cascade cleanup of all assets, transforms, and KG nodes for the deleted tenant. |