mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-10-12 14:34:16 +00:00
Add three postprocessing hooks to fix OpenAPI 3.0.x compatibility issues
generated by drf-spectacular-jsonapi:
1. fix_empty_id_fields: Fixes empty id field definitions ({}) in JSON:API
request schemas (particularly PATCH/update requests) by replacing them
with proper schema: {"type": "string", "format": "uuid", "description": "..."}
2. fix_pattern_properties: Converts patternProperties to additionalProperties
for OpenAPI 3.0 compatibility. patternProperties is only available in
OpenAPI 3.1+, but drf-spectacular generates 3.0.3 specs. This is needed
for the Prowler mutelist configuration which uses dynamic keys.
3. fix_type_formats: Fixes invalid type values like "email" that
drf-spectacular generates from Django's EmailField. Converts them to
proper OpenAPI format: "type": "string" with "format": "email".
Also handles "url" → "uri" and "uuid" formats.
These hooks ensure the generated OpenAPI schema validates correctly with
Mintlify and other OpenAPI 3.0.x tools.
Prowler Documentation
This repository contains the Prowler Open Source documentation powered by Mintlify.
Documentation Structure
- Getting Started: Overview, installation, and basic usage guides
- User Guide: Comprehensive guides for Prowler App, CLI, providers, and compliance
- Developer Guide: Technical documentation for developers contributing to Prowler
Local Development
Install the Mintlify CLI to preview documentation changes locally:
npm i -g mint
Run the following command at the root of your documentation (where mint.json is located):
mint dev
View your local preview at http://localhost:3000.
Publishing Changes
Changes pushed to the main branch are automatically deployed to production through Mintlify's GitHub integration.
Documentation Guidelines
When contributing to the documentation, please follow the Prowler documentation style guide located in the .claude directory.
Troubleshooting
- If your dev environment isn't running: Run
mint updateto ensure you have the most recent version of the CLI. - If a page loads as a 404: Make sure you are running in a folder with a valid
mint.jsonfile and that the page path is correctly listed in the navigation.