Seen on the rc.14 docker single stack, fetcher v1.4.24, at every fetcher start:
WARN dfe_fetcher: cursor.directory not set -- falling back to config file directory. Set cursor.directory to a PVC-backed path for pod restart persistence. fallback_dir=/etc/dfe/apps/dfe-fetcher
WARN dfe_fetcher::cursor::file: Cursor directory is not writable, operating in read-only mode directory="/etc/dfe/apps/dfe-fetcher"
The compose projection mounts the app-config volume read-only into the fetcher (as it should) and gives it no writable cursor directory, so the cursor store runs read-only and nothing survives a restart: every restart re-reads each source's full lookback (cursor.default_window_hours, 1 hour by default), which on CloudTrail is a 29 page burst that trips the LookupEvents limit (dfe-fetcher #120).
The k8s chart gives the fetcher a PVC-backed path for this. Compose needs the same: a named volume (the dlq-spool volume is already rw at /var/spool/dfe, or a cursor volume of its own) and cursor.directory pointing at it in config/fetcher/*.yaml.
Done when a fetcher restart on the docker single resumes from its cursor rather than re-reading the window, and the two warnings are gone from its start-up log.
Seen on the rc.14 docker single stack, fetcher v1.4.24, at every fetcher start:
The compose projection mounts the app-config volume read-only into the fetcher (as it should) and gives it no writable cursor directory, so the cursor store runs read-only and nothing survives a restart: every restart re-reads each source's full lookback (cursor.default_window_hours, 1 hour by default), which on CloudTrail is a 29 page burst that trips the LookupEvents limit (dfe-fetcher #120).
The k8s chart gives the fetcher a PVC-backed path for this. Compose needs the same: a named volume (the dlq-spool volume is already rw at /var/spool/dfe, or a cursor volume of its own) and cursor.directory pointing at it in config/fetcher/*.yaml.
Done when a fetcher restart on the docker single resumes from its cursor rather than re-reading the window, and the two warnings are gone from its start-up log.