Configuration#
The configuration for the Software Heritage Filesystem resides in the
swh > fuse
section of the shared YAML configuration
file used by all Software Heritage tools, located by default at
~/.config/swh/global.yml
.
The configuration file location is subject to the XDG Base Directory specification as
well as explicitly overridden on the command line via the
-C/--config-file
flag.
The following sub-sections and fields can be used within the swh > fuse
stanza:
cache
:metadata
: where to store the metadata cache, must have either ain-memory
boolean entry set to true or apath
string entry (with the corresponding disk path).blob
: where to store the blob cache, same entries as themetadata
cache.direntry
: how much memory should be used by the direntry cache, specified using amaxram
entry (either as a percentage of available RAM, or with disk storage unit suffixes:B
,KB
,MB
,GB
).
web-api
:url
: archive API URLauth-token
: authentication token used with the API URL
json-indent
: number of spaces used to print JSON metadata files (setting it tonull
disables indentation).
If no configuration is given, default values are:
cache
: all cache files are stored in$XDG_CACHE_HOME/swh/fuse/
(or~/.cache/swh/fuse
ifXDG_CACHE_HOME
is not set). The direntry cache will use at most 10% of available RAM.web-api
: URL is https://archive.softwareheritage.org/api/1/, with no authentication tokenjson-indent
: 2 spaces.
Example#
Here is a full ~/.config/swh/global.yml
example, showcasing different cache
storage strategies (in-memory for metadata, on-disk for blob, 20% RAM for
direntry), using the default Web API service:
swh:
fuse:
cache:
metadata:
in-memory: true
blob:
path: "/path/to/cache/blob.sqlite"
direntry:
maxram: 20%
web-api:
url: "https://archive.softwareheritage.org/api/1/"
auth-token: eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJhMTMxYTQ1My1hM2IyLTQwMTUtO...
Logging#
The default logging level is set to INFO
and can be configured through the
shared command line interface via the -l/--log-level
flag.
$ swh --log-level swh.fuse:DEBUG fs mount swhfs/