aboutsummaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAge
* Fix argument nameChristopher Baines2024-03-25
|
* Improve handling of cached narinfos when deletingChristopher Baines2024-03-25
|
* Rework the cached compressions systemChristopher Baines2024-03-25
| | | | | | | | | | | | | 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.
* Add more TTL optionsChristopher Baines2024-03-15
| | | | | | 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.
* Move most functionality out of the start scriptChristopher Baines2023-09-12
| | | | As this can make debugging easier.
* Use recent changes to trigger the removal of narsChristopher Baines2023-09-12
| | | | | Both when the nar has been removed from the database, and to check if it should no longer be stored.
* Remove get-nar-filesChristopher Baines2023-09-12
| | | | As it doesn't scale well.
* Don't use JIT on aarch64Christopher Baines2023-09-12
| | | | | As there's bugs which cause parts of the program to execute more than once https://github.com/wingo/fibers/issues/83
* Name the fibers threadsChristopher Baines2023-09-12
| | | | To help with debugging.
* Change the maintenance thread to not be cooperativeChristopher Baines2023-09-12
| | | | As I think this is causing problems.
* Make sure to use streaming http requests everywhereChristopher Baines2023-09-12
| | | | As this avoids blocking.
* Add some more loggingChristopher Baines2023-09-12
|
* Use recent changes to trigger nar mirroring and removalChristopher Baines2023-09-12
| | | | | As this should be more efficient than repeatedly looking through all the nars in the database.
* 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 fibersChristopher Baines2023-09-12
| | | | | On a single separate thread. This will allow for spawning fibers for various maintenance actions.
* 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 criteriaChristopher Baines2023-05-01
| | | | | | | | 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.
* Make import transactional for all the provided narinfosChristopher Baines2023-03-13
| | | | | As this will allow the --ensure-references-exist option to work properly where there are circular references.
* Handle self references when doing checks on narinfo importsChristopher Baines2023-02-15
|
* Fix import time reference checkingChristopher Baines2023-02-08
|
* Allow disabling dumping the databaseChristopher Baines2023-02-08
| | | | As this takes up quite a lot of space if the database is large.
* 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 existChristopher Baines2023-02-06
| | | | This is useful when removing in bulk and restarting the process.
* 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 levelsChristopher Baines2023-02-03
| | | | It was sort of implemented, but I'd missed some bits.
* Be more flexible with cached compressionsChristopher Baines2023-02-01
| | | | | Allow specifying where to fetch the source files from, enabling cached compressions for mirrors.
* Make sure to use suspendable portsChristopher Baines2023-02-01
| | | | This will allow setting timeouts for network activity.
* Fix --cached-compression-min-uses handlingChristopher Baines2023-02-01
|
* 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.
* Add some instrumentation around the databaseChristopher Baines2022-06-24
|
* 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.
* 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 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
|
* 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 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.
* 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.
* Support specifying TTL's for narinfo responsesChristopher Baines2022-02-02
| | | | Using the same approach as guix publish.