aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Finish an initial implementation of pruning the cached narsChristopher Baines2023-02-04
|
* Instrument the cached bytes by compressionChristopher Baines2023-02-04
|
* Fix initially computing the cached bytes by compressionChristopher Baines2023-02-04
| | | | Don't count cached files that are going to be deleted.
* Fix the nar request metrics for cached narsChristopher Baines2023-02-04
| | | | As these were incorrectly being recording as 404 requests.
* Properly implement cached compression levelsChristopher Baines2023-02-03
| | | | It was sort of implemented, but I'd missed some bits.
* Remove the narinfo id from the narinfo_files queryChristopher Baines2023-02-03
| | | | As this is now an unused hack.
* Track nar requests by narinfo systemChristopher Baines2023-02-03
|
* Don't get the narinfo id from the narinfo files queryChristopher Baines2023-02-03
| | | | As this is a bit of a hack.
* Add procedure to select narinfo details by hashChristopher Baines2023-02-03
|
* Remove trailing comma from the initial database SQLChristopher Baines2023-02-02
|
* Cleanup the utils moduleChristopher Baines2023-02-01
|
* Wrap various network bits with port timeoutsChristopher Baines2023-02-01
|
* Be more flexible with cached compressionsChristopher Baines2023-02-01
| | | | | Allow specifying where to fetch the source files from, enabling cached compressions for mirrors.
* Add with-port-timeouts helperChristopher Baines2023-02-01
| | | | From the Guix Build Coordinator.
* Make sure to use suspendable portsChristopher Baines2023-02-01
| | | | This will allow setting timeouts for network activity.
* Use guile-fibers-next for local developmentChristopher Baines2023-02-01
|
* Fix --cached-compression-min-uses handlingChristopher Baines2023-02-01
|
* Fix the type of the cached narinfo compression when removingChristopher Baines2023-01-31
|
* Remove cached narinfo file database entries when removing narsChristopher Baines2023-01-31
|
* Fix a problem with exposing metricsChristopher Baines2023-01-16
| | | | | | | | | | Unfortunately I think there's a bug in the chunked transfer encoding changes I contributed to guile-fibers. In the case where the content length is not given, but the response body is a procedure, the port passed to the proc won't be chunked (but it should be). I'll fix this upstream, but work around it here by not using a procedure for the response, and just sending a string.
* Change the worker threads to allow nesting callsChristopher Baines2023-01-16
|
* Add experimental support for cached compressionsChristopher Baines2023-01-16
| | | | | | This adds optional caching for alternative compressions of stored nars. You could store lzip nars for example, but then compute, cache and provide zstd nars for some stored nars.
* Extract out table-exists?Christopher Baines2022-11-29
|
* Add index on narinfo_files.narinfo_idChristopher Baines2022-06-24
| | | | | This is important for finding narinfo_files by narinfo, which happens in database-select-narinfo-files.
* Add some instrumentation around the databaseChristopher Baines2022-06-24
|
* Increase the maximum size of the reader thread poolChristopher Baines2022-06-24
| | | | As I think this might be a bottleneck.
* Increment request metrics for file requestsChristopher Baines2022-06-24
|
* Remove some empty linesChristopher Baines2022-06-24
|
* Add experimental support for serving files by hashChristopher Baines2022-06-10
| | | | | | | | | | This route can be used to provide source files used in packages. The URL pattern is the same as used by guix publish. The main issue with the implementation is that the fibers web server expects the entire response to be in memory, so I'm not sure how well this will scale. Additionally, the code for extracting the file from the nar isn't ideal.
* Improve handling of nar removalChristopher Baines2022-05-19
| | | | When --storage is set and not set.
* Fiddle more with the nar removal criteriaChristopher Baines2022-05-19
| | | | | This should make the singular stored-on and and'ed stored-on work properly.
* Encode filenames when passing the request back to nginxChristopher Baines2022-05-17
| | | | This handles filenames which contain characters like ? and =.
* Just retry fetching files on the next mirror passChristopher Baines2022-05-15
|
* Add a fast path for downloading nars when there's no storage limitChristopher Baines2022-05-14
|
* Split out the downloading of narsChristopher Baines2022-05-14
|
* Update the storage_size_bytes metric when removing narsChristopher Baines2022-05-06
|
* Further fix the 'and nar removal criteriaChristopher Baines2022-05-06
|
* Fix the 'and removal criteriaChristopher Baines2022-05-06
|
* Support removing nar filesChristopher Baines2022-05-06
|
* Skip mirroring files if downloading them failsChristopher Baines2022-05-05
| | | | Until the next pass.
* Handle exceptions in threadsChristopher Baines2022-05-05
|
* Initialise the nar_files_total metric when fetching changesChristopher Baines2022-05-04
|
* Create the pid file prior to downloading the databaseChristopher Baines2022-05-04
| | | | | Otherwise, anything starting the service may time out if the database file is large.
* Update the nar_files_total metric when processing changesChristopher Baines2022-05-04
|
* Fix the default log-level valueChristopher Baines2022-05-04
|
* Update the nar_files_total metric when downloading and removing filesChristopher Baines2022-05-04
|
* Expose the nar files stats via a new nar_files_total metricChristopher Baines2022-05-04
|
* Expose the storage size as a metricChristopher Baines2022-05-04
|
* Stop hardcoding some filenames in the sample NGinx configurationChristopher Baines2022-04-22
|
* Support handling /nar requestsChristopher Baines2022-04-22
| | | | | | | | If the nar is known about, X-Accel-Redirect is used to pass the request back to the webserver which should then respond with the nar. If the nar isn't known about, then a 404 response is returned. In either case, there's a metric incremented to record the request.