Engine — API Reference
Package: dodil.k3.tables.v1 · Service: TableService
You usually don’t need these RPCs. Every bucket gets an auto-enabled table engine on
CreateBucket—EnableEngineruns implicitly. This page is for advanced scenarios: applying custom settings after the fact, disabling tables on a bucket without dropping it, or troubleshooting.
The engine is the per-bucket backend configuration. One engine per bucket; all tables in the bucket share it. See Core Concepts → Engine for the type.
| RPC | HTTP |
|---|---|
EnableEngine | POST /:bucket/tables/_engine |
GetEngine | GET /:bucket/tables/_engine |
DisableEngine | DELETE /:bucket/tables/_engine |
gRPC setup —
grpcurl, endpoints, reflection, and field-name casing — is covered once in Conventions → Using gRPC.
EnableEngine
Most callers will never run this — CreateBucket enables the engine implicitly. Use it to:
- Re-enable an engine you previously disabled
- Apply custom settings post-bucket-creation (re-enables with new settings)
Request
HTTP
Default settings (same as the auto-enable does):
curl -sS -X POST "https://k3.dev.dodil.io/kb-prod/tables/_engine" \
-H "Authorization: Bearer $DODIL_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"bucket": "kb-prod",
"settings": "{}"
}'With custom settings:
curl -sS -X POST "https://k3.dev.dodil.io/kb-prod/tables/_engine" \
-H "Authorization: Bearer $DODIL_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"bucket": "kb-prod",
"settings": "{\"setting_key\":\"value\"}"
}'Response
An Engine row — see Core Concepts → Engine.
GetEngine
Request
HTTP
curl -sS "https://k3.dev.dodil.io/kb-prod/tables/_engine" \
-H "Authorization: Bearer $DODIL_TOKEN"Response
An Engine row — see Core Concepts → Engine.
{
"engineId": "eng_a1b2…",
"bucket": "kb-prod",
"status": "ENGINE_STATUS_ACTIVE",
"settings": "{}",
"tableCount": 4,
"createdAt": "1716840000000",
"updatedAt": "1716843600000"
}DisableEngine
Disables the engine for the bucket. Does not delete tables — table rows + Delta data remain intact — but blocks new writes / reads against any of them.
Request
HTTP
curl -sS -X DELETE "https://k3.dev.dodil.io/kb-prod/tables/_engine" \
-H "Authorization: Bearer $DODIL_TOKEN"Response
Empty (DisableEngineResponse {}).
Disable is reversible — call
EnableEngineto flip it back. The engine row +engine_id+tableCountpersist; onlystatuschanges.
See also
- Tables — most of your time will be here, not on the engine RPCs
- Core Concepts → Engine — type + status enum
- CLI Guide → engine —
dodil k3 engine enable / get / disable grpcurlreference — full flag set + reflection-disabled fallbacks