| Commit message (Expand) | Author | Age |
* | Fix initially computing the cached bytes by compression•••Don't count cached files that are going to be deleted.
| Christopher Baines | 2023-02-04 |
* | Fix the nar request metrics for cached nars•••As these were incorrectly being recording as 404 requests.
| Christopher Baines | 2023-02-04 |
* | Properly implement cached compression levels•••It was sort of implemented, but I'd missed some bits.
| Christopher Baines | 2023-02-03 |
* | Remove the narinfo id from the narinfo_files query•••As this is now an unused hack.
| Christopher Baines | 2023-02-03 |
* | Track nar requests by narinfo system | Christopher Baines | 2023-02-03 |
* | Don't get the narinfo id from the narinfo files query•••As this is a bit of a hack.
| Christopher Baines | 2023-02-03 |
* | Add procedure to select narinfo details by hash | Christopher Baines | 2023-02-03 |
* | Remove trailing comma from the initial database SQL | Christopher Baines | 2023-02-02 |
* | Cleanup the utils module | Christopher Baines | 2023-02-01 |
* | Wrap various network bits with port timeouts | Christopher Baines | 2023-02-01 |
* | Be more flexible with cached compressions•••Allow specifying where to fetch the source files from, enabling cached
compressions for mirrors.
| Christopher Baines | 2023-02-01 |
* | Add with-port-timeouts helper•••From the Guix Build Coordinator.
| Christopher Baines | 2023-02-01 |
* | Make sure to use suspendable ports•••This will allow setting timeouts for network activity.
| Christopher Baines | 2023-02-01 |
* | Use guile-fibers-next for local development | Christopher Baines | 2023-02-01 |
* | Fix --cached-compression-min-uses handling | Christopher Baines | 2023-02-01 |
* | Fix the type of the cached narinfo compression when removing | Christopher Baines | 2023-01-31 |
* | Remove cached narinfo file database entries when removing nars | Christopher Baines | 2023-01-31 |
* | Fix a problem with exposing metrics•••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.
| Christopher Baines | 2023-01-16 |
* | Change the worker threads to allow nesting calls | Christopher Baines | 2023-01-16 |
* | Add experimental support for cached compressions•••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.
| Christopher Baines | 2023-01-16 |
* | Extract out table-exists? | Christopher Baines | 2022-11-29 |
* | Add index on narinfo_files.narinfo_id•••This is important for finding narinfo_files by narinfo, which happens
in database-select-narinfo-files.
| Christopher Baines | 2022-06-24 |
* | Add some instrumentation around the database | Christopher Baines | 2022-06-24 |
* | Increase the maximum size of the reader thread pool•••As I think this might be a bottleneck.
| Christopher Baines | 2022-06-24 |
* | Increment request metrics for file requests | Christopher Baines | 2022-06-24 |
* | Remove some empty lines | Christopher Baines | 2022-06-24 |
* | Add experimental support for serving files by hash•••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.
| Christopher Baines | 2022-06-10 |
* | Improve handling of nar removal•••When --storage is set and not set.
| Christopher Baines | 2022-05-19 |
* | Fiddle more with the nar removal criteria•••This should make the singular stored-on and and'ed stored-on work
properly.
| Christopher Baines | 2022-05-19 |
* | Encode filenames when passing the request back to nginx•••This handles filenames which contain characters like ? and =.
| Christopher Baines | 2022-05-17 |
* | Just retry fetching files on the next mirror pass | Christopher Baines | 2022-05-15 |
* | Add a fast path for downloading nars when there's no storage limit | Christopher Baines | 2022-05-14 |
* | Split out the downloading of nars | Christopher Baines | 2022-05-14 |
* | Update the storage_size_bytes metric when removing nars | Christopher Baines | 2022-05-06 |
* | Further fix the 'and nar removal criteria | Christopher Baines | 2022-05-06 |
* | Fix the 'and removal criteria | Christopher Baines | 2022-05-06 |
* | Support removing nar files | Christopher Baines | 2022-05-06 |
* | Skip mirroring files if downloading them fails•••Until the next pass.
| Christopher Baines | 2022-05-05 |
* | Handle exceptions in threads | Christopher Baines | 2022-05-05 |
* | Initialise the nar_files_total metric when fetching changes | Christopher Baines | 2022-05-04 |
* | Create the pid file prior to downloading the database•••Otherwise, anything starting the service may time out if the database
file is large.
| Christopher Baines | 2022-05-04 |
* | Update the nar_files_total metric when processing changes | Christopher Baines | 2022-05-04 |
* | Fix the default log-level value | Christopher Baines | 2022-05-04 |
* | Update the nar_files_total metric when downloading and removing files | Christopher Baines | 2022-05-04 |
* | Expose the nar files stats via a new nar_files_total metric | Christopher Baines | 2022-05-04 |
* | Expose the storage size as a metric | Christopher Baines | 2022-05-04 |
* | Stop hardcoding some filenames in the sample NGinx configuration | Christopher Baines | 2022-04-22 |
* | Support handling /nar requests•••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.
| Christopher Baines | 2022-04-22 |
* | Add support for exposing some basic metrics•••In a format understood by Prometheus.
| Christopher Baines | 2022-04-17 |
* | Support passing a log-level to the nar-herder server•••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.
| Christopher Baines | 2022-04-17 |