Skip to content

1.0.1: Fix: anchor runtime-data .gitignore patterns

Choose a tag to compare

@Dim145 Dim145 released this 20 May 23:07
· 99 commits to main since this release
The unanchored ``storage/`` line in .gitignore was intended for the
top-level ./storage/ runtime data dir, but it silently matched
backend/app/storage/ too — the actual storage backend package. Result:
the whole package was never committed, every Docker build picked up a
tree without app/storage/, and the container crashed at boot with
``ModuleNotFoundError: No module named 'app.storage'`` (only visible
when STORAGE_BACKEND=s3 if a local ./backend/app/storage was lying
around from a previous run, otherwise it crashes regardless).

Fixes:
* Anchor data/, storage/, keystores/ to the repo root with leading
  slashes — these are runtime mount points, never source folders.
* Bring backend/app/storage/{__init__,base,factory,local,s3}.py back
  under version control. They were already in pyproject.toml's import
  graph and referenced from app/api/fdroid.py + app/fdroid/repo_builder.py.

Rebuild + redeploy the backend image after pulling this — the cached
ghcr.io/dim145/fdroid-store-backend:latest may also have been built
from a tree missing this package.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>