- Added support for stratum1 servers to use S3 as a backend. If any server has S3 as a backend, one has to set the
reposfor the scraping to ensure that the repositories in question are scraped. This is due to the fact that the S3 backend does not offer a repository list to clients (or the scraper). Also note that GeoAPI is not supported for S3 backends and will always returnGeoAPIStatus.NO_RESPONSE.
- Add logging support via
structlog. - Updated documentation in README.md.
- Allowed
last_gcfor a repo to be optional. Newly created repos may not have this set. - Migrated project to ruff only (no black/isort)
- Removed printing errors to stderr. Migrated to to logging at the level
error.
- Support for server metadata from
repositories.json, available as the dictionaryserver.metadata - Large scale code refactoring and cleaning, adding typing and docstrings
- Endpoint data validation through use of pydantic models
- Server objects can now be of either CVMFSServer (generic, behaves depending on how self.server_type is set (either 0 or 1)), Stratum0Server (a stratum0 server), or Stratum1Server (a stratum1 server).
fetch_errorsdid not properly set path or the error / exception.- Fixed github actions (CI) to use pipx to install poetry.
- Migrated from setup.cfg to poetry.
scrapeandscrape_serverare moved from the packagecvmfsserver.maintocvmfsserver- Importing
scrapeorscrape_serverfromcvmfsserver.mainwill print a warning about deprecation. - GeoAPI status is now an enum of type GeoAPIStatus, with values
GeoAPIStatus.OK,GeoAPIStatus.NOT_FOUND(no repositories available),GeoAPIStatus.LOCATION_ERROR(location could not be determined), andGeoAPIStatus.NO_RESPONSE(other error). - Updated a number of dependencies.
- Removed support for setting
forced_repositorieson a server as it served no purpose.
- Multithreaded scraping information from a set of CVMFS servers
- Uses repositories.json to determine which repositories to scrape
- For repositories, parses
/.cvmfspublishedand/.cvmfs_status.json - Does not support server metadata from
repositories.json