from datetime import datetime from pathlib import Path from pydantic import HttpUrl, Field, BaseModel from .db_config import DbConfig # DEFAULTS ALBS_URL_DEFAULT = 'https://build.almalinux.org' LOG_FILE_DEFAULT = '/tmp/extractor.log' class ExtractorConfig(BaseModel): """ config model for Extractor service """ log_file: Path = Field(description='logfile path', default=LOG_FILE_DEFAULT) albs_url: HttpUrl = Field(description='ALBS root URL', default=ALBS_URL_DEFAULT) oldest_build_age: datetime = \ Field(description='oldest build age to extract and store') jwt: str = Field(description='ALBS JWT token') db_config: DbConfig = Field(description="database configuration")