Files
ivatar/README.md

3.2 KiB

ivatar / libravatar

Pipeline and coverage status

pipeline status coverage report

Reports / code documentation

Environment Variables

OpenTelemetry Configuration

OpenTelemetry instrumentation is always enabled in ivatar. The following environment variables control the behavior:

Core Configuration

  • OTEL_SERVICE_NAME: Service name for OpenTelemetry (default: "ivatar")
  • OTEL_ENVIRONMENT: Deployment environment (default: "production")
  • OTEL_EXPORT_ENABLED: Enable/disable data export (default: "false")
    • Set to "true" to enable sending telemetry data to external collectors
    • Set to "false" to disable export (instrumentation still active)

Export Configuration

  • OTEL_EXPORTER_OTLP_ENDPOINT: OTLP endpoint for traces and metrics export
  • OTEL_PROMETHEUS_ENDPOINT: Prometheus metrics endpoint (default: "0.0.0.0:9464")

Example Configurations

Development (Export Disabled)

export OTEL_EXPORT_ENABLED=false
export OTEL_SERVICE_NAME=ivatar-dev
export OTEL_ENVIRONMENT=development

Production (Export Enabled)

export OTEL_EXPORT_ENABLED=true
export OTEL_SERVICE_NAME=ivatar
export OTEL_ENVIRONMENT=production
export OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4317

Testing

Running Tests

For local development, use the provided script to skip Bluesky tests that require external API credentials:

./scripts/run_tests_local.sh

This runs all tests except those marked with @pytest.mark.bluesky.

All Tests

To run all tests including Bluesky tests (requires Bluesky API credentials):

python3 manage.py test -v3

Specific Test Categories

# Run only Bluesky tests
python3 manage.py test ivatar.ivataraccount.test_views_bluesky -v3

# Run only file upload security tests
python3 manage.py test ivatar.test_file_security -v3

# Run only security fixes tests (ETag sanitization and URL validation)
python3 manage.py test ivatar.test_security_fixes -v3

# Run only upload tests
python3 manage.py test ivatar.ivataraccount.test_views -v3

Test Markers

Tests are categorized using pytest markers:

  • @pytest.mark.bluesky: Tests requiring Bluesky API credentials
  • @pytest.mark.slow: Long-running tests
  • @pytest.mark.integration: Integration tests
  • @pytest.mark.unit: Unit tests

Authors and contributors

Lead developer/Owner: Oliver Falk (aka ofalk or falko) - https://git.linux-kernel.at/oliver

Operations: Michal Novotny (aka clime)

QA: Tristan Le Guern (aka tleguern)

Frontend developer: Lukas Schönsgibl (aka hybridpicker), Niklas Poslovski (aka nipos)

Organisation/Meeting moderation: Lars Kruse (aka sumpfralle)

Initial developer: François Marier - https://fmarier.org/