Skip to main content
Migration guide

Migrate from Bifrost to DVARA.
Move the operating controls with the traffic.

Bifrost and DVARA both accept OpenAI-compatible requests. The migration is complete only when provider routes, access, limits and governance behave correctly on the new path.

Map what runs in Bifrost today

Bifrost can store configuration in its Web UI and database or load it from a config.json file. Neither format imports into DVARA. Treat the current deployment as an inventory and rebuild only what production traffic actually uses.

In BifrostIn DVARAMigration action
Providers, keys and provider-prefixed modelsProvider credentials, routes and public model namesRecreate provider credentials and decide which model names clients should keep. Do not translate Bifrost provider prefixes blindly.
Virtual keys, teams and customersWorkspaces, roles and DVARA API keysCreate new keys and rotate every client. Map ownership and access boundaries before copying limits.
Provider configs and routing rulesOrdered routes, model patterns, retry and failover settingsRebuild the routing intent. Test provider selection, failure codes, streaming and model capabilities before cutover.
Budgets and rate limitsWorkspace and API-key limits, with budget controls in the Enterprise platformRecreate the values and verify windows, accounting and denial responses. Similar labels do not mean identical behavior.
Plugins, moderation and MCP settingsPolicies, configured data checks, guardrails and governed gateway planesInventory each active control and test its allow, log, redact, deny or approval outcome. Do not assume defaults carry over.
Request logs, metrics and tracesAudit evidence, request correlation, metrics and Flightdeck viewsMap the fields used by operations and compliance, then configure retention and export for the new deployment.

Move one workload in six steps

Use a workload that represents production, including its model naming, streaming mode, tools, structured output and failure cases.

  1. 1

    Write down the current contract

    Record the Bifrost host, model names, providers, virtual-key headers, routing rules, budgets, rate limits, plugins and metadata in use. Save representative successful and failed responses.

  2. 2

    Choose the DVARA operating model

    DVARA Open Source provides a file-configured LLM data plane. The Enterprise platform adds Flightdeck, central persistence, workspaces and managed governance workflows. Test the deployment shape you plan to operate.

  3. 3

    Rebuild access, routes and controls

    Add provider credentials, create new DVARA keys, map only the public model names clients need, and rebuild routes, limits and governance. Bifrost and DVARA both allow unauthenticated inference by default; set DVARA_LLM_GATEWAY_REQUIRE_API_KEY=true when your DVARA deployment must require a key.

  4. 4

    Send one complete governed request

    Replace the host, keys and model names with values from your test deployments. Bifrost commonly uses a provider-prefixed model and virtual key; the DVARA route decides the provider behind the public model name.

    Before — Bifrost
    curl https://<your-bifrost-host>/v1/chat/completions \
      -H 'Authorization: Bearer <bifrost-virtual-key>' \
      -H 'Content-Type: application/json' \
      -d '{
        "model": "openai/gpt-4o-mini",
        "messages": [{
          "role": "user",
          "content": "Summarize the refund policy."
        }],
        "temperature": 0
      }'
    After — DVARA
    curl https://<your-dvara-host>/v1/chat/completions \
      -H 'Authorization: Bearer <your-dvara-key>' \
      -H 'Content-Type: application/json' \
      -d '{
        "model": "gpt-4o-mini",
        "messages": [{
          "role": "user",
          "content": "Summarize the refund policy."
        }],
        "temperature": 0
      }'

    A representative successful response looks like this:

    {
      "id": "chatcmpl-01JQ8BIFROST2DVARA",
      "object": "chat.completion",
      "model": "gpt-4o-mini",
      "choices": [{
        "index": 0,
        "message": {
          "role": "assistant",
          "content": "Refunds are available within 30 days."
        },
        "finish_reason": "stop"
      }],
      "usage": {
        "prompt_tokens": 16,
        "completion_tokens": 9,
        "total_tokens": 25
      }
    }

    In the Enterprise platform, find the request under the expected workspace in Flightdeck. In Open Source, check the audit sink you configured. Confirm the provider, policy outcome, status and token usage.

  5. 5

    Test the paths that expose differences

    Test streaming and non-streaming calls, tools, structured output, invalid keys, unknown models, limit boundaries, policy denials, provider errors and failover. Compare response shape, status, token accounting, latency and recorded evidence.

  6. 6

    Cut over in stages

    Keep the Bifrost and DVARA URL/key pairs in runtime configuration. Move one workload, watch agreed error, latency, cost and denial thresholds, then expand only after the acceptance window passes.

Define rollback before cutover

Restore the Bifrost URL and virtual key when a response-contract, error-rate, latency, cost or governance threshold fails. Do not mirror sensitive prompts to both systems unless that data handling has been reviewed.

Review DVARA resilience

Questions before you migrate

Is changing the base URL enough?

It is enough to test a simple OpenAI-compatible request. It does not move provider credentials, virtual keys, teams, budgets, routing rules, plugins, MCP settings or logs. Rebuild and test those controls before moving production traffic.

Can DVARA import Bifrost configuration?

No. There is no supported automatic importer for Bifrost configuration databases or config.json files. Use the current configuration as an inventory, then create and review the corresponding DVARA routes, identities and governance controls.

Do Bifrost virtual keys become DVARA API keys?

Create new DVARA keys instead of copying key material. Bifrost can accept a virtual key through several headers; DVARA uses an Authorization bearer token when API-key enforcement is enabled. Rotate one client at a time.

Which DVARA distribution should I use?

Use DVARA Open Source for a file-configured LLM data plane. Use the Enterprise platform when you need Flightdeck, central persistence, managed workspaces and advanced governance workflows. MCP and A2A are Enterprise planes and require a production licence to activate.

Will routing and failover behave the same?

Do not assume they will. Rebuild the route and test real provider failures. Model compatibility and response state matter, and a stream cannot move to another provider after response delivery has begun.

How do I roll back?

Keep Bifrost available during the acceptance window and keep both URL and key pairs in runtime configuration. Restore the previous pair if an agreed response-contract, error-rate, latency, cost or governance threshold fails.

Prove one real workload first.

Rebuild its access, routes and controls, test its failure paths, and keep Bifrost ready until the results are clear.