mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-11-08 20:33:41 +00:00
* chore(Fixtures): PRWLR-5149 move development fixtures to dev directory * feat(Compliance): PRWLR-5149 add compliance templates and basic logic on scans * chore(Compliance): PRWLR-5149 make default compliance requirements pass if no findings * feat(Compliance): PRWLR-5149 add model * feat(Compliance): PRWLR-5149 add serializers * feat(Compliance): PRWLR-5149 add filters * feat(Compliance): PRWLR-5149 add views and urls * feat(Scan): PRWLR-5149 add compliance storing during scans * chore(Compliance, Scan): PRWLR-5149 refactor for performance * chore(Compliance): PRWLR-5149 add docstrings * feat(ComplianceOverview): PRWLR-5149 add new view for summary * chore: PRWLR-5149 update resource_names on all models to follow JSON:API spec * feat(ComplianceOverview): PRWLR-5149 add indexes to model for performance * feat(ComplianceOverview): PRWLR-5149 refactor views to summarize by default * chore(ComplianceOverview): PRWLR-5149 improve readability * chore(ComplianceOverview): PRWLR-5149 set default ordering to compliance_id * feat(Compliance): PRWLR-5149 add check status values count for each requirement * chore: PRWLR-5149 update API spec * chore(Provider,Scan): PRWLR-5149 disable scanner_args * feat(Scan): PRWLR-5149 retrieve all regions from provider when generating compliance * feat(Scan): PRWLR-5149 improve efficiency on scan task * chore: PRWLR-5149 update API spec * test(Compliance): PRWLR-5149 add unit tests * test(Scan): PRWLR-5149 update scan task unit tests * fix(ComplianceOverview): PRWLR-5149 fix filter * test(ComplianceOverview): PRWLR-5149 add unit tests * chore: PRWLR-5149 update API spec * feat(Compliance): PRWLR-5149 add manual findings to compliance results * chore(ComplianceOverview): PRWLR-5149 add fixture * chore: PRWLR-5149 update poetry lock * fix(Build): fix dockerfile and resources fixture * chore(Schema): update API schema
63 lines
1.5 KiB
Bash
Executable File
63 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
|
|
apply_migrations() {
|
|
echo "Applying database migrations..."
|
|
poetry run python manage.py migrate --database admin
|
|
}
|
|
|
|
apply_fixtures() {
|
|
echo "Applying Django fixtures..."
|
|
for fixture in api/fixtures/dev/*.json; do
|
|
if [ -f "$fixture" ]; then
|
|
echo "Loading $fixture"
|
|
poetry run python manage.py loaddata "$fixture" --database admin
|
|
fi
|
|
done
|
|
}
|
|
|
|
start_dev_server() {
|
|
echo "Starting the development server..."
|
|
poetry run python manage.py runserver 0.0.0.0:"${DJANGO_PORT:-8080}"
|
|
}
|
|
|
|
start_prod_server() {
|
|
echo "Starting the Gunicorn server..."
|
|
poetry run gunicorn -c config/guniconf.py config.wsgi:application
|
|
}
|
|
|
|
start_worker() {
|
|
echo "Starting the worker..."
|
|
poetry run python -m celery -A config.celery worker -l "${DJANGO_LOGGING_LEVEL:-info}" -Q celery,scans -E
|
|
}
|
|
|
|
manage_db_partitions() {
|
|
if [ "${DJANGO_MANAGE_DB_PARTITIONS}" = "True" ]; then
|
|
echo "Managing DB partitions..."
|
|
# For now we skip the deletion of partitions until we define the data retention policy
|
|
# --yes auto approves the operation without the need of an interactive terminal
|
|
poetry run python manage.py pgpartition --using admin --skip-delete --yes
|
|
fi
|
|
}
|
|
|
|
case "$1" in
|
|
dev)
|
|
apply_migrations
|
|
apply_fixtures
|
|
manage_db_partitions
|
|
start_dev_server
|
|
;;
|
|
prod)
|
|
apply_migrations
|
|
manage_db_partitions
|
|
start_prod_server
|
|
;;
|
|
worker)
|
|
start_worker
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {dev|prod|worker}"
|
|
exit 1
|
|
;;
|
|
esac
|