Skip to content

Commit be94b97

Browse files
fix(api): redirect scan report and compliance downloads to presigned S3 URLs (#10931)
Co-authored-by: Josema Camacho <josema@prowler.com>
1 parent 9840fa6 commit be94b97

5 files changed

Lines changed: 1931 additions & 263 deletions

File tree

api/CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ All notable changes to the **Prowler API** are documented in this file.
77
### 🐞 Fixed
88

99
- Attack Paths: AWS scans no longer fail when enabled regions cannot be retrieved, and scans stuck in `scheduled` state are now cleaned up after the stale threshold [(#10917)](https://github.com/prowler-cloud/prowler/pull/10917)
10+
- Scan report and compliance downloads now redirect to a presigned S3 URL instead of streaming through the API worker, preventing gunicorn timeouts on large files [(#10927)](https://github.com/prowler-cloud/prowler/pull/10927)
1011

1112
---
1213

@@ -20,7 +21,7 @@ All notable changes to the **Prowler API** are documented in this file.
2021

2122
### 🔄 Changed
2223

23-
- Allows tenant owners to expel users from their organizations [(#10787)](https://github.com/prowler-cloud/prowler/pull/10787)
24+
- Allows tenant owners to expel users from their organizations [(#10787)](https://github.com/prowler-cloud/prowler/pull/10787)
2425
- `aggregate_findings`, `aggregate_attack_surface`, `aggregate_scan_resource_group_summaries` and `aggregate_scan_category_summaries` now upsert via `bulk_create(update_conflicts=True, ...)` instead of the prior `ignore_conflicts=True` / plain INSERT / `already backfilled` short-circuit. Re-runs triggered by the post-mute reaggregation pipeline no longer trip the `unique_*_per_scan` constraints nor silently drop updates, and are race-safe under concurrent writers (e.g. scan completion overlapping with a fresh mute rule) [(#10843)](https://github.com/prowler-cloud/prowler/pull/10843)
2526
- Rename the scan-category and scan-resource-group summary aggregators from `backfill_*` to `aggregate_*` [(#10843)](https://github.com/prowler-cloud/prowler/pull/10843)
2627

api/src/backend/api/apps.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def ready(self):
5252
"check_and_fix_socialaccount_sites_migration",
5353
]
5454

55-
# Skip Neo4j initialization during tests, some Django commands, and Celery
55+
# Skip eager Neo4j init for tests, some Django commands, and Celery (prefork pool: driver must stay lazy, no post_fork hook)
5656
if getattr(settings, "TESTING", False) or (
5757
len(sys.argv) > 1
5858
and (
@@ -64,7 +64,7 @@ def ready(self):
6464
)
6565
):
6666
logger.info(
67-
"Skipping Neo4j initialization because tests, some Django commands or Celery"
67+
"Skipping eager Neo4j init: tests, some Django commands, or Celery prefork pool (driver stays lazy)"
6868
)
6969

7070
else:

0 commit comments

Comments
 (0)