VBase Feature Status
Last validated: 2026-05-11
Status labels in this document:
- Implemented: endpoint/service exists and is wired in runtime
- Partial: available but has known functional limitations or behavior caveats
- Limited CLI: server supports feature but CLI coverage is incomplete
Management API Domain
| Feature | API status | CLI status | Notes |
|---|---|---|---|
| HealthCheck | Implemented | Limited CLI | API health exists; CLI mostly checks Milvus health via selected endpoint |
| Create/Get/Scale/Delete cluster | Implemented | Limited CLI | Dedicated cluster lifecycle is API-only in current CLI |
| Cluster in-progress task lookup | Implemented | Limited CLI | Exposed in API; no first-class CLI command |
| Allocate/Delete database | Implemented | Implemented | Exposed through dodil vbase db create/drop |
| Service list/get/access | Implemented | Partial | CLI exposes list/access (db list/use) but not full service detail command |
| RunCommand (generic Milvus bridge) | Implemented | Limited CLI | API present; no direct CLI wrapper command |
Backup Domain
| Feature | API status | CLI status | Notes |
|---|---|---|---|
| Create backup | Implemented | Limited CLI | API job creation implemented |
| List backups by service/org | Implemented | Limited CLI | API includes service and org listing |
| Restore backup | Implemented | Limited CLI | API implemented |
| Delete backup artifact | Implemented | Limited CLI | API deletes by backup name lookup |
| Backup policy create/update/delete | Implemented | Limited CLI | API implemented with schedule validation |
| Policy-driven worker execution | Implemented | N/A | Worker loop executes cron and retention enforcement |
| Policy backup target flexibility | Partial | N/A | Worker policy trigger currently uses default db and empty collection set |
Proxy and Access Domain
| Feature | Runtime status | Notes |
|---|---|---|
| Bearer token verification | Implemented | Enabled when AUTH_REQUIRED=true |
| Tenant endpoint/org validation | Implemented | Uses VBaseAdminService/GetClusterTenants |
| UMA authorization | Implemented | Action-to-scope mapping in YAML |
| Scope null-entry hard deny | Implemented | vbase_scope: null actions are forbidden |
| Unmapped action handling | Partial | Current logic may skip UMA when action mapping is absent |
| Request/response billing counters | Implemented | Byte counters and CU-duration billing paths included |
Backup route forwarding (/backup*) | Implemented | Controlled by BACKUP_ENABLED and upstream config |
Milvus Command Bridge Domain (RunCommand)
| Feature | Status | Notes |
|---|---|---|
| Broad unary Milvus RPC dispatch | Implemented | Large set of methods in milvus_operations.rs |
| Search JSON transformation | Implemented | placeholder_group FloatVector transform path available |
| CreateCollection schema transform | Implemented | Handles JSON schema to protobuf bytes |
| Streaming Milvus RPC support | Partial | CreateReplicateStream explicitly unsupported |
| Placeholder type diversity in parser | Partial | Search parser currently supports FloatVector path only |
CLI Domain (dodil vbase)
| Feature | Status | Notes |
|---|---|---|
| DB create/list/drop/use | Implemented | Uses VBaseService gateway path |
| Collection/index/data operations | Implemented | Direct Milvus operations using selected db context; collection create supports custom schema flags (--field) and data commands support configurable id/vector field names |
| Cluster lifecycle commands | Limited CLI | Not exposed as first-class commands |
| Backup/policy commands | Limited CLI | Not exposed as first-class commands |
| RunCommand wrapper | Limited CLI | Not exposed as first-class command |
| Config-driven operation | Implemented | Reads ~/.config/dodil/config.yaml |
vbase login consistency | Partial | Command writes ~/.vbase.yaml, while runtime reads Dodil CLI config path |
Contract and Annotation Drift Notes
ListClustersRequestmessage exists in proto, but norpc ListClustersis currently exposed.GetClusterHTTP annotation path contains{or}placeholder and appears malformed.GetClusterInProgressTasksuses DELETE annotation for a read operation.DeleteDatabaseHTTP annotation does not includedatabase_idin path.- Legacy/outdated markdown in
dodil-vbaseshould not be treated as canonical runtime documentation.
Documentation Confidence
- High confidence: gRPC method wiring, CLI command tree, proxy auth pipeline, backup worker flow.
- Medium confidence: gateway HTTP behavior for malformed proto annotations (depends on external transcoding behavior).