Lakekeeper · AsyncAPI Specification
Lakekeeper Events
Version
View Spec
View on GitHub
Apache IcebergData CatalogLakehouseOpen-SourceRustData GovernanceAccess ControlObject StorageMetadataSelf-HostedopenfgaData EngineeringAsyncAPIEvents
AsyncAPI Specification
generated: '2026-08-27'
method: searched
source: >-
https://docs.lakekeeper.io/docs/latest/configuration/, https://docs.lakekeeper.io/docs/latest/customize/,
https://docs.lakekeeper.io/docs/latest/concepts/
asyncapi_published: false
webhooks_published: false
note: >-
Lakekeeper HAS a real event surface, but it publishes neither an AsyncAPI document nor an HTTP webhook catalog,
so no AsyncAPI or Webhooks pointer is emitted for it — that would assert a contract the provider does not ship.
What exists is a CloudEvents publisher: catalog change events are serialized as CloudEvents and fanned out to
whatever sinks the OPERATOR configures. Because the broker, topic and credentials are all deployment
configuration, there is no single channel address that could be written into a spec on the provider's behalf.
The event TYPE names and payload schemas are likewise not published in the documentation — they live in the
Rust EventListener trait — so they are deliberately not enumerated here rather than guessed.
surface:
kind: change-event stream
encoding: CloudEvents (https://cloudevents.io)
delivery: push to broker
trigger: catalog mutations — table created/dropped/renamed/registered, transaction committed, view changes, and more
source_of_truth: >-
crates/lakekeeper/src/service/events/publisher.rs (CloudEventBackend) and
crates/lakekeeper/src/service/events/dispatch.rs (EventListener)
sinks:
- name: Apache Kafka
crate: lakekeeper-events-kafka
configuration:
- LAKEKEEPER__KAFKA_TOPIC (example: lakekeeper)
- LAKEKEEPER__KAFKA_CONFIG (librdkafka configuration as a dictionary)
- LAKEKEEPER__KAFKA_CONFIG_FILE (mutually exclusive with the above; values are not merged)
note: Built on rust-rdkafka with librdkafka statically linked.
- name: NATS
crate: lakekeeper-events-nats
configuration:
- LAKEKEEPER__NATS_ADDRESS (example: nats://localhost:4222)
- LAKEKEEPER__NATS_TOPIC (example: iceberg)
- LAKEKEEPER__NATS_USER + LAKEKEEPER__NATS_PASSWORD
- LAKEKEEPER__NATS_CREDS_FILE
- LAKEKEEPER__NATS_TOKEN
- name: Tracing / log
configuration:
- LAKEKEEPER__LOG_CLOUDEVENTS=true
note: Writes CloudEvents to the log when no Kafka or NATS broker is available — useful for local inspection.
- name: Custom
note: >-
Any implementation of the CloudEventBackend trait can be registered via ServeConfiguration.cloud_event_sinks;
this is a compile-time/wiring extension, not runtime plugin loading.
related_surfaces:
- name: Audit events
detail: >-
Authorization decisions and catalog operations emit dedicated audit events with exactly-once-per-call
delivery (v0.12.0). Delivered through the logging pipeline, tagged event_source = "audit", and since v0.13.0
they can surface the contributing policies behind a decision.
docs: https://docs.lakekeeper.io/docs/latest/logging/
- name: Endpoint statistics
detail: >-
Per-project, per-endpoint call statistics routable to a custom EndpointStatisticsSink, or read over HTTP via
get_endpoint_statistics.
docs: https://docs.lakekeeper.io/docs/latest/monitoring/
gaps:
- No AsyncAPI document is published for the CloudEvents stream.
- Event type names and payload schemas are not documented outside the Rust source.
- No HTTP webhook delivery — a consumer must operate a Kafka or NATS broker.
Work with this as data
Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/lakekeeper-events"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.