Skip to Content
We are live but in Staging 🎉
CLI GuideConfig, Context, Output, and Troubleshooting

Config, Context, Output, and Troubleshooting

Last validated: 2026-05-11

This page explains how dodil vbase resolves config and why commands may target different endpoints.

Primary Config File

  • ~/.config/dodil/config.yaml

Key Config Fields

PathMeaning
global.tokenBearer token used by VBase gateway and tenant calls.
global.org_idOrganization ID used in db/service APIs.
global.org_nameOrganization name forwarded by some client paths.
vbase.gateway_hostGateway endpoint used by db commands.
vbase.hostTenant endpoint host used by data-plane commands.
vbase.portTenant port used by data-plane commands.
vbase.db_nameActive DB name for data-plane commands.
vbase.service_account_idCredential used for token refresh.
vbase.service_account_secretCredential used for token refresh.

Resolution Order

Current vbase plugin config behavior:

  1. Read global auth/org fields.
  2. Read vbase.gateway_host, vbase.host, vbase.port, vbase.db_name.
  3. Fallback to top-level gateway_host and db_name if needed.
  4. Fallback gateway default is https://api.dev.dodil.io.

What db use Changes

dodil vbase db use <service_id> writes:

  • vbase.host
  • vbase.port
  • vbase.db_name
  • vbase.service_name

This is why collection/data/index/status/version commands can run without passing endpoint flags.

Connection Behavior (TLS vs Insecure)

The client infers transport credentials from endpoint string:

  • https://... or :443 -> TLS
  • http://... or non-443 no-scheme host -> insecure

Output Modes

Use output mode per command:

dodil vbase db list -o table dodil vbase db list -o json

json mode is recommended for scripts.

Troubleshooting Playbook

Symptom: db command works but collection/data command fails

Checks:

  1. Run dodil vbase db use <service_id> again.
  2. Verify vbase.host, vbase.port, and vbase.db_name in config.
  3. Ensure target service is RUNNING.

Symptom: unauthorized errors

Checks:

  1. Re-run dodil login <id> <secret>.
  2. Confirm global.token exists in ~/.config/dodil/config.yaml.
  3. Retry command to trigger refresh path.

Symptom: search returns empty or wrong field output

Checks:

  1. Ensure --vector-field matches schema vector field.
  2. Ensure --id-field matches schema ID field.
  3. Confirm vector dimension matches collection schema.

Symptom: dodil vbase login appears successful but commands still fail

Cause:

  • this legacy command writes ~/.vbase.yaml, not the primary Dodil CLI config used by plugin runtime.

Fix:

  • use dodil login <service_account_id> <service_account_secret>.