Skip to content

Replace Pingora proxy with custom tonic-based service #1171

@SantiagoPittella

Description

@SantiagoPittella

We want to remove the dependency on Pingora and replace it with our own gRPC service built with tonic.
This new service will maintain shared state across "workers" and handle request delegation.
The service should be fully compatible with the existing ProverApi interface, so clients do not need to be aware of which worker is actually handling the request.

Tasks

  • Core service implementation

    • Create a tonic service that:
      • Maintains shared state of worker availability.
      • Queues requests and assigns them to free workers.
      • Exposes the same API (ProverApi) as the workers.
  • Status endpoint

    • Add an endpoint to expose the overall service status.
  • Rate limiting

    • Add configurable rate limiting to protect the workers from overload.
  • Health checks

    • Implement worker health checks to automatically detect and exclude unhealthy workers.
  • Worker management

    • Add functionality to dynamically add or remove workers.
  • Metrics, logging, and tracing

    • Integrate metrics collection, structured logs, and tracing for observability.
  • Self-reflection

    • Add an endpoint for self-reflection / introspection (e.g., list workers, queue length, recent activity).

Metadata

Metadata

Labels

delegated provingRelated to the delegated provingon holdThis issue is blocked or we don't want to start it yet

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions