Gate control-plane proxy direct fallback (#3963)

Integrated into release/v3.8.27
This commit is contained in:
Randi
2026-06-16 08:12:28 -04:00
committed by GitHub
parent b05aea5355
commit ac0b7add27
8 changed files with 139 additions and 63 deletions

View File

@@ -12,7 +12,7 @@ export interface FeatureFlagDefinition {
}
export const FEATURE_FLAG_DEFINITIONS: FeatureFlagDefinition[] = [
// ──────────────── Security (6) ────────────────
// ──────────────── Security (7) ────────────────
{
key: "REQUIRE_API_KEY",
label: "Require API Key",
@@ -94,7 +94,7 @@ export const FEATURE_FLAG_DEFINITIONS: FeatureFlagDefinition[] = [
warningLevel: "info",
},
// ──────────────── Network (5) ────────────────
// ──────────────── Network (7) ────────────────
{
key: "ENABLE_TLS_FINGERPRINT",
label: "TLS Fingerprint",
@@ -129,6 +129,18 @@ export const FEATURE_FLAG_DEFINITIONS: FeatureFlagDefinition[] = [
requiresRestart: false,
warningLevel: "caution",
},
{
key: "OMNIROUTE_CONTROL_PLANE_PROXY_DIRECT_FALLBACK",
label: "Control-Plane Proxy Direct Fallback",
description:
"Allow OAuth and provider validation flows to bypass a pinned proxy and connect directly when proxy reachability pre-checks fail. Off by default because this can change account egress IP.",
descriptionI18nKey: "featureFlagOmnirouteControlPlaneProxyDirectFallbackDescription",
category: "network",
defaultValue: "false",
type: "boolean",
requiresRestart: false,
warningLevel: "danger",
},
{
key: "MITM_DISABLE_TLS_VERIFY",
label: "Disable TLS Verify (MITM)",

View File

@@ -79,3 +79,15 @@ export function isModelCatalogNamesEnabled(): boolean {
export function isArenaEloSyncEnabled(): boolean {
return isFeatureFlagEnabled("ARENA_ELO_SYNC_ENABLED");
}
export function isControlPlaneProxyDirectFallbackEnabled(): boolean {
try {
return isFeatureFlagEnabled("OMNIROUTE_CONTROL_PLANE_PROXY_DIRECT_FALLBACK");
} catch (error) {
console.error(
"[featureFlags] Failed to resolve OMNIROUTE_CONTROL_PLANE_PROXY_DIRECT_FALLBACK, defaulting to disabled:",
error instanceof Error ? error.message : error
);
return false;
}
}