mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-25 01:02:15 +00:00
refactor(proxy): rename the local development override to dangerously_permit_weak_or_unset_master_key so the name says exactly what it permits
This commit is contained in:
parent
99f99cfb46
commit
ecf17513fb
12 changed files with 42 additions and 42 deletions
|
|
@ -1650,7 +1650,7 @@ jobs:
|
|||
command: |
|
||||
docker run -d \
|
||||
-p 4001:4000 \
|
||||
-e LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY=true \
|
||||
-e LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY=true \
|
||||
-e DATABASE_URL="postgresql://postgres:postgres@host.docker.internal:5432/litellm_test" \
|
||||
-e LITELLM_MASTER_KEY="sk-1234" \
|
||||
--name schema-seed \
|
||||
|
|
@ -1671,7 +1671,7 @@ jobs:
|
|||
command: |
|
||||
docker run -d \
|
||||
-p 4000:4000 \
|
||||
-e LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY=true \
|
||||
-e LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY=true \
|
||||
-e DATABASE_URL="postgresql://postgres:postgres@host.docker.internal:5432/litellm_test" \
|
||||
-e DEFAULT_NUM_WORKERS_LITELLM_PROXY=1 \
|
||||
-e DISABLE_SCHEMA_UPDATE="True" \
|
||||
|
|
@ -1746,7 +1746,7 @@ jobs:
|
|||
command: |
|
||||
docker run -d \
|
||||
-p 4000:4000 \
|
||||
-e LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY=true \
|
||||
-e LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY=true \
|
||||
-e DATABASE_URL=postgresql://postgres:postgres@host.docker.internal:5432/circle_test \
|
||||
-e USE_PRISMA_MIGRATE=True \
|
||||
-e FAKE_OPENAI_API_BASE=http://host.docker.internal:8190 \
|
||||
|
|
@ -1842,7 +1842,7 @@ jobs:
|
|||
command: |
|
||||
docker run -d \
|
||||
-p 4000:4000 \
|
||||
-e LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY=true \
|
||||
-e LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY=true \
|
||||
-e DATABASE_URL=postgresql://postgres:postgres@host.docker.internal:5432/circle_test \
|
||||
-e AZURE_API_KEY=$AZURE_API_KEY \
|
||||
-e AZURE_API_BASE=$AZURE_API_BASE \
|
||||
|
|
@ -1931,7 +1931,7 @@ jobs:
|
|||
command: |
|
||||
docker run -d \
|
||||
-p 4000:4000 \
|
||||
-e LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY=true \
|
||||
-e LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY=true \
|
||||
-e DATABASE_URL=postgresql://postgres:postgres@host.docker.internal:5432/circle_test \
|
||||
-e REDIS_HOST=$REDIS_HOST \
|
||||
-e REDIS_PASSWORD=$REDIS_PASSWORD \
|
||||
|
|
@ -1992,7 +1992,7 @@ jobs:
|
|||
command: |
|
||||
docker run -d \
|
||||
-p 4000:4000 \
|
||||
-e LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY=true \
|
||||
-e LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY=true \
|
||||
-e DATABASE_URL=postgresql://postgres:postgres@host.docker.internal:5432/circle_test \
|
||||
-e REDIS_HOST=$REDIS_HOST \
|
||||
-e REDIS_PASSWORD=$REDIS_PASSWORD \
|
||||
|
|
@ -2070,7 +2070,7 @@ jobs:
|
|||
command: |
|
||||
docker run -d \
|
||||
-p 4000:4000 \
|
||||
-e LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY=true \
|
||||
-e LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY=true \
|
||||
-e DATABASE_URL=postgresql://postgres:postgres@host.docker.internal:5432/circle_test \
|
||||
-e REDIS_HOST=host.docker.internal \
|
||||
-e REDIS_PORT=6379 \
|
||||
|
|
@ -2153,7 +2153,7 @@ jobs:
|
|||
command: |
|
||||
docker run -d \
|
||||
-p 4000:4000 \
|
||||
-e LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY=true \
|
||||
-e LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY=true \
|
||||
-e DATABASE_URL=postgresql://postgres:postgres@host.docker.internal:5432/circle_test \
|
||||
-e REDIS_HOST=$REDIS_HOST \
|
||||
-e REDIS_PASSWORD=$REDIS_PASSWORD \
|
||||
|
|
@ -2176,7 +2176,7 @@ jobs:
|
|||
command: |
|
||||
docker run -d \
|
||||
-p 4001:4001 \
|
||||
-e LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY=true \
|
||||
-e LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY=true \
|
||||
-e DATABASE_URL=postgresql://postgres:postgres@host.docker.internal:5432/circle_test \
|
||||
-e REDIS_HOST=$REDIS_HOST \
|
||||
-e REDIS_PASSWORD=$REDIS_PASSWORD \
|
||||
|
|
@ -2254,7 +2254,7 @@ jobs:
|
|||
docker run -d \
|
||||
--restart on-failure \
|
||||
-p 4000:4000 \
|
||||
-e LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY=true \
|
||||
-e LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY=true \
|
||||
-e DATABASE_URL=postgresql://postgres:postgres@host.docker.internal:5432/circle_test \
|
||||
-e STORE_MODEL_IN_DB="True" \
|
||||
-e LITELLM_MASTER_KEY="sk-1234" \
|
||||
|
|
@ -2329,7 +2329,7 @@ jobs:
|
|||
command: |
|
||||
docker run -d \
|
||||
-p 4000:4000 \
|
||||
-e LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY=true \
|
||||
-e LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY=true \
|
||||
-e DATABASE_URL=postgresql://postgres:postgres@host.docker.internal:5432/circle_test \
|
||||
-e REDIS_HOST=$REDIS_HOST \
|
||||
-e REDIS_PASSWORD=$REDIS_PASSWORD \
|
||||
|
|
@ -2412,7 +2412,7 @@ jobs:
|
|||
command: |
|
||||
docker run -d \
|
||||
-p 4000:4000 \
|
||||
-e LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY=true \
|
||||
-e LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY=true \
|
||||
-e DATABASE_URL=postgresql://postgres:postgres@host.docker.internal:5432/circle_test \
|
||||
-e LITELLM_MASTER_KEY="sk-1234" \
|
||||
-e OPENAI_API_KEY=$OPENAI_API_KEY \
|
||||
|
|
@ -2504,7 +2504,7 @@ jobs:
|
|||
command: |
|
||||
docker run -d \
|
||||
-p 4000:4000 \
|
||||
-e LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY=true \
|
||||
-e LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY=true \
|
||||
-e DATABASE_URL=postgresql://postgres:postgres@host.docker.internal:5432/circle_test \
|
||||
-e LITELLM_MASTER_KEY="sk-1234" \
|
||||
-e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
|
||||
|
|
@ -2686,7 +2686,7 @@ jobs:
|
|||
name: Start LiteLLM proxy
|
||||
environment:
|
||||
LITELLM_MASTER_KEY: "sk-1234"
|
||||
LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY: "true"
|
||||
LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY: "true"
|
||||
MOCK_LLM_URL: "http://127.0.0.1:8090/v1"
|
||||
DISABLE_SCHEMA_UPDATE: "true"
|
||||
SERVER_ROOT_PATH: ""
|
||||
|
|
@ -2830,7 +2830,7 @@ jobs:
|
|||
name: Start LiteLLM proxy under a server root path
|
||||
environment:
|
||||
LITELLM_MASTER_KEY: "sk-1234"
|
||||
LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY: "true"
|
||||
LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY: "true"
|
||||
MOCK_LLM_URL: "http://127.0.0.1:8090/v1"
|
||||
DISABLE_SCHEMA_UPDATE: "true"
|
||||
# Output flows to this step's own log, so a boot crash is visible here
|
||||
|
|
@ -2916,7 +2916,7 @@ jobs:
|
|||
command: |
|
||||
docker run --name my-app \
|
||||
-p 4000:4000 \
|
||||
-e LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY=true \
|
||||
-e LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY=true \
|
||||
-e DEFAULT_NUM_WORKERS_LITELLM_PROXY=1 \
|
||||
-e DATABASE_URL="postgresql://wrong:wrong@wrong:5432/wrong" \
|
||||
myapp:latest \
|
||||
|
|
|
|||
|
|
@ -2590,7 +2590,7 @@ class ConfigGeneralSettings(LiteLLMPydanticObjectBase):
|
|||
use_google_kms: bool | None = Field(None, description="decrypt keys with google kms")
|
||||
use_azure_key_vault: bool | None = Field(None, description="load keys from azure key vault")
|
||||
master_key: str | None = Field(None, description="require a key for all calls to proxy")
|
||||
dangerously_allow_unsafe_proxy: bool | None = Field(
|
||||
dangerously_permit_weak_or_unset_master_key: bool | None = Field(
|
||||
None,
|
||||
description="local development only: start even when master_key is unset, empty, or a publicly known default",
|
||||
)
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ from typing_extensions import assert_never
|
|||
|
||||
from litellm._logging import verbose_proxy_logger
|
||||
|
||||
UNSAFE_PROXY_OVERRIDE_SETTING: Final = "dangerously_allow_unsafe_proxy"
|
||||
UNSAFE_PROXY_OVERRIDE_ENV_VAR: Final = "LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY"
|
||||
WEAK_OR_UNSET_MASTER_KEY_OVERRIDE_SETTING: Final = "dangerously_permit_weak_or_unset_master_key"
|
||||
WEAK_OR_UNSET_MASTER_KEY_OVERRIDE_ENV_VAR: Final = "LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY"
|
||||
MASTER_KEY_SETTING: Final = "master_key"
|
||||
MASTER_KEY_ENV_VAR: Final = "LITELLM_MASTER_KEY"
|
||||
SALT_KEY_ENV_VAR: Final = "LITELLM_SALT_KEY"
|
||||
|
|
@ -86,7 +86,7 @@ def master_key_boot_verdict(
|
|||
reason: Final = _unsafe_reason(master_key)
|
||||
if reason is None:
|
||||
return SafeMasterKey()
|
||||
if override_env_is_on or general_settings.get(UNSAFE_PROXY_OVERRIDE_SETTING) is True:
|
||||
if override_env_is_on or general_settings.get(WEAK_OR_UNSET_MASTER_KEY_OVERRIDE_SETTING) is True:
|
||||
return UnsafeMasterKeyAllowed(reason=reason)
|
||||
config_file_only_relays_the_environment: Final = master_key is not None and master_key == environment_master_key
|
||||
return UnsafeMasterKeyRefused(
|
||||
|
|
@ -121,7 +121,7 @@ def enforce_master_key_boot_verdict(verdict: MasterKeyBootVerdict, announce: Cal
|
|||
case UnsafeMasterKeyAllowed(reason=reason):
|
||||
verbose_proxy_logger.warning(
|
||||
"%s is on, so the proxy is starting with %s. Never run this outside local development.",
|
||||
UNSAFE_PROXY_OVERRIDE_SETTING,
|
||||
WEAK_OR_UNSET_MASTER_KEY_OVERRIDE_SETTING,
|
||||
_UNSAFE_STATE[reason],
|
||||
)
|
||||
case UnsafeMasterKeyRefused(reason=reason):
|
||||
|
|
@ -192,8 +192,8 @@ _RESTART_TO_MIGRATE_STEP: Final = (
|
|||
)
|
||||
|
||||
_OVERRIDE_HINT: Final = (
|
||||
f"Local development only: set {UNSAFE_PROXY_OVERRIDE_ENV_VAR}=true, or\n"
|
||||
f"general_settings.{UNSAFE_PROXY_OVERRIDE_SETTING}: true, to start anyway."
|
||||
f"Local development only: set {WEAK_OR_UNSET_MASTER_KEY_OVERRIDE_ENV_VAR}=true, or\n"
|
||||
f"general_settings.{WEAK_OR_UNSET_MASTER_KEY_OVERRIDE_SETTING}: true, to start anyway."
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -345,7 +345,7 @@ from litellm.proxy.auth.login_throttle import (
|
|||
from litellm.proxy.auth.master_key_boot_check import (
|
||||
MASTER_KEY_ENV_VAR,
|
||||
SALT_KEY_ENV_VAR,
|
||||
UNSAFE_PROXY_OVERRIDE_ENV_VAR,
|
||||
WEAK_OR_UNSET_MASTER_KEY_OVERRIDE_ENV_VAR,
|
||||
announce_on_stderr_at_exit,
|
||||
enforce_master_key_boot_verdict,
|
||||
master_key_boot_verdict,
|
||||
|
|
@ -1244,7 +1244,7 @@ async def proxy_startup_event(app: FastAPI) -> AsyncGenerator[None, None]:
|
|||
environment_master_key=os.getenv(MASTER_KEY_ENV_VAR),
|
||||
general_settings=general_settings,
|
||||
config_file_path=user_config_file_path,
|
||||
override_env_is_on=get_secret_bool(UNSAFE_PROXY_OVERRIDE_ENV_VAR) is True,
|
||||
override_env_is_on=get_secret_bool(WEAK_OR_UNSET_MASTER_KEY_OVERRIDE_ENV_VAR) is True,
|
||||
salt_key_is_set=os.getenv(SALT_KEY_ENV_VAR) is not None,
|
||||
database_is_configured=prisma_client is not None or get_secret("DATABASE_URL", None) is not None,
|
||||
),
|
||||
|
|
|
|||
|
|
@ -145,7 +145,7 @@ fi
|
|||
|
||||
# --- Credentials ---
|
||||
export LITELLM_MASTER_KEY="sk-1234"
|
||||
export LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY="true"
|
||||
export LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY="true"
|
||||
export MOCK_LLM_URL="http://127.0.0.1:${MOCK_LLM_PORT}/v1"
|
||||
export E2E_MOCK_PRESIDIO_URL="http://127.0.0.1:${MOCK_PRESIDIO_PORT}"
|
||||
export DISABLE_SCHEMA_UPDATE="true"
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ def _clear_proxy_database_env() -> typing.Iterator[None]:
|
|||
# the LITELLM_MASTER_KEY env var, overriding whatever initialize() set from
|
||||
# the config file. We must set it here so the lifespan doesn't reset it to None.
|
||||
mp.setenv("LITELLM_MASTER_KEY", "sk-1234")
|
||||
mp.setenv("LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY", "true")
|
||||
mp.setenv("LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY", "true")
|
||||
try:
|
||||
yield
|
||||
finally:
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ def override_env_settings(monkeypatch):
|
|||
def test_client():
|
||||
"""Starting the test client triggers FastAPI startup, where Prisma connects to the DB."""
|
||||
with pytest.MonkeyPatch.context() as boot_env:
|
||||
boot_env.setenv("LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY", "true")
|
||||
boot_env.setenv("LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY", "true")
|
||||
with TestClient(app) as client:
|
||||
yield client
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ async def test_proxy_gunicorn_startup_direct_config(monkeypatch):
|
|||
|
||||
Test both approaches
|
||||
"""
|
||||
monkeypatch.setenv("LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY", "true")
|
||||
monkeypatch.setenv("LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY", "true")
|
||||
try:
|
||||
from litellm._logging import verbose_proxy_logger, verbose_router_logger
|
||||
import logging
|
||||
|
|
@ -61,7 +61,7 @@ async def test_proxy_gunicorn_startup_direct_config(monkeypatch):
|
|||
|
||||
@pytest.mark.asyncio
|
||||
async def test_proxy_gunicorn_startup_config_dict(monkeypatch):
|
||||
monkeypatch.setenv("LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY", "true")
|
||||
monkeypatch.setenv("LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY", "true")
|
||||
try:
|
||||
from litellm._logging import verbose_proxy_logger, verbose_router_logger
|
||||
import logging
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ from litellm.proxy.auth.master_key_boot_check import (
|
|||
MIGRATE_FROM_MASTER_KEY_ENV_VAR,
|
||||
PRINT_NEW_MASTER_KEY_COMMAND,
|
||||
ROTATION_DOCS_URL,
|
||||
UNSAFE_PROXY_OVERRIDE_ENV_VAR,
|
||||
UNSAFE_PROXY_OVERRIDE_SETTING,
|
||||
WEAK_OR_UNSET_MASTER_KEY_OVERRIDE_ENV_VAR,
|
||||
WEAK_OR_UNSET_MASTER_KEY_OVERRIDE_SETTING,
|
||||
ConfigFileSource,
|
||||
EnvironmentSource,
|
||||
MasterKeyBootVerdict,
|
||||
|
|
@ -79,14 +79,14 @@ def test_keys_that_only_resemble_the_known_default_are_safe(master_key: str):
|
|||
@pytest.mark.parametrize("master_key", [None, "", "sk-1234"])
|
||||
def test_either_override_lets_an_unsafe_key_through(master_key: str | None):
|
||||
from_env = _verdict(master_key, override_env_is_on=True)
|
||||
from_yaml = _verdict(master_key, {UNSAFE_PROXY_OVERRIDE_SETTING: True})
|
||||
from_yaml = _verdict(master_key, {WEAK_OR_UNSET_MASTER_KEY_OVERRIDE_SETTING: True})
|
||||
|
||||
assert isinstance(from_env, UnsafeMasterKeyAllowed)
|
||||
assert from_env == from_yaml
|
||||
|
||||
|
||||
def test_override_switched_off_in_yaml_still_refuses():
|
||||
assert isinstance(_verdict("sk-1234", {UNSAFE_PROXY_OVERRIDE_SETTING: False}), UnsafeMasterKeyRefused)
|
||||
assert isinstance(_verdict("sk-1234", {WEAK_OR_UNSET_MASTER_KEY_OVERRIDE_SETTING: False}), UnsafeMasterKeyRefused)
|
||||
|
||||
|
||||
def test_yaml_master_key_is_the_source_even_when_it_resolved_to_nothing():
|
||||
|
|
@ -364,8 +364,8 @@ def test_override_hint_is_the_last_paragraph(migration: StoredSecretsMigration |
|
|||
text = render_refusal(_refusal(migration=migration))
|
||||
last_paragraph = text.split("\n\n")[-1]
|
||||
|
||||
assert UNSAFE_PROXY_OVERRIDE_ENV_VAR in last_paragraph
|
||||
assert f"general_settings.{UNSAFE_PROXY_OVERRIDE_SETTING}" in last_paragraph
|
||||
assert WEAK_OR_UNSET_MASTER_KEY_OVERRIDE_ENV_VAR in last_paragraph
|
||||
assert f"general_settings.{WEAK_OR_UNSET_MASTER_KEY_OVERRIDE_SETTING}" in last_paragraph
|
||||
|
||||
|
||||
@pytest.mark.skipif(shutil.which("openssl") is None, reason="the printed command shells out to openssl")
|
||||
|
|
|
|||
|
|
@ -268,7 +268,7 @@ def create_proxy_test_client(
|
|||
|
||||
# Set environment variables
|
||||
set_proxy_environment_variables(monkeypatch, database_url=database_url)
|
||||
monkeypatch.setenv("LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY", "true")
|
||||
monkeypatch.setenv("LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY", "true")
|
||||
|
||||
# Initialize proxy
|
||||
asyncio.run(initialize(config=config_fp, debug=init_options.get("debug", False)))
|
||||
|
|
|
|||
|
|
@ -1635,7 +1635,7 @@ def _boot_with_general_settings(monkeypatch, tmp_path, general_settings):
|
|||
config_path.write_text(yaml.dump({"general_settings": general_settings}))
|
||||
for name in (
|
||||
"LITELLM_MASTER_KEY",
|
||||
"LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY",
|
||||
"LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY",
|
||||
"LITELLM_MIGRATE_FROM_MASTER_KEY",
|
||||
"LITELLM_SALT_KEY",
|
||||
"WORKER_CONFIG",
|
||||
|
|
@ -1796,11 +1796,11 @@ async def test_proxy_startup_boots_an_unsafe_master_key_under_the_override(monke
|
|||
|
||||
general_settings = {
|
||||
"master_key": "sk-1234",
|
||||
**({"dangerously_allow_unsafe_proxy": True} if override == "yaml" else {}),
|
||||
**({"dangerously_permit_weak_or_unset_master_key": True} if override == "yaml" else {}),
|
||||
}
|
||||
_, announced = _boot_with_general_settings(monkeypatch, tmp_path, general_settings)
|
||||
if override == "env":
|
||||
monkeypatch.setenv("LITELLM_DANGEROUSLY_ALLOW_UNSAFE_PROXY", "true")
|
||||
monkeypatch.setenv("LITELLM_DANGEROUSLY_PERMIT_WEAK_OR_UNSET_MASTER_KEY", "true")
|
||||
|
||||
async with proxy_startup_event(FastAPI()):
|
||||
from litellm.proxy.proxy_server import master_key
|
||||
|
|
|
|||
4
ui/litellm-dashboard/src/lib/http/schema.d.ts
generated
vendored
4
ui/litellm-dashboard/src/lib/http/schema.d.ts
generated
vendored
|
|
@ -26728,10 +26728,10 @@ export interface components {
|
|||
*/
|
||||
custom_auth?: string | null;
|
||||
/**
|
||||
* Dangerously Allow Unsafe Proxy
|
||||
* Dangerously Permit Weak Or Unset Master Key
|
||||
* @description local development only: start even when master_key is unset, empty, or a publicly known default
|
||||
*/
|
||||
dangerously_allow_unsafe_proxy?: boolean | null;
|
||||
dangerously_permit_weak_or_unset_master_key?: boolean | null;
|
||||
/** @description custom args for instantiating dynamodb client - e.g. billing provision */
|
||||
database_args?: components["schemas"]["DynamoDBArgs"] | null;
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue