------------------------------------------------------------------- Thu Nov 17 06:21:34 UTC 2022 - Andrii Nikitin - Update to version 1.046: * Correctly render mirrorlist in browser when file is unknown * Allow rendering .zsync files * Render selected mirrors with osm in .mirrorlist ------------------------------------------------------------------- Fri Nov 11 10:42:10 UTC 2022 - Andrii Nikitin - Add temporary patch for default database name * 0001-Default-db-name.patch ------------------------------------------------------------------- Fri Nov 11 09:42:10 UTC 2022 - Andrii Nikitin - Update to version 1.045: * Add basic support for config from ini file (#314) * Drop support for rsync in MIRRORCACHE_ROOT (#314) * Allow html tags in CUSTOM_FOOTER_MESSAGE (#314) * Fix os version in report generation on mariadb (#314) * Fix zsync file generation missing empty line after header (#314) * Fix download report including stats only from begin of hour (#315) ------------------------------------------------------------------- Thu Oct 27 13:16:53 UTC 2022 - Andrii Nikitin - Update to version 1.044: * Move minion stats to unauthenticated route (#313) * Fix occasional duplicate error in agg_download (#313) ------------------------------------------------------------------- Thu Oct 27 09:32:56 UTC 2022 - Andrii Nikitin - Update to version 1.043: * Add backend for download size reports (#309) * Add mirrors to zsync response (#312) * Prefer zsync over metalink responses (#312) * Avoid race condition when new files are discovered while mirrors are scanned (#311) * Fix generation of zsync hashes for big files (#310) * t: add manual test for local folder (#308) * Retry hashes import if a new file hasnt got any (#307) * Add trailing slash for top folders (#306) - bmwiedermann ------------------------------------------------------------------- Thu Sep 29 09:47:07 UTC 2022 - Andrii Nikitin - Update to version 1.042: * Add support for metalink4 format (#303) * Add url parameter IP to simulate geo experience (#304) * t: Fix CI after changes in async rendering in Mojo (#303) ------------------------------------------------------------------- Tue Sep 27 11:42:51 UTC 2022 - Andrii Nikitin - Update to version 1.041: * Fix metalink missing 'verification' tag (#302) ------------------------------------------------------------------- Thu Sep 22 14:41:52 UTC 2022 - Andrii Nikitin - Update to version 1.040: * Add parameter METALINK_GREEDY (#300) * Optimization: assume package managers never want to render dir (#300) * Fix mirror picked despite disabled in server_project table (#301) * Avoid by and ru mirrors for ua requests (#298) - Remove temporary patch, it is now included in sources * 0001-Avoid-by-and-ru-mrrors-for-ua-requests.patch ------------------------------------------------------------------- Thu Sep 1 14:29:10 UTC 2022 - Elisei Roca - Update assets cache ------------------------------------------------------------------- Thu Sep 1 14:09:37 UTC 2022 - Elisei Roca - Add temporary patch to avoid by and ru mirrors for ua requests * 0001-Avoid-by-and-ru-mrrors-for-ua-requests.patch ------------------------------------------------------------------- Fri Aug 26 13:17:22 UTC 2022 - Andrii Nikitin - Update to version 1.039: * Fix editing columns with underscore in /app (#297) * Fix mirror report links in header (#297) ------------------------------------------------------------------- Wed Aug 24 08:12:10 UTC 2022 - Andrii Nikitin - Update to version 1.038: * Control order of projects in mirrors report (#294) * Include subsidiary url into region in /report/mirrors (#295) * Add mirror report links to header in openSUSE template (#296) * Add operator to mirrors report (#296) * Add column sponsor to server table (#296) ------------------------------------------------------------------- Thu Aug 11 15:10:05 UTC 2022 - Andrii Nikitin - Update to version 1.037: * Add configuration for redirect for projects (#293) ------------------------------------------------------------------- Fri Aug 05 12:14:42 UTC 2022 - Andrii Nikitin - Update to version 1.036: * Fix mirrors report when missing folders (#288) * Tweak systemd files (#291) * Rework mirrors report (#290) * Rescan if no country hit (#292) ------------------------------------------------------------------- Thu Jun 23 04:55:11 UTC 2022 - Andrii Nikitin - Update to version 1.035: * Add project checkboxes to mirror report (#280) * Collect report from subsidiaries (#282) * Fix incorrect path in metalink for origin file (#281) * Add config CUSTOM_FOOTER_MESSAGE (#283) * CircleCI: ignore gh-pages branch (#279) ------------------------------------------------------------------- Tue Jun 07 09:05:15 UTC 2022 - Andrii Nikitin - Update to version 1.034: * Provide torrent (#278) * Add report for projects on mirrors (#276) * Fix render when metalink is optional (#277) ------------------------------------------------------------------- Thu May 19 07:14:05 UTC 2022 - Andrii Nikitin - Update to version 1.033: * Add various patterns for files for which mirrors shouldnt be used (#275) * Fix regexp in latest_misses sql so *-primary.xml wasnt requesting scans (#275) * Add MyMirrors menu to openSUSE branding (#275) * Introduce MIRRORCACHE_VPN variable which has higher priority thant MIRRORCACHE_VPN_PREFIX (#275) * Allow regular users add and manage own mirrors (#274) * Add parameter MIRRORCACHE_MAX_PATH (#274) ------------------------------------------------------------------- Thu May 12 07:31:11 UTC 2022 - Andrii Nikitin - Update to version 1.032: * Set MIME type when rendering files (#273) * Optimize main sql query so it doesnt create tmp disk tables in mariadb (#272) * Force sql plan in job mirror_check_from_stat for mariadb (#272) * Add shared guard to schedule jobs to avoid deadlocks in DB (#272) ------------------------------------------------------------------- Thu May 05 01:57:15 UTC 2022 - Andrii Nikitin - Update to version 1.031: * Do not search mirrors for small files with local root (#271) * Improve detection of https behind proxy (#271) ------------------------------------------------------------------- Thu Apr 28 04:52:32 UTC 2022 - Andrii Nikitin - Update to version 1.030: * Local publisher origin in metalink (#267) * Ignore work requested by rclone (#268) * Use random mirror for unknown countries (#269) * Collect statistics for bot activity (#270) ------------------------------------------------------------------- Thu Apr 21 01:42:59 UTC 2022 - Andrii Nikitin - Update to version 1.029: * Add support for MariaDB (#265) * Fix occasional SQL error when mirrorlist for unknown country (#264) * Fix scheduling folder scan if were not accessed for more than month (#263) ------------------------------------------------------------------- Wed Mar 30 15:00:05 UTC 2022 - Andrii Nikitin - Update to version 1.028: * Introduce in-application load balancing read queries to DB replica (#262) * Fix bigint DB error when inserting hash for big files (#262) * Move initialization code from before_server_start to execute earlier (#262) * t: Fix unstable test 03-headquarter-subsidiaries-weight1 by correcting expected values (#262) * spec: Fix renamed README in the spec file (#262) ------------------------------------------------------------------- Wed Mar 16 16:40:33 UTC 2022 - Andrii Nikitin - Update to version 1.027: * Fix auto-disabled mirrors may be still used for redirection (#261) * Increase logging level for timeouts in PEDANTIC mode (#261) * Serve CentOS repodata from root only (#261) ------------------------------------------------------------------- Wed Mar 09 12:42:33 UTC 2022 - Andrii Nikitin - Update to version 1.026: * Fix message for unknown folder render timeout (#260) * Support single-country subsidiaries (#259) * Add table server_stability (#258) ------------------------------------------------------------------- Thu Feb 10 11:27:57 UTC 2022 - Andrii Nikitin - Update to version 1.025: * Allow headquarter be in HA subsidiary handling (#255) * Stat log after render (#256) * Add SMALL_FILE_SIZE to serve small files directly from ROOT_NFS (#254) ------------------------------------------------------------------- Thu Feb 03 09:23:28 UTC 2022 - Andrii Nikitin - Update to version 1.024: * Allow multiple subsidiaries per region (#250) * Add internal timeouts for mirror checks and rendering (#249, #252) ------------------------------------------------------------------- Thu Jan 20 07:46:09 UTC 2022 - Andrii Nikitin - Update to version 1.023: * Add execution_time to stat table (#247) * Publish docs with mkdocs and github actions (#243) * Local render when ROOT_NFS (#246) * Add support for zsync hashes (#245) * Do not use app->static for rendering (#244) ------------------------------------------------------------------- Thu Dec 16 07:13:04 UTC 2021 - Andrii Nikitin - Update to version 1.022: * Add experimental route geoip to rewrite baseurl in .repo (#242) * Set MirrorCache useragent for scan jobs (#240) * Add RestartSec to backstage systemd files (#241) ------------------------------------------------------------------- Sun Dec 12 13:09:46 UTC 2021 - Andrii Nikitin - Update to version 1.021: * Handle timeouts in mirror_probe_projects (#238) * Track projects on mirrors and do skip scans accordingly (#237) ------------------------------------------------------------------- Thu Dec 09 06:22:21 UTC 2021 - Andrii Nikitin - Update to version 1.020: * Do not try to find mirror outside region when ROOT_COUNTRY is set (#236) * Special handling unversioned media symlinks (#235) * Import hash create folder (#233) ------------------------------------------------------------------- Thu Dec 02 05:33:04 UTC 2021 - Andrii Nikitin - Update to version 1.019: * Optimize sql for selecting mirror misses (#232) * Import hashes (#231) * Fix mirrorlist for subsidiary when in the same db with headquarter (#230) ------------------------------------------------------------------- Thu Nov 25 08:56:58 UTC 2021 - Andrii Nikitin - Update to version 1.018: * Fix occasional 404 on subtree mirrorlist * Fix not selecting mirrors for unknown country * Let Task MirrorProbe work without GeoIP database ------------------------------------------------------------------- Thu Nov 11 09:49:34 UTC 2021 - Andrii Nikitin - Update to version 1.017: * Find mirror from rest of world * Add manual test for subsidiaries ------------------------------------------------------------------- Thu Nov 04 08:21:40 UTC 2021 - Andrii Nikitin - Update to version 1.016: * Add script for manual testing download.o.o * Add route /rest/scan_tree * Add job for recursive scan (#222) * Introduce variable MIRRORCACHE_TRUST_ADDR (#221) * Add BACKSTAGE_WORKERS parameter to scripts (#220) * Fix automatic mirror capability management when two capabilities are disabled for the same mirror (#219) * Dont try to find mirror for unversioned Debian files (#218) * Add hypnotoad service (#217) * Log statistics the old way * Add stress tests ------------------------------------------------------------------- Thu Oct 28 08:56:27 UTC 2021 - Andrii Nikitin - Update to version 1.015: * Add hypnotoad service (#217) * Log statistics the old way * Add stress tests * Add indices on sync_requested and scan_requested to avoid deadlock * Allow hash.mtime differ for up to 1 min * Rework estimation of inactive jobs count ------------------------------------------------------------------- Thu Oct 21 06:57:03 UTC 2021 - Andrii Nikitin - Update to version 1.014: * Stop rescanning folders which are not requested anymore * Schedule rescan depending on age of file and last scan (#212) ------------------------------------------------------------------- Thu Oct 14 10:14:44 UTC 2021 - Andrii Nikitin - Update to version 1.012: * Rework mirror scan (#211) * Fix root redirect in subtree mirrorlist * Show only folders from TOP_FOLDERS variable if defined * Fix detecting vpn when ipv6 is enabled ------------------------------------------------------------------- Thu Oct 07 07:01:48 UTC 2021 - Andrii Nikitin - Update to version 1.011: * Improve openSUSE theme * Fix sql error when mirror has no files * Introduce hasall mirror capability * Change behavior filtering mirrors based on supported IP version * Fix mirrorlist for the same region * Schedule scan even when Geo for IP is not detected * Improve detection of ipv4 * Fix syntax error after perl upgrade * Properly redirect for symlinks in subtree ------------------------------------------------------------------- Thu Sep 30 07:45:10 UTC 2021 - Andrii Nikitin - Update to version 1.010: * Add openSUSE design theme * Fix mirror_error event logging * Fix subtree to work with symlinks * Package mirrorcache-subtree.service ------------------------------------------------------------------- Thu Sep 23 07:30:36 UTC 2021 - Elisei Roca - Update to version 1.009: * Add proper handling of local symlinks * Erase info about folder on a mirror if it cannot be accessed ------------------------------------------------------------------- Thu Sep 16 08:20:18 UTC 2021 - Andrii Nikitin - Update to version 1.008: * Add GeoIP support for IP2Location db format * Scan all mirrors when mirrorlist is requested * Always render content of directory on disk for local root * Cleanup server_capability_check more aggressively * Add json format for listing content of directory * Add experimental subtree feature * Add experimental MIRRORCACHE_PROXY_URL variable * Fix rendering when local folder has broken symbolic links * Fix multiroot location in task folder_hashes_create - Improve packaging, the conf.env is now in /etc/mirrorcache/ * Add script to generate and update cache.tar.xz ------------------------------------------------------------------- Fri Sep 10 17:17:16 UTC 2021 - Elisei Roca - Update to version 1.007: * UI: Solidify branding into lesser files * Remove SUSE branding, it is not needed here * Allow multiple folders in MIRRORCACHE_ROOT (#186) * Show filestamps when rendering files with RootLocal (#184) * Render error for when metalink and mirrorlist when file is not in DB (#185) * Add parameter MIRRORCACHE_VPN_PREFIX (#182) * Change origin in metalink to show metalink url * [doc] fix in README command for geoip modules * Use hostname_vpn in capability checks * Fix one more typo (#179) - Remove 0001-Fix-one-more-typo-179.patch - included in 1.007 ------------------------------------------------------------------- Mon Aug 16 12:52:04 UTC 2021 - Elisei Roca - add 0001-Fix-one-more-typo-179.patch ------------------------------------------------------------------- Thu Aug 12 11:42:34 UTC 2021 - andrii.nikitin@suse.com - Update to version 1.006: * Fix a small but significant typo * Tests: add rsync to Dockerfile * Add metalink content-type and content-disposition - Update to version 1.005: * Use hostname_vpn if defined for mirror scan * Add support for requests over vpn * Use the Digest::SHA builtin module (#175) * Replace Sort::Naturally with Sort::Versions (#174) * Do not show /download path in mirrorlist when TOP_FOLDERS is set * Add mirrorcache-backstage-hashes.service * Log no miss for mirrorlist requests from country outside of region of subsidiary * Add test_local, test_docker and test_systemd to Makefile * Add column mirrorlist to stat table * Add concept of project - Update to version 1.006: * Fix a small but significant typo * Tests: add rsync to Dockerfile * Add metalink content-type and content-disposition - Update to version 1.005: * Use hostname_vpn if defined for mirror scan * Add support for requests over vpn: parameter MIRRORCACHE_REDIRECT_VPN and new column server.hostname_vpn * Use the Digest::SHA builtin module * Improve file sorting by using Sort::Versions instead of Sort::Naturally - Update to version 1.004: * Do not show /download path in mirrorlist when TOP_FOLDERS is set * Add mirrorcache-backstage-hashes.service - Update to version 1.003: * Log no miss for mirrorlist requests from country outside of region of subsidiary * Add test_local, test_docker and test_systemd to Makefile * Add column mirrorlist to stat table * Add concept of project * Log miss if a mirror has newer file in pedantic mode * Improve detecting unversioned files * Show checksums in mirrorlist when available * Dont redirect to subsidiary requests for media.1/media and repomd.xml - Update to version 1.002: * Enforce pedantic mode unless file is versioned (#165) * Fix stat reporting as miss when ROOT_COUNTRY is set * Include subsidiaries in mirrorlist * Add task which imports hashes from HEADQUARTER - Update to version 1.001: * t: Fix test redirect from landing page when TOP_FOLDERS is set * Verify size on mirrors for files with -Current suffix * Fix redirect to https when mirror doesnt have it - Update to version 1.0: * Add /rest/mystat 'My Statistics' menu item * Schedule jobs from stat (#158) * Fix Datamodule unsafe usage in async rendering * Fix render greeting on landing page when TOP_FOLDERS is set - Update to version 0.9: * UI: Add branding capability and footer info * Render landing page if TOP_FOLDERS is set * Truncate country code to two letters * Log trailing slash in stat * Fix double stats when no mirror in country * t: Replace repo in docker to openSUSE:infrastructure * salt: switch test to use 15.3 - Update to version 0.8: * Fix remote render dir when not in DB * Add mirrors list page, reference it in file listing 'Metadata' column * UI: Show title on every page * Do not require /downloads path when TOP_FOLDERS is set * Fix error "time_bad_sig: Return_to signature is not valid." during openid login * Optimize /rest/stat (#148) * Fix url for task MirrorCheckFromStat when metalink * Add country region everywhere * Performance improvements * Set $app->secrets early * dist: remove obsolete parts in salt - Update to version 0.7: * Collect file hashes when HASHES_COLLECT is set * Collect file stats in RootLocal * Reduce permanent tasks' guard lifespan * Improve file sorting in UI * Switch to colspan instead of multiple * Use POST when logging out * Use only class "name" for content that is too long * Fix wrong redirect when no mirror for media.1/media * Fix filtering audit logs by id - Update to version 0.6: * Permanently set MOJO_LISTEN to http://*:__port * docs: update guide on running docker tests * dist: rework creation of mirrorcache user and its home dir (#127) * Add job mirror_scan_from_stat to ensure quality of responses * t: Rename folder environs -> environ * t: Switch to the new reworked environ framework * Consider 403 code as server is reachable * Add MIRRORCACHE_AUTH_URL, fake auth for testing * Add audit log (#122) * ui: css wrap only filename - Update to version 0.5: * Adjust github address to openSUSE * Obsolete MIRRORCACHE_FALLBACK_REDIRECT in favor of MIRRORCACHE_REDIRECT - Update to version 0.4: * Add favicon and initial version of logo * Support nginx file origin with autoindex - Update to version 0.3: * Remove column db_sync_for_country from /app/folder - Update to version 0.2: * Introduce timeout of folder rescan per country * Also dont scan every country when scan of two countries was requested - Update to version 0.1: * Auto deploy db on start