Víctor Fernández Poyatos 3a502c5b3d feat(Backend): PRWLR-3990 Add custom logging (#6)
* chore: PRWLR-4022 add django-cors-headers

* chore: PRWLR-4022 configure basic CORS

* feat: PRWLR-4022 add drf-spectacular and spec/docs endpoints

* build: PRWLR-4022 add basic docker development deployment

* chore: PRWLR-4022 update schema generation

* chore: PRWLR-4022 bump required Python version to 3.12

* feat: PRWLR-3990 add basic custom Django logging

* feat: PRWLR-3990 add tasks logger

* chore: PRWLR-3990 update API logging middleware to follow updated syntax

* docs: PRWLR-3990 add docstring for APILoggingMiddleware class

* chore: PRWLR-3990 add testing dependencies to poetry

* test(API): PRWLR-3990 add new middleware unit tests and base setup

* feat(API, Backend): PRWLR-3990 add NDJSONFormatter and transaction_id

* feat(API): PRWLR-3990 add dev/test model, views and urls

* chore(backend): PRWLR-3990 refactor logging settings and modules

* chore(backend): PRWLR-3990 add BackendLogger enum and refactor logging modules

* chore(backend): PRWLR-3990 refactor module importing

* style(backend): PRWLR-3990 remove extra endlines

* chore: PRWLR-3990 update poetry.lock

* chore: PRWLR-3990 run pre-commit
2024-07-05 10:13:04 -04:00
2024-07-01 18:04:13 +02:00
2024-07-01 10:42:55 -04:00

Prowler SaaS and Prowler Open Source are as dynamic and adaptable as the environment they’re meant to protect. Trusted by the leaders in security.

Learn more at prowler.com

Prowler community on Slack
Join our Prowler community!

Description

Prowler is an Open Source security tool to perform AWS, Azure, Google Cloud and Kubernetes security best practices assessments, audits, incident response, continuous monitoring, hardening and forensics readiness, and also remediations! We have Prowler CLI (Command Line Interface) that we call Prowler Open Source and a service on top of it that we call Prowler SaaS.

This repository contains the REST API and Task Runner components for Prowler, which facilitate a complete backend that interacts with the Prowler SDK and is used by the Prowler UI.

💻 Development guide

Local deployment

This method requires installing a Python virtual environment and keep dependencies updated.

Clone the repository

# HTTPS
git clone https://github.com/prowler-cloud/restful-api.git

# SSH
git clone git@github.com:prowler-cloud/restful-api.git

Install the Python dependencies

You must have Poetry installed

poetry install
poetry shell

Run the Django development server

cd backend
python manage.py runserver

You can access the server in http://localhost:8000. All changes in the code will be automatically reloaded in the server.

Docker deployment

This method requires docker and docker compose.

Clone the repository

# HTTPS
git clone https://github.com/prowler-cloud/restful-api.git

# SSH
git clone git@github.com:prowler-cloud/restful-api.git

Build the base image

docker compose build

Run the development service

docker compose --profile dev up

You can access the server in http://localhost:8080. All changes in the code will be automatically reloaded in the server.

NOTE: notice how the port is different. When developing using docker, the port will be 8080 to prevent conflicts.

S
Description
Prowler is an Open Source Security tool for AWS, Azure, GCP and Kubernetes to do security assessments, audits, incident response, compliance, continuous monitoring, hardening and forensics readiness. Includes CIS, NIST 800, NIST CSF, CISA, FedRAMP, PCI-DSS, GDPR, HIPAA, FFIEC, SOC2, GXP, Well-Architected Security, ENS and more
Readme Apache-2.0
456 MiB
0 Stars 1 Watchers 0 Forks
Languages
Python 79.3%
TypeScript 20.1%
Shell 0.3%
HCL 0.1%