Implement Redis Repository layer for App Proxy
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 17h 7m
- Merged PRs (30d)
- 358
Description
## Goal
Replace SQLAlchemy models with Redis Repository pattern
## Work Items
- Implement `WorkerRepository` (CRUD + heartbeat)
- Implement `CircuitRepository` (read-only, Manager pushes data)
- Implement `TokenRepository` (CRUD + TTL)
- Preserve Traefik configuration generation logic from existing models
## New Files to Create
```
src/ai/backend/appproxy/coordinator/
├── repositories/
│ ├── __init__.py
│ ├── base.py
│ ├── worker.py
│ ├── circuit.py
│ └── token.py
├── domain/
│ ├── __init__.py
│ ├── worker.py # dataclass from existing model
│ ├── circuit.py # dataclass + Traefik methods
│ └── token.py # dataclass
```
## Reference Files
- `src/ai/backend/appproxy/coordinator/models/worker.py` - Worker model
- `src/ai/backend/appproxy/coordinator/models/circuit.py` - Circuit model, Traefik logic
- `src/ai/backend/common/clients/valkey_client/valkey_schedule/client.py` - Redis patterns
JIRA Issue: BA-3223
Contributor guide
Assessment
This issue has not been assessed yet.