Replaces etcd-based distributed locking with Oban's PostgreSQL-backed job queue. This simplifies the architecture by eliminating the need for a separate etcd cluster while providing better reliability and observability. Changes: - Add Oban dependency and migration (oban_jobs table) - Create DevicePollerCoordinator and DeviceMonitorCoordinator Oban workers - Remove EtcdCoordinator and EtcdLock modules - Update application supervisor to start Oban - Configure Oban with pollers (50 workers) and monitors (50 workers) queues - Remove etcd StatefulSet from Kubernetes manifests - Update monitoring supervisor documentation Benefits: - Simpler architecture (no etcd cluster to manage) - PostgreSQL-based (uses existing database) - Built-in uniqueness prevents duplicate jobs cluster-wide - Better observability with Oban Web UI - Automatic job rescue on node crashes - Easier local development (no etcd required) What was removed: - etcd StatefulSet (3 pods) - EtcdCoordinator module (320 lines) - EtcdLock module (158 lines) - eetcd dependency All 3,686 tests passing. |
||
|---|---|---|
| .. | ||
| gettext | ||
| mibs | ||
| profiles | ||
| proto | ||
| repo | ||
| static | ||