aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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.
* Add support for exposing some basic metricsChristopher Baines2022-04-17
| | | | In a format understood by Prometheus.
* Support passing a log-level to the nar-herder serverChristopher Baines2022-04-17
| | | | | | | | This means that you can disable the output of requests by specifying a log-level of INFO or greater. Since the nar-herder may respond to so many requests, logging each one is a bit excessive.
* Add guile-lib to guix-dev.scmChristopher Baines2022-04-17
| | | | As it's needed.
* Support inserting tags when inserting narinfosChristopher Baines2022-03-13
| | | | | | This is the beginning of implementing support for tagging. The communicating of tags through changes still needs implementing.
* Keep the change datetimes consistent when mirroringChristopher Baines2022-02-15
| | | | | As this ensures that changes aren't missed when the mirror inserts things later than the origin.
* Switch to guile-fibers@1.1Christopher Baines2022-02-09
| | | | | I think the main change required is just to stop accessing the now missing current-fiber parameter.
* Add a bit to the design in the READMEChristopher Baines2022-02-04
|
* Add some more loggingChristopher Baines2022-02-02
|
* Support specifying TTL's for narinfo responsesChristopher Baines2022-02-02
| | | | Using the same approach as guix publish.
* Decode nar urls when deleting nar filesChristopher Baines2022-02-02
|
* Handle URI encoding when mirroring filesChristopher Baines2022-02-02
|
* Decode the URLs for narinfo-filesChristopher Baines2022-02-02
| | | | As they're not percent encoded on the filesystem.
* Regularly update the database dump and delete recent changesChristopher Baines2021-12-29
|
* Limit the number of recent changes returnedChristopher Baines2021-12-29
| | | | So that requests for recent changes don't time out.
* Add support for creating a pid fileChristopher Baines2021-12-20
|
* Fix a couple of example commandsChristopher Baines2021-12-15
|
* Add some information about the designChristopher Baines2021-12-15
|
* Double check the nar removal criteria before removing narsChristopher Baines2021-12-15
|
* Log the storage size when removing narsChristopher Baines2021-12-15
|
* Move retry for fetching files to a better placeChristopher Baines2021-12-15
|
* Fix member call in mirror moduleChristopher Baines2021-12-15
|