|
from typing import Optional |
|
|
|
from pydantic import Field, NonNegativeInt, PositiveInt |
|
from pydantic_settings import BaseSettings |
|
|
|
|
|
class TidbOnQdrantConfig(BaseSettings): |
|
""" |
|
Tidb on Qdrant configs |
|
""" |
|
|
|
TIDB_ON_QDRANT_URL: Optional[str] = Field( |
|
description="Tidb on Qdrant url", |
|
default=None, |
|
) |
|
|
|
TIDB_ON_QDRANT_API_KEY: Optional[str] = Field( |
|
description="Tidb on Qdrant api key", |
|
default=None, |
|
) |
|
|
|
TIDB_ON_QDRANT_CLIENT_TIMEOUT: NonNegativeInt = Field( |
|
description="Tidb on Qdrant client timeout in seconds", |
|
default=20, |
|
) |
|
|
|
TIDB_ON_QDRANT_GRPC_ENABLED: bool = Field( |
|
description="whether enable grpc support for Tidb on Qdrant connection", |
|
default=False, |
|
) |
|
|
|
TIDB_ON_QDRANT_GRPC_PORT: PositiveInt = Field( |
|
description="Tidb on Qdrant grpc port", |
|
default=6334, |
|
) |
|
|
|
TIDB_PUBLIC_KEY: Optional[str] = Field( |
|
description="Tidb account public key", |
|
default=None, |
|
) |
|
|
|
TIDB_PRIVATE_KEY: Optional[str] = Field( |
|
description="Tidb account private key", |
|
default=None, |
|
) |
|
|
|
TIDB_API_URL: Optional[str] = Field( |
|
description="Tidb API url", |
|
default=None, |
|
) |
|
|
|
TIDB_IAM_API_URL: Optional[str] = Field( |
|
description="Tidb IAM API url", |
|
default=None, |
|
) |
|
|
|
TIDB_REGION: Optional[str] = Field( |
|
description="Tidb serverless region", |
|
default="regions/aws-us-east-1", |
|
) |
|
|
|
TIDB_PROJECT_ID: Optional[str] = Field( |
|
description="Tidb project id", |
|
default=None, |
|
) |
|
|
|
TIDB_SPEND_LIMIT: Optional[int] = Field( |
|
description="Tidb spend limit", |
|
default=100, |
|
) |
|
|