nixcfg/systems/x86_64-linux
Harald Hoyer e0d2a2f50d feat(sgx): finish firefly-sparda-fetch — headless FinTS import
End-to-end verified: aqbanking-cli fetches Sparda Südwest transactions
via FinTS PIN/TAN + SecureGo+, exports CSV using a custom decimal-amount
profile, POSTs to firefly-iii-data-importer's autoupload endpoint, which
creates transactions in Firefly III via API.

Changes vs. previous WIP commit:
- firefly/access_token sops slot for the importer's Firefly III API auth
  (FIREFLY_III_ACCESS_TOKEN_FILE — was the missing piece causing 401s
  from the API after the autoupload secret authenticated)
- nginx fastcgi_read_timeout=600s on the importer vhost (prevents 504
  while PHP-FPM is still processing the batch)
- PHP-FPM max_execution_time=600s + memory_limit=512M on the importer
  pool (PHP's stock 30s aborts mid-import for batches > ~50 transactions)
- timer re-enabled, wantedBy=[timers.target]

Caveats baked into a code comment:
- Sparda online-banking PIN must be [A-Za-z0-9] only. aqbanking 6.8.2's
  -P pinfile mangles `:`, `+`, `'`, `?`, `@`, `%`, `*`; bank locks the
  access (3 soft / 9 hard strikes) on rejected attempts. Same applies
  whenever the sops secret is rotated.
- Bulk historical imports beyond the PSD2 90-day window need interactive
  SCA approval per ~30-day chunk and cannot run from the timer; the
  daily 35-day rolling window stays inside the no-SCA region.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 18:58:45 +02:00
..
amd feat(amd): latest kernel ryzen kernel module 2026-04-27 10:40:23 +02:00
attic fix(attic): fix nginx proxy cache bypass and add cache lock 2026-03-25 13:38:32 +01:00
halo chore: statix fix 2026-04-20 10:09:24 +02:00
mx refactor(mx): extract disk check services into disk-check.nix 2026-04-20 10:28:27 +02:00
nixtee1 refactor(nix): extract common system configs into reusable modules 2026-01-30 10:42:09 +01:00
sgx feat(sgx): finish firefly-sparda-fetch — headless FinTS import 2026-05-01 18:58:45 +02:00
t15 refactor(nix): extract common system configs into reusable modules 2026-01-30 10:42:09 +01:00
x1 chore: statix fix 2026-04-20 10:09:24 +02:00