Skip to content

馃敡(ops) production readiness: rate limiting, limits, pinned images聽#185

Open

Description

@lunika

Production readiness gaps

Found during a code audit; can be split into separate tasks:

  • No rate limiting on any endpoint (DRF throttling isn't configured), including the token-authenticated indexing endpoint.
  • No request size limits specific to bulk indexing (number of documents per request, content length).
  • Helm: backend.resources: {}. No requests or limits are set by default.
  • compose: opensearchproject/opensearch:latest and opensearch-dashboards:latest aren't pinned, so dev may drift from the version used in production. redis:5 is end-of-life.
  • Error handling: OpenSearch errors (TransportError, timeouts) aren't caught in the views and surface as 500s (e.g. the order_by=title bug). The client timeout is hard-coded to 50s.
  • Observability: logs only (see Add Prometheus metrics endpoint聽#119 for metrics). No request or OpenSearch latency metrics.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions