tidb_on_qdrant_config.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. from typing import Optional
  2. from pydantic import Field, NonNegativeInt, PositiveInt
  3. from pydantic_settings import BaseSettings
  4. class TidbOnQdrantConfig(BaseSettings):
  5. """
  6. Tidb on Qdrant configs
  7. """
  8. TIDB_ON_QDRANT_URL: Optional[str] = Field(
  9. description="Tidb on Qdrant url",
  10. default=None,
  11. )
  12. TIDB_ON_QDRANT_API_KEY: Optional[str] = Field(
  13. description="Tidb on Qdrant api key",
  14. default=None,
  15. )
  16. TIDB_ON_QDRANT_CLIENT_TIMEOUT: NonNegativeInt = Field(
  17. description="Tidb on Qdrant client timeout in seconds",
  18. default=20,
  19. )
  20. TIDB_ON_QDRANT_GRPC_ENABLED: bool = Field(
  21. description="whether enable grpc support for Tidb on Qdrant connection",
  22. default=False,
  23. )
  24. TIDB_ON_QDRANT_GRPC_PORT: PositiveInt = Field(
  25. description="Tidb on Qdrant grpc port",
  26. default=6334,
  27. )
  28. TIDB_PUBLIC_KEY: Optional[str] = Field(
  29. description="Tidb account public key",
  30. default=None,
  31. )
  32. TIDB_PRIVATE_KEY: Optional[str] = Field(
  33. description="Tidb account private key",
  34. default=None,
  35. )
  36. TIDB_API_URL: Optional[str] = Field(
  37. description="Tidb API url",
  38. default=None,
  39. )
  40. TIDB_IAM_API_URL: Optional[str] = Field(
  41. description="Tidb IAM API url",
  42. default=None,
  43. )
  44. TIDB_REGION: Optional[str] = Field(
  45. description="Tidb serverless region",
  46. default="regions/aws-us-east-1",
  47. )
  48. TIDB_PROJECT_ID: Optional[str] = Field(
  49. description="Tidb project id",
  50. default=None,
  51. )
  52. TIDB_SPEND_LIMIT: Optional[int] = Field(
  53. description="Tidb spend limit",
  54. default=100,
  55. )