mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-25 18:54:30 +00:00
* ci(config.yml): add a 'check_code_quality' step Addresses https://github.com/BerriAI/litellm/issues/5991 * ci(config.yml): check why circle ci doesn't pick up this test * ci(config.yml): fix to run 'check_code_quality' tests * fix(__init__.py): fix unprotected import * fix(__init__.py): don't remove unused imports * build(ruff.toml): update ruff.toml to ignore unused imports * fix: fix: ruff + pyright - fix linting + type-checking errors * fix: fix linting errors * fix(lago.py): fix module init error * fix: fix linting errors * ci(config.yml): cd into correct dir for checks * fix(proxy_server.py): fix linting error * fix(utils.py): fix bare except causes ruff linting errors * fix: ruff - fix remaining linting errors * fix(clickhouse.py): use standard logging object * fix(__init__.py): fix unprotected import * fix: ruff - fix linting errors * fix: fix linting errors * ci(config.yml): cleanup code qa step (formatting handled in local_testing) * fix(_health_endpoints.py): fix ruff linting errors * ci(config.yml): just use ruff in check_code_quality pipeline for now * build(custom_guardrail.py): include missing file * style(embedding_handler.py): fix ruff check
43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
"""
|
|
This is a file for the Google KMS integration
|
|
|
|
Relevant issue: https://github.com/BerriAI/litellm/issues/1235
|
|
|
|
Requires:
|
|
* `os.environ["GOOGLE_APPLICATION_CREDENTIALS"], os.environ["GOOGLE_KMS_RESOURCE_NAME"]`
|
|
* `pip install google-cloud-kms`
|
|
"""
|
|
|
|
import os
|
|
from typing import Optional
|
|
|
|
import litellm
|
|
from litellm.proxy._types import KeyManagementSystem
|
|
|
|
|
|
def validate_environment():
|
|
if "GOOGLE_APPLICATION_CREDENTIALS" not in os.environ:
|
|
raise ValueError(
|
|
"Missing required environment variable - GOOGLE_APPLICATION_CREDENTIALS"
|
|
)
|
|
if "GOOGLE_KMS_RESOURCE_NAME" not in os.environ:
|
|
raise ValueError(
|
|
"Missing required environment variable - GOOGLE_KMS_RESOURCE_NAME"
|
|
)
|
|
|
|
|
|
def load_google_kms(use_google_kms: Optional[bool]):
|
|
if use_google_kms is None or use_google_kms is False:
|
|
return
|
|
try:
|
|
from google.cloud import kms_v1 # type: ignore
|
|
|
|
validate_environment()
|
|
|
|
# Create the KMS client
|
|
client = kms_v1.KeyManagementServiceClient()
|
|
litellm.secret_manager_client = client
|
|
litellm._key_management_system = KeyManagementSystem.GOOGLE_KMS
|
|
litellm._google_kms_resource_name = os.getenv("GOOGLE_KMS_RESOURCE_NAME")
|
|
except Exception as e:
|
|
raise e
|