feat: introduce pydantic-settings for config definition and validation (#5202)
Co-authored-by: -LAN- <laipz8200@outlook.com>
This commit is contained in:
42
api/configs/app_configs.py
Normal file
42
api/configs/app_configs.py
Normal file
@@ -0,0 +1,42 @@
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
from configs.deploy import DeploymentConfigs
|
||||
from configs.enterprise import EnterpriseFeatureConfigs
|
||||
from configs.extra import ExtraServiceConfigs
|
||||
from configs.feature import FeatureConfigs
|
||||
from configs.middleware import MiddlewareConfigs
|
||||
from configs.packaging import PackagingInfo
|
||||
|
||||
|
||||
class DifyConfigs(
|
||||
# based on pydantic-settings
|
||||
BaseSettings,
|
||||
|
||||
# Packaging info
|
||||
PackagingInfo,
|
||||
|
||||
# Deployment configs
|
||||
DeploymentConfigs,
|
||||
|
||||
# Feature configs
|
||||
FeatureConfigs,
|
||||
|
||||
# Middleware configs
|
||||
MiddlewareConfigs,
|
||||
|
||||
# Extra service configs
|
||||
ExtraServiceConfigs,
|
||||
|
||||
# Enterprise feature configs
|
||||
# **Before using, please contact business@dify.ai by email to inquire about licensing matters.**
|
||||
EnterpriseFeatureConfigs,
|
||||
):
|
||||
|
||||
model_config = SettingsConfigDict(
|
||||
# read from dotenv format config file
|
||||
env_file='.env',
|
||||
env_file_encoding='utf-8',
|
||||
|
||||
# ignore extra attributes
|
||||
extra='ignore',
|
||||
)
|
||||
Reference in New Issue
Block a user