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.
11 lines
249 B
YAML
11 lines
249 B
YAML
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
kind: Kustomization
|
|
namespace: towerops
|
|
resources:
|
|
- namespace.yaml
|
|
- deployment.yaml
|
|
- service.yaml
|
|
- service-headless.yaml
|
|
- certificate.yaml
|
|
- ingressroute.yaml
|
|
- poddisruptionbudget.yaml
|