- Add proper cache expiration with 5-minute TTL - Optimize git log file reading to avoid loading entire file - Read only last chunk (1024 bytes) instead of all lines - Add shorter TTL (30s) for error cases to allow retry - Improve error handling with UnicodeDecodeError support - Maintain backward compatibility and security (no subprocess calls) This fixes the 30-second response time issue by implementing efficient caching and optimized file I/O operations.
ivatar / libravatar
Pipeline and coverage status
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- Example: "http://localhost:4317" (gRPC) or "http://localhost:4318" (HTTP)
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
Local Development (Recommended)
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 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/