|
from typing import Optional |
|
|
|
from pydantic import Field, PositiveInt |
|
from pydantic_settings import BaseSettings |
|
|
|
|
|
class OpenSearchConfig(BaseSettings): |
|
""" |
|
Configuration settings for OpenSearch |
|
""" |
|
|
|
OPENSEARCH_HOST: Optional[str] = Field( |
|
description="Hostname or IP address of the OpenSearch server (e.g., 'localhost' or 'opensearch.example.com')", |
|
default=None, |
|
) |
|
|
|
OPENSEARCH_PORT: PositiveInt = Field( |
|
description="Port number on which the OpenSearch server is listening (default is 9200)", |
|
default=9200, |
|
) |
|
|
|
OPENSEARCH_USER: Optional[str] = Field( |
|
description="Username for authenticating with OpenSearch", |
|
default=None, |
|
) |
|
|
|
OPENSEARCH_PASSWORD: Optional[str] = Field( |
|
description="Password for authenticating with OpenSearch", |
|
default=None, |
|
) |
|
|
|
OPENSEARCH_SECURE: bool = Field( |
|
description="Whether to use SSL/TLS encrypted connection for OpenSearch (True for HTTPS, False for HTTP)", |
|
default=False, |
|
) |
|
|