|
from typing import Optional |
|
|
|
from pydantic import Field, PositiveInt |
|
from pydantic_settings import BaseSettings |
|
|
|
|
|
class ElasticsearchConfig(BaseSettings): |
|
""" |
|
Configuration settings for Elasticsearch |
|
""" |
|
|
|
ELASTICSEARCH_HOST: Optional[str] = Field( |
|
description="Hostname or IP address of the Elasticsearch server (e.g., 'localhost' or '192.168.1.100')", |
|
default="127.0.0.1", |
|
) |
|
|
|
ELASTICSEARCH_PORT: PositiveInt = Field( |
|
description="Port number on which the Elasticsearch server is listening (default is 9200)", |
|
default=9200, |
|
) |
|
|
|
ELASTICSEARCH_USERNAME: Optional[str] = Field( |
|
description="Username for authenticating with Elasticsearch (default is 'elastic')", |
|
default="elastic", |
|
) |
|
|
|
ELASTICSEARCH_PASSWORD: Optional[str] = Field( |
|
description="Password for authenticating with Elasticsearch (default is 'elastic')", |
|
default="elastic", |
|
) |
|
|