Skip to content

Auth

provide.foundation.integrations.openobserve.auth

TODO: Add module docstring.

Classes

Functions

encode_basic_auth

encode_basic_auth(username: str, password: str) -> str

Encode username and password for Basic authentication.

Parameters:

Name Type Description Default
username str

OpenObserve username

required
password str

OpenObserve password

required

Returns:

Type Description
str

Base64 encoded auth string

Source code in provide/foundation/integrations/openobserve/auth.py
def encode_basic_auth(username: str, password: str) -> str:
    """Encode username and password for Basic authentication.

    Args:
        username: OpenObserve username
        password: OpenObserve password

    Returns:
        Base64 encoded auth string

    """
    credentials = f"{username}:{password}"
    encoded = base64.b64encode(credentials.encode()).decode()
    return encoded

get_auth_headers

get_auth_headers(
    username: str | None, password: str | None
) -> dict[str, str]

Get authentication headers for OpenObserve API.

Parameters:

Name Type Description Default
username str | None

OpenObserve username

required
password str | None

OpenObserve password

required

Returns:

Type Description
dict[str, str]

Dictionary with Authorization header

Raises:

Type Description
OpenObserveAuthenticationError

If credentials are missing

Source code in provide/foundation/integrations/openobserve/auth.py
def get_auth_headers(username: str | None, password: str | None) -> dict[str, str]:
    """Get authentication headers for OpenObserve API.

    Args:
        username: OpenObserve username
        password: OpenObserve password

    Returns:
        Dictionary with Authorization header

    Raises:
        OpenObserveAuthenticationError: If credentials are missing

    """
    if not username or not password:
        raise OpenObserveAuthenticationError(
            "OpenObserve credentials not configured. "
            "Set OPENOBSERVE_USER and OPENOBSERVE_PASSWORD environment variables.",
        )

    auth_token = encode_basic_auth(username, password)
    return {
        "Authorization": f"Basic {auth_token}",
        "Content-Type": "application/json",
    }

validate_credentials

validate_credentials(
    username: str | None, password: str | None
) -> tuple[str, str]

Validate and return OpenObserve credentials.

Parameters:

Name Type Description Default
username str | None

OpenObserve username

required
password str | None

OpenObserve password

required

Returns:

Type Description
tuple[str, str]

Tuple of (username, password)

Raises:

Type Description
OpenObserveAuthenticationError

If credentials are invalid

Source code in provide/foundation/integrations/openobserve/auth.py
def validate_credentials(username: str | None, password: str | None) -> tuple[str, str]:
    """Validate and return OpenObserve credentials.

    Args:
        username: OpenObserve username
        password: OpenObserve password

    Returns:
        Tuple of (username, password)

    Raises:
        OpenObserveAuthenticationError: If credentials are invalid

    """
    if not username:
        raise OpenObserveAuthenticationError("OpenObserve username is required")

    if not password:
        raise OpenObserveAuthenticationError("OpenObserve password is required")

    return username, password