aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/litellm/secret_managers/google_kms.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/litellm/secret_managers/google_kms.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are hereHEADmaster
Diffstat (limited to '.venv/lib/python3.12/site-packages/litellm/secret_managers/google_kms.py')
-rw-r--r--.venv/lib/python3.12/site-packages/litellm/secret_managers/google_kms.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/litellm/secret_managers/google_kms.py b/.venv/lib/python3.12/site-packages/litellm/secret_managers/google_kms.py
new file mode 100644
index 00000000..18e25abe
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/litellm/secret_managers/google_kms.py
@@ -0,0 +1,43 @@
+"""
+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