| Commit message (Expand) | Author | Age |
* | Fix argument name | Christopher Baines | 2024-03-25 |
* | Improve handling of cached narinfos when deleting | Christopher Baines | 2024-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 Baines | 2024-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 Baines | 2024-03-15 |
* | Move most functionality out of the start script•••As this can make debugging easier.
| Christopher Baines | 2023-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 Baines | 2023-09-12 |
* | Remove get-nar-files•••As it doesn't scale well.
| Christopher Baines | 2023-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 Baines | 2023-09-12 |
* | Name the fibers threads•••To help with debugging.
| Christopher Baines | 2023-09-12 |
* | Change the maintenance thread to not be cooperative•••As I think this is causing problems.
| Christopher Baines | 2023-09-12 |
* | Make sure to use streaming http requests everywhere•••As this avoids blocking.
| Christopher Baines | 2023-09-12 |
* | Add some more logging | Christopher Baines | 2023-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 Baines | 2023-09-12 |
* | Use fibers for the recent changes removal thread | Christopher Baines | 2023-09-12 |
* | Use fibers timeouts for all http requests | Christopher Baines | 2023-09-12 |
* | Move most maintenance activity to fibers•••On a single separate thread. This will allow for spawning fibers for
various maintenance actions.
| Christopher Baines | 2023-09-12 |
* | Switch to cooperative scheduling | Christopher Baines | 2023-09-12 |
* | Drop the number of fibers threads | Christopher Baines | 2023-07-12 |
* | Show progress for downloading the database dump | Christopher Baines | 2023-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 Baines | 2023-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 Baines | 2023-03-13 |
* | Handle self references when doing checks on narinfo imports | Christopher Baines | 2023-02-15 |
* | Fix import time reference checking | Christopher Baines | 2023-02-08 |
* | Allow disabling dumping the database•••As this takes up quite a lot of space if the database is large.
| Christopher Baines | 2023-02-08 |
* | Add a flag to allow ensuring the references for a nar are present | Christopher Baines | 2023-02-06 |
* | Refactor, pulling the narinfo out in to a variable | Christopher Baines | 2023-02-06 |
* | Don't error when removing files that don't exist•••This is useful when removing in bulk and restarting the process.
| Christopher Baines | 2023-02-06 |
* | Add some basic functionality to check the size of the stored files | Christopher Baines | 2023-02-06 |
* | Make the log-level a base option | Christopher Baines | 2023-02-06 |
* | 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 |
* | Properly implement cached compression levels•••It was sort of implemented, but I'd missed some bits.
| Christopher Baines | 2023-02-03 |
* | 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 |
* | Make sure to use suspendable ports•••This will allow setting timeouts for network activity.
| Christopher Baines | 2023-02-01 |
* | Fix --cached-compression-min-uses handling | Christopher Baines | 2023-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 Baines | 2023-01-16 |
* | Add some instrumentation around the database | Christopher Baines | 2022-06-24 |
* | 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 |
* | Support removing nar files | Christopher Baines | 2022-05-06 |
* | 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 |
* | 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 |
* | 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 |
* | 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 Baines | 2022-03-13 |
* | Support specifying TTL's for narinfo responses•••Using the same approach as guix publish.
| Christopher Baines | 2022-02-02 |