Skip to main content

remote::passthrough

Description

Passthrough inference provider for connecting to any external inference service not directly supported.

Configuration

FieldTypeRequiredDefaultDescription
allowed_modelslist[str] | NoneNoList of models that should be registered with the model registry. If None, all models are allowed.
refresh_modelsboolNoFalseWhether to refresh models periodically from the provider
api_keySecretStr | NoneNoAuthentication credential for the provider
networkNetworkConfig | NoneNoNetwork configuration including TLS, proxy, and timeout settings.
network.tlsTLSConfig | NoneNoTLS/SSL configuration for secure connections.
network.tls.verifybool | PathNoTrueWhether to verify TLS certificates. Can be a boolean or a path to a CA certificate file.
network.tls.min_versionLiteral[TLSv1.2, TLSv1.3] | NoneNoMinimum TLS version to use. Defaults to system default if not specified.
network.tls.cipherslist[str] | NoneNoList of allowed cipher suites (e.g., ['ECDHE+AESGCM', 'DHE+AESGCM']).
network.tls.client_certPath | NoneNoPath to client certificate file for mTLS authentication.
network.tls.client_keyPath | NoneNoPath to client private key file for mTLS authentication.
network.proxyProxyConfig | NoneNoProxy configuration for HTTP connections.
network.proxy.urlHttpUrl | NoneNoSingle proxy URL for all connections (e.g., 'http://proxy.example.com:8080').
network.proxy.httpHttpUrl | NoneNoProxy URL for HTTP connections.
network.proxy.httpsHttpUrl | NoneNoProxy URL for HTTPS connections.
network.proxy.cacertPath | NoneNoPath to CA certificate file for verifying the proxy's certificate. Required for proxies in interception mode.
network.proxy.no_proxylist[str] | NoneNoList of hosts that should bypass the proxy (e.g., ['localhost', '127.0.0.1', '.internal.corp']).
network.timeoutfloat | TimeoutConfig | NoneNoTimeout configuration. Can be a float (for both connect and read) or a TimeoutConfig object with separate connect and read timeouts.
network.timeout.connectfloat | NoneNoConnection timeout in seconds.
network.timeout.readfloat | NoneNoRead timeout in seconds.
network.headersdict[str, str] | NoneNoAdditional HTTP headers to include in all requests.
base_urlHttpUrl | NoneNoThe URL for the passthrough endpoint
forward_headersdict[str, str] | NoneNoMapping of X-LlamaStack-Provider-Data keys to outbound HTTP header names. Only listed keys are forwarded — all others are ignored (default-deny). Values are forwarded verbatim; include any required prefix in the client payload (e.g. 'Bearer sk-xxx' not 'sk-xxx' when targeting Authorization). Header name values should use canonical HTTP casing (e.g. 'Authorization', 'X-Tenant-ID'). Keys with a __ prefix and core security-sensitive headers (for example Host, Content-Type, Transfer-Encoding, Cookie) are rejected at config parse time. When this field is set and auth comes from forwarded headers rather than a static api_key, the caller must include the required keys in X-LlamaStack-Provider-Data on every request. Example: {"maas_api_token": "Authorization"}
extra_blocked_headerslist[str]No[]Additional outbound header names to block in forward_headers. Names are matched case-insensitively and added to the core blocked list. This can tighten policy but cannot unblock core security-sensitive headers.

Sample Configuration

base_url: ${env.PASSTHROUGH_URL}
api_key: ${env.PASSTHROUGH_API_KEY:=}