Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Finish an initial implementation of pruning the cached nars | Christopher Baines | 2023-02-04 |
| | |||
* | Instrument the cached bytes by compression | Christopher Baines | 2023-02-04 |
| | |||
* | Fix initially computing the cached bytes by compression | Christopher Baines | 2023-02-04 |
| | | | | Don't count cached files that are going to be deleted. | ||
* | Fix the nar request metrics for cached nars | Christopher Baines | 2023-02-04 |
| | | | | As these were incorrectly being recording as 404 requests. | ||
* | Properly implement cached compression levels | Christopher Baines | 2023-02-03 |
| | | | | It was sort of implemented, but I'd missed some bits. | ||
* | Remove the narinfo id from the narinfo_files query | Christopher Baines | 2023-02-03 |
| | | | | As this is now an unused hack. | ||
* | Track nar requests by narinfo system | Christopher Baines | 2023-02-03 |
| | |||
* | Don't get the narinfo id from the narinfo files query | Christopher Baines | 2023-02-03 |
| | | | | As this is a bit of a hack. | ||
* | 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 | Christopher Baines | 2023-02-01 |
| | | | | | Allow specifying where to fetch the source files from, enabling cached compressions for mirrors. | ||
* | Add with-port-timeouts helper | Christopher Baines | 2023-02-01 |
| | | | | From the Guix Build Coordinator. | ||
* | Make sure to use suspendable ports | Christopher Baines | 2023-02-01 |
| | | | | This will allow setting timeouts for network activity. | ||
* | 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 | Christopher Baines | 2023-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 calls | Christopher Baines | 2023-01-16 |
| | |||
* | Add experimental support for cached compressions | Christopher Baines | 2023-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 Baines | 2022-11-29 |
| | |||
* | Add index on narinfo_files.narinfo_id | Christopher Baines | 2022-06-24 |
| | | | | | This is important for finding narinfo_files by narinfo, which happens in database-select-narinfo-files. | ||
* | Add some instrumentation around the database | Christopher Baines | 2022-06-24 |
| | |||
* | Increase the maximum size of the reader thread pool | Christopher Baines | 2022-06-24 |
| | | | | As I think this might be a bottleneck. | ||
* | 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 | Christopher Baines | 2022-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 removal | Christopher Baines | 2022-05-19 |
| | | | | When --storage is set and not set. | ||
* | Fiddle more with the nar removal criteria | Christopher Baines | 2022-05-19 |
| | | | | | This should make the singular stored-on and and'ed stored-on work properly. | ||
* | Encode filenames when passing the request back to nginx | Christopher Baines | 2022-05-17 |
| | | | | This handles filenames which contain characters like ? and =. | ||
* | 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 | Christopher Baines | 2022-05-05 |
| | | | | Until the next pass. | ||
* | 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 | Christopher Baines | 2022-05-04 |
| | | | | | Otherwise, anything starting the service may time out if the database file is large. | ||
* | 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 | Christopher Baines | 2022-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. |