Files
prowler/docker-entrypoint.sh
T
Víctor Fernández Poyatos aa8c46d232 feat(ComplianceOverview): PRWLR-5149 Add compliance overview endpoints (#84)
* 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
2024-11-15 15:39:27 +01:00

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