File size: 805 Bytes
0a440b6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import os
from dotenv import load_dotenv

def get_secret(key: str, default: str = None) -> str:
    """
    Retrieve a secret from environment variables or .env file.
    
    Args:
    key (str): The name of the secret/environment variable.
    default (str, optional): A default value if the secret is not found.
    
    Returns:
    str: The value of the secret, or the default value if not found.
    """
    # Load .env file if it exists (for local development)
    load_dotenv()
    
    # Try to get the secret from environment variables
    secret = os.getenv(key)
    
    if secret is None:
        if default is not None:
            return default
        else:
            raise ValueError(f"Secret '{key}' not found in environment variables and no default provided.")
    
    return secret