StylusFrost
77b2ffeb54
Merge remote-tracking branch 'origin/PROWLER-1774-dynamic-provider-kwargs-connection' into PROWLER-1775-dynamic-credential-validation
2026-06-01 21:35:10 +02:00
StylusFrost
21e63ebc7e
Merge remote-tracking branch 'origin/PROWLER-1773-dynamic-provider-resolution' into PROWLER-1774-dynamic-provider-kwargs-connection
...
# Conflicts:
# prowler/providers/common/provider.py
2026-06-01 21:30:39 +02:00
StylusFrost
bcc697f42a
Merge remote-tracking branch 'origin/PROWLER-1772-provider-type-storage-varchar' into PROWLER-1773-dynamic-provider-resolution
2026-06-01 21:29:02 +02:00
StylusFrost
c94456c131
perf(api): share cached provider-type choices across filters and serializer
...
- Move get_provider_type_choices into a leaf module so the provider
serializer field reuses the filters' cached list instead of recomputing
SDK provider discovery on every request
2026-06-01 21:18:39 +02:00
StylusFrost
28433362c5
fix(api): make provider enum-to-varchar migration deploy-safe
...
- Backfill provider_str synchronously in 0095 (single UPDATE) so the column
is populated before 0096 sets it NOT NULL, removing the Celery race
- Recreate the unique index inside 0096's transaction with a lock_timeout,
closing the duplicate-provider window left by the concurrent rebuild
- Drop migration 0097 and the now-unused backfill_provider_str task
2026-06-01 21:18:31 +02:00
StylusFrost
9c7b33157f
Merge remote-tracking branch 'origin/PROWLER-1771-public-dynamic-provider-class-resolver' into PROWLER-1772-provider-type-storage-varchar
2026-06-01 20:45:01 +02:00
Prowler Bot and prowler-bot
c2cef99b33
chore(release): Bump versions to v5.30.0 ( #11418 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-06-01 18:37:51 +02:00
StylusFrost
b8d3312577
feat: validate external provider secrets via SDK credential schema
...
- Add get_credentials_schema to the provider contract
- Validate non-built-in secrets against the declared schema; built-ins unchanged
- Accept secrets as-is when no schema is declared (validated at connection)
2026-06-01 01:08:41 +02:00
StylusFrost
51581c35ec
feat: add SDK contract for dynamic provider construction args
...
- Add get_scan_arguments/get_connection_arguments to the provider contract
- Route non-built-in providers through the contract; built-ins unchanged
- Cover the external dynamic path in tests
2026-06-01 00:19:17 +02:00
StylusFrost
cd15ed07eb
feat(api): resolve provider class dynamically via the SDK resolver
...
- Replace the hardcoded provider match with Provider.get_class
- Drop the closed provider-type union and TYPE_CHECKING imports
- Cover built-in and external entry-point resolution in tests
2026-05-31 23:41:10 +02:00
StylusFrost
30f8244ec1
docs(api): add changelog entry for provider varchar migration
2026-05-31 23:33:23 +02:00
StylusFrost
37323e691a
feat(api): drive provider-type filters from SDK-available providers
...
- Replace the static provider enum in filters with the SDK provider list
- Cache the provider-type choices for hot list endpoints
- Drop the dead provider enum filter override
2026-05-31 23:33:23 +02:00
StylusFrost
f14778438e
feat(api): validate provider against SDK-available providers
...
- Drive provider validity from the SDK instead of a static enum
- Tolerate providers without a uid validator at model clean()
- Accept any SDK-exposed provider in the provider serializer field
2026-05-31 23:33:23 +02:00
StylusFrost
64fdea2954
feat(api): store provider as varchar and drop the enum type
...
- Promote the synced shadow column into provider, dropping the enum
- Rebuild the partial unique index concurrently after the swap
- Keep provider input validation at the serializer layer
2026-05-31 23:33:23 +02:00
StylusFrost
7dc0895581
feat(api): backfill provider_str shadow column per-tenant
...
- Add batched per-tenant backfill job for the provider_str column
- Register backfill task on the backfill queue
- Dispatch the backfill from a data-only migration
2026-05-31 23:33:23 +02:00
StylusFrost
383e9c6bd8
feat(api): add provider_str shadow column synced by trigger
...
- Add nullable provider_str CharField mirroring the provider enum column
- DB trigger keeps provider_str in sync on INSERT and UPDATE
- First step of the zero-downtime migration of the provider enum to varchar
2026-05-31 23:33:23 +02:00
Pepe Fagoaga and Copilot Autofix powered by AI
9422eff8ab
chore: changelog v5.29.0 ( #11390 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-29 17:29:52 +02:00
Adrián Peña
81226cd837
perf(api): use literal scan_ids in finding-groups /latest aggregation ( #11380 )
2026-05-28 13:46:15 +02:00
ad1261ce54
ci(docs): add markdownlint foundation (prek + CI) ( #11210 )
...
Co-authored-by: Pablo F.G <pablo.fernandez@prowler.com >
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-27 16:42:01 +02:00
Adrián Peña and Pepe Fagoaga
329dfdf8e6
perf(api): reduce DB load in scan hot loop by 13x ( #11249 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2026-05-25 19:09:28 +02:00
Pepe Fagoaga
546eb2d85a
chore: changelog v5.28.1 ( #11347 )
2026-05-25 10:18:42 +02:00
Josema Camacho
528d32601b
perf(api): speed up finding-groups endpoint for finding-level filters ( #11326 )
2026-05-22 13:59:05 +02:00
Prowler Bot and prowler-bot
56b3044aae
chore(release): Bump versions to v5.29.0 ( #11332 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-05-22 13:34:30 +02:00
Pepe Fagoaga
13e2ede763
chore(changelog): prepare for v5.28.0 ( #11321 )
2026-05-22 09:33:40 +02:00
Pedro Martín
dbbefd0558
feat(compliance): add resource metadata tab inside req find ( #11187 )
2026-05-21 15:09:43 +02:00
César Arroba
7d03bc5e17
fix(api): chown src/backend and docker-entrypoint to prowler user ( #11276 )
2026-05-21 10:21:33 +02:00
Daniel Barranquero
6eebfcfe77
feat(api): add okta provider support ( #11184 )
2026-05-20 10:46:29 +02:00
Pepe Fagoaga and Adrián Jesús Peña Rodríguez
9d8b69abda
fix(api): uv.lock permissions during docker build ( #11243 )
...
Co-authored-by: Adrián Jesús Peña Rodríguez <adrianjpr@gmail.com >
2026-05-19 19:08:35 +02:00
Pedro Martín
60aa601e92
fix(docker): chown copied files to prowler pin uv sync --locked ( #11234 )
2026-05-19 18:03:05 +02:00
Prowler Bot and prowler-bot
476e7d1010
chore(release): Bump versions to v5.28.0 ( #11227 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-05-19 15:11:44 +02:00
Pepe Fagoaga
cb01769237
chore(changelog): prepare for v5.27.0 ( #11218 )
2026-05-19 11:42:10 +02:00
Adrián Peña
37aa290d1c
feat(api): add health/live and health/ready probe endpoints ( #11200 )
2026-05-18 16:28:36 +02:00
Pedro Martín
5d34577b0b
feat(reporting): bound PDF compliance report memory and CPU ( #11160 )
2026-05-18 11:46:26 +02:00
Pedro Martín
855e74add0
chore(deps): fix osv-scanner from API ( #11192 )
2026-05-18 10:20:43 +02:00
Adrián Peña
40b7cb3991
fix(api): skip scan tasks when provider was deleted ( #11185 )
2026-05-15 13:48:02 +02:00
Pepe Fagoaga
3410fc927a
chore(security): replace safety with osv-scanner ( #11167 )
2026-05-14 14:35:09 +02:00
AOrps and Adrián Jesús Peña Rodríguez
fb0ef391f2
ci(api): replace poetry with uv (api) ( #10775 )
...
Signed-off-by: AOrps <aorbeandrews@gmail.com >
Co-authored-by: Adrián Jesús Peña Rodríguez <adrianjpr@gmail.com >
2026-05-14 11:17:17 +02:00
Rubén De la Torre Vico
9293c7b58d
fix(api): correct service principal for Bedrock AgentCore attack paths ( #11141 )
2026-05-13 10:14:59 +02:00
Josema Camacho
a30b6623ed
fix(api): make findings GIN index migration idempotent ( #11129 )
2026-05-12 13:47:08 +02:00
Josema Camacho
6dfa135755
perf(api): add multi-column GIN index on findings array fields ( #11001 )
2026-05-12 11:45:16 +02:00
Adrián Peña
9cedbd3582
fix(api): defer scan broker publish until transaction commits ( #11122 )
2026-05-12 11:04:39 +02:00
Prowler Bot and prowler-bot
500b395125
chore(api): Bump version to v1.28.0 ( #11112 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-05-11 15:36:36 +02:00
Pepe Fagoaga
02cdcb29db
chore: changelog for v5.26.0 ( #11105 )
2026-05-11 13:04:24 +02:00
Pedro Martín and César Arroba
7971b40f49
feat(api): ASD Essential Eight compliance framework support ( #10982 )
...
Co-authored-by: César Arroba <cesar@prowler.com >
2026-05-06 14:03:00 +02:00
Pedro Martín and César Arroba
4c3e741af7
chore(pyproject): revert API changes ( #11049 )
...
Co-authored-by: César Arroba <cesar@prowler.com >
2026-05-06 12:09:46 +02:00
Pedro Martín
22b233f206
chore(deps): bump requests to 2.33.1 to fix CVE-2026-25645 ( #10983 )
2026-05-05 16:43:18 +02:00
Daniel Barranquero
aa759ab6b7
fix(attack-surface): restore ec2-imdsv1 category alignment ( #10998 )
2026-05-05 16:42:47 +02:00
Hugo Pereira Brito and Pepe Fagoaga
369d6cecc1
fix: patch CVE-2026-39892 and CVE-2026-33186 across SDK, API and MCP images ( #10978 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2026-05-05 15:04:44 +01:00
Pepe Fagoaga
703a33108c
chore(changelog): prepare for v5.25.2 ( #10991 )
2026-05-05 08:47:28 +02:00
Pepe Fagoaga
85d38b5f71
feat(scans): Reset resource failed findings to 0 for ephemeral resources ( #10929 )
2026-04-29 19:08:16 +02:00