Skip to main content

Requirements

Overview

In air-gapped setups, the Gateway and Backend cannot access Portkeyโ€™s hosted control plane for automatic pricing updates. Pricing and model capability data must be sourced locally or from an allowed endpoint. Flow:
  • The Gateway fetches pricing from the Backend when:
  • The Backend resolves pricing using a fallback chain.

Built-In Fallback Behavior

  • If the Gateway cannot reach the Backend โ†’ it uses bundled pricing configs.
  • If the Backend cannot reach any configured source โ†’ it uses bundled pricing configs.
  • A baseline dataset is always available.

Option 1: Use Portkey Hosted Config Service

Use when outbound HTTPS is allowed from Backend. Backend fetches pricing and capabilities JSON from:
No request data is sent to Portkey. Only static JSON files are retrieved. See the Portkey Models API docs for the full schema.

Gateway

Backend

Data is cached in memory for 1 hour.

Option 2: Fully Air-Gapped (Self-Hosted Data)

Use when no outbound internet is allowed.

Gateway

Backend

Maintain a local copy of the open-source Portkey Models repository. Repository structure:
Example:
You can expose these files to Backend in two ways.

2A. Log Store

Upload pricing and capability JSON files to your object storage.

Backend Environment

Expected structure:
Updates
  • Replace JSON files in the same path.
  • Backend refreshes within 1 hour (cache TTL).

2B. Local Volume Mount

Mount pricing/ and general/ directories to Backend.

Backend Environment

Example Helm values:
Updates
  • Update ConfigMap/PVC/mounted path.
  • Restart Backend pods if required by your mount strategy.
  • Data refreshes into memory cache.

Keeping Pricing Updated

  1. Pull latest files from the models repository.
  2. Update your log store or volume mount.
  3. Backend refreshes within 1 hour.
For ConfigMap mounts, pod restart may be required.
Last modified on June 25, 2026