buildgrid.server.cleanup.janitor.config module

class buildgrid.server.cleanup.janitor.config.S3Config(*, access_key: str, bucket_regex: str, endpoint: str, path_prefix: str, hash_prefix_size: int = 0, secret_key: str, sleep_interval: int | None = None, max_batch_size: int = 1000, batch_sleep_interval: float | None = None)

Bases: BaseModel

access_key: str
bucket_regex: str
endpoint: str
path_prefix: str
hash_prefix_size: int
secret_key: str
sleep_interval: int | None
max_batch_size: int
batch_sleep_interval: float | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class buildgrid.server.cleanup.janitor.config.SQLStorageConfig(*, sql: SqlProvider, sql_ro: SqlProvider, sleep_interval: int | None = None, batch_size: int, batch_sleep_interval: float | None = None)

Bases: BaseModel

sql: SqlProvider
sql_ro: SqlProvider
sleep_interval: int | None
batch_size: int
batch_sleep_interval: float | None
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class buildgrid.server.cleanup.janitor.config.RedisConfig(*, db: int | None = None, dns_srv_record: str | None = None, index_prefix: str, key_batch_size: int, password: str | None = None, host: str | None = None, port: int | None = None, sentinel_master_name: str | None = None)

Bases: BaseModel

db: int | None
dns_srv_record: str | None
index_prefix: str
key_batch_size: int
password: str | None
host: str | None
port: int | None
sentinel_master_name: str | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class buildgrid.server.cleanup.janitor.config.JanitorConfig(*, redis: RedisConfig | None = None, sleep_interval: int | None = None, s3: S3Config | None = None, sql_storage_config: SQLStorageConfig | None = None, sql_connection_string: str | None = None)

Bases: BaseModel

redis: RedisConfig | None
sleep_interval: int | None
s3: S3Config | None
sql_storage_config: SQLStorageConfig | None
sql_connection_string: str | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

buildgrid.server.cleanup.janitor.config.parse_janitor_config(path: str | bytes | PathLike[str]) JanitorConfig