Expand description
Where grabcli keeps its files, and private/atomic file writes.
- config dir:
$GRABCLI_CONFIG_DIR, else$XDG_CONFIG_HOME/grabcli, else~/.config/grabcli. Holdsconfig.toml,session.json(0600) and the optionalhydra-key.pem(0600). - state dir:
$GRABCLI_STATE_DIR, else$XDG_STATE_HOME/grabcli, else~/.local/state/grabcli. Each service gets a subdirectory (food/). - cache dir:
$GRABCLI_CACHE_DIR, else$XDG_CACHE_HOME/grabcli, else~/.cache/grabcli. Disposable response cache (seecrate::cache).
Functionsยง
- cache_
dir - config_
dir - config_
path $GRABCLI_CONFIGor<config dir>/config.toml.- ensure_
private_ dir - Create
dir(and parents) with mode 0700 on the leaf. - session_
path $GRABCLI_SESSIONor<config dir>/session.json.- state_
dir - write_
atomic - Atomically write a non-secret file (tmp + rename, default permissions).
- write_
private - Atomically write a secret file: parent dir 0700, file 0600 from the moment
it is created, then renamed over
path.