- Introduced `benchmark`, `benchmark-save`, and `benchmark-check` Makefile targets for performance testing. - Added API security fuzzing through the `test-api-security` Makefile target, leveraging Schemathesis. - Updated Dockerfiles to use Alpine for security and CVE mitigation. - Enhanced security with `scan-image` and `scan-images` targets for Docker image vulnerability scanning via Trivy. - Integrated `pytest-benchmark` for performance regression detection, with tests for key API endpoints. - Extended `uv.lock` and `pyproject.toml` to include performance benchmarking dependencies.
22 lines
771 B
Bash
Executable File
22 lines
771 B
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
echo "Starting Backend"
|
|
|
|
# Ensure the project's virtualenv binaries are on PATH so commands like
|
|
# 'uvicorn' work even when not prefixed by 'uv run'. This matches how uv
|
|
# installs the env into /app/.venv in our containers.
|
|
if [ -d "/app/.venv/bin" ]; then
|
|
export PATH="/app/.venv/bin:$PATH"
|
|
fi
|
|
|
|
# Apply database migrations
|
|
# Avoid installing the project in editable mode (which tries to write egg-info)
|
|
# when running inside a bind-mounted volume with restricted permissions.
|
|
# See: https://github.com/astral-sh/uv (use --no-project to skip project build)
|
|
uv run --no-project alembic upgrade head
|
|
|
|
# Initialize database (creates first superuser if needed)
|
|
uv run --no-project python app/init_db.py
|
|
|
|
# Execute the command passed to docker run
|
|
exec "$@" |