SmolPush is a lightweight, async push delivery microservice built with Phoenix and PostgreSQL. It exposes a single POST /v1/pushes endpoint that enqueues push jobs and returns 202 Accepted immediately. Delivery is handled by Oban (OSS) with separate queues per vendor (APNS, FCM, Web Push), each limited to three concurrent workers.
Each vendor has an adjustable token-bucket rate limiter implemented with ETS for low overhead and minimal VM reductions. Pushes are dispatched over HTTP/2 using Finch, with three persistent connections per vendor to balance throughput and resource usage.
Rate limiting is enforced through behavior-driven tests using a dedicated test adapter. The adapter counts outbound push attempts and reports them back to the test process. When a configured quota is exceeded, the test must fail by timeout: the adapter should never receive more pushes than the allowed limit within the defined window.
SmolPush emits Telemetry events focused on HTTP/2 connection state. Because the service uses persistent HTTP/2 connections exclusively, it exposes metrics for active connections per vendor (APNS, FCM, Web Push), allowing operators to verify that exactly three pools per vendor are established and healthy.