Conventions
VBase has two surfaces β a control plane (provisioning) and a data plane (Milvus) β each with its own endpoint and the same IAM token.
Endpoints
| Surface | Staging | Production |
|---|---|---|
| Control plane β HTTP | https://api.dev.dodil.io | https://api.dodil.io |
| Control plane β gRPC | rpc.dev.dodil.io:443 | rpc.dodil.io:443 |
| Data plane (Milvus) | the databaseβs endpoint:443 from GetServiceAccess | same |
Control-plane HTTP paths live under /v1/vbase/...; the gRPC service is dodil.vbase.v1.VBaseService. The data plane is the native Milvus protocol β you reach it with the Milvus SDK, not these paths.
Auth
One IAM bearer token is used everywhere:
- Control plane:
Authorization: Bearer <IAM token>on each request. - Data plane: the same token is passed as the Milvus
token.
HealthCheck is the only unauthenticated control-plane call. See Auth and Access.
Async allocation
AllocateDatabase returns immediately with status CREATING. Poll GetService until the database is RUNNING, then call GetServiceAccess for the connection details. The dodil vbase db create / db use commands handle this for you.
Wire format
Control-plane HTTP bodies are JSON (pbjson camelCase); gRPC uses the proto field names. The data plane is Milvus gRPC β its wire format and conventions are documented at milvus.ioΒ .