aboutsummaryrefslogtreecommitdiff
path: root/scripts
Commit message (Expand)AuthorAge
* Fix argument nameChristopher Baines2024-03-25
* Improve handling of cached narinfos when deletingChristopher Baines2024-03-25
* Rework the cached compressions system•••The initial implementation was flawed since guix assumes that any compression mentioned in the narinfo will be available for the lifetime of the narinfo, and the nar-herder was deleting cached compressions without taking this in to account. This commit adds support for scheduling the removal of a cached compression and this schedule is used to inform the TTLs for narinfos. I'm unsure of the value in caching narinfos so maybe some of this complexity can be removed in the future. Christopher Baines2024-03-25
* Add more TTL options•••I'm really not sure about this caching stuff, but these options should provide the flexibility to change the TTLs the nar-herder advertises gracefully. Christopher Baines2024-03-15
* Move most functionality out of the start script•••As this can make debugging easier. Christopher Baines2023-09-12
* Use recent changes to trigger the removal of nars•••Both when the nar has been removed from the database, and to check if it should no longer be stored. Christopher Baines2023-09-12
* Remove get-nar-files•••As it doesn't scale well. Christopher Baines2023-09-12
* Don't use JIT on aarch64•••As there's bugs which cause parts of the program to execute more than once https://github.com/wingo/fibers/issues/83 Christopher Baines2023-09-12
* Name the fibers threads•••To help with debugging. Christopher Baines2023-09-12
* Change the maintenance thread to not be cooperative•••As I think this is causing problems. Christopher Baines2023-09-12
* Make sure to use streaming http requests everywhere•••As this avoids blocking. Christopher Baines2023-09-12
* Add some more loggingChristopher Baines2023-09-12
* Use recent changes to trigger nar mirroring and removal•••As this should be more efficient than repeatedly looking through all the nars in the database. Christopher Baines2023-09-12
* Use fibers for the recent changes removal threadChristopher Baines2023-09-12
* Use fibers timeouts for all http requestsChristopher Baines2023-09-12
* Move most maintenance activity to fibers•••On a single separate thread. This will allow for spawning fibers for various maintenance actions. Christopher Baines2023-09-12
* Switch to cooperative schedulingChristopher Baines2023-09-12
* Drop the number of fibers threadsChristopher Baines2023-07-12
* Show progress for downloading the database dumpChristopher Baines2023-06-30
* Support setting a storage limit with no nar removal criteria•••As a way of limiting the storage space used, but without removing any nars. While this will mean if you reduce the storage limit, no nars will be removed, I still think this is a useful way to run the nar-herder. Christopher Baines2023-05-01
* Make import transactional for all the provided narinfos•••As this will allow the --ensure-references-exist option to work properly where there are circular references. Christopher Baines2023-03-13
* Handle self references when doing checks on narinfo importsChristopher Baines2023-02-15
* Fix import time reference checkingChristopher Baines2023-02-08
* Allow disabling dumping the database•••As this takes up quite a lot of space if the database is large. Christopher Baines2023-02-08
* Add a flag to allow ensuring the references for a nar are presentChristopher Baines2023-02-06
* Refactor, pulling the narinfo out in to a variableChristopher Baines2023-02-06
* Don't error when removing files that don't exist•••This is useful when removing in bulk and restarting the process. Christopher Baines2023-02-06
* Add some basic functionality to check the size of the stored filesChristopher Baines2023-02-06
* Make the log-level a base optionChristopher Baines2023-02-06
* Finish an initial implementation of pruning the cached narsChristopher Baines2023-02-04
* Instrument the cached bytes by compressionChristopher Baines2023-02-04
* Properly implement cached compression levels•••It was sort of implemented, but I'd missed some bits. Christopher Baines2023-02-03
* Be more flexible with cached compressions•••Allow specifying where to fetch the source files from, enabling cached compressions for mirrors. Christopher Baines2023-02-01
* Make sure to use suspendable ports•••This will allow setting timeouts for network activity. Christopher Baines2023-02-01
* Fix --cached-compression-min-uses handlingChristopher Baines2023-02-01
* 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 Baines2023-01-16
* Add some instrumentation around the databaseChristopher Baines2022-06-24
* Improve handling of nar removal•••When --storage is set and not set. Christopher Baines2022-05-19
* Fiddle more with the nar removal criteria•••This should make the singular stored-on and and'ed stored-on work properly. Christopher Baines2022-05-19
* Support removing nar filesChristopher Baines2022-05-06
* Initialise the nar_files_total metric when fetching changesChristopher Baines2022-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 Baines2022-05-04
* Update the nar_files_total metric when processing changesChristopher Baines2022-05-04
* Fix the default log-level valueChristopher 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
* Add support for exposing some basic metrics•••In a format understood by Prometheus. Christopher Baines2022-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 Baines2022-04-17
* Support inserting tags when inserting narinfos•••This is the beginning of implementing support for tagging. The communicating of tags through changes still needs implementing. Christopher Baines2022-03-13
* Support specifying TTL's for narinfo responses•••Using the same approach as guix publish. Christopher Baines2022-02-02