docs(devops): document valkey-backed extraction throttling
This commit is contained in:
parent
81951b173a
commit
2cf557a2c8
@ -9,6 +9,15 @@
|
|||||||
|
|
||||||
The Azure VM deployment is **partially successful**.
|
The Azure VM deployment is **partially successful**.
|
||||||
|
|
||||||
|
### 2026-03-31 follow-up
|
||||||
|
|
||||||
|
The VM moved forward after the original snapshot:
|
||||||
|
|
||||||
|
- `prometheus`, `node-exporter`, `cadvisor`, and `valkey` are now running
|
||||||
|
- `admin-web` and `tracker-web` are healthy again
|
||||||
|
- `extraction-service` product rate limiting now uses Valkey-backed shared counters
|
||||||
|
- live verification confirmed a request for `productId=valkey-check-2` created the key `extraction:product-rate-limit:29582406:valkey-check-2` in Valkey with value `1`
|
||||||
|
|
||||||
### What is working
|
### What is working
|
||||||
|
|
||||||
- all platform and product **backend services** are running and healthy
|
- all platform and product **backend services** are running and healthy
|
||||||
|
|||||||
@ -177,6 +177,27 @@ Notes:
|
|||||||
- these services are intended to stay internal-only on the VM
|
- these services are intended to stay internal-only on the VM
|
||||||
- `prometheus` is provisioned for Grafana automatically through the Grafana datasource directory
|
- `prometheus` is provisioned for Grafana automatically through the Grafana datasource directory
|
||||||
- neither `prometheus` nor `valkey` needs a raw public port exposure for normal operation
|
- neither `prometheus` nor `valkey` needs a raw public port exposure for normal operation
|
||||||
|
- `extraction-service` now uses Valkey for shared per-product rate limiting when `PRODUCT_RATE_LIMIT_STORE=valkey`
|
||||||
|
- `extraction-service` falls back to its in-memory limiter only if Valkey is unavailable at runtime
|
||||||
|
|
||||||
|
### Shared limiter env
|
||||||
|
|
||||||
|
`extraction-service` can be pointed at Valkey explicitly:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
PRODUCT_RATE_LIMIT_STORE=valkey
|
||||||
|
VALKEY_URL=redis://valkey:6379
|
||||||
|
```
|
||||||
|
|
||||||
|
Live verification on the VM:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker exec learning_ai_common_plat-extraction-service-1 \
|
||||||
|
wget -qO- 'http://127.0.0.1:4005/api/extract/rate-limits/product?productId=<product-id>'
|
||||||
|
|
||||||
|
docker exec learning_ai_common_plat-valkey-1 \
|
||||||
|
valkey-cli KEYS 'extraction:product-rate-limit:*'
|
||||||
|
```
|
||||||
|
|
||||||
## Environment Variables
|
## Environment Variables
|
||||||
|
|
||||||
@ -189,6 +210,8 @@ All optional — defaults work for most setups:
|
|||||||
| `GITEA_ADMIN` | `bytelyst-admin` | Gitea admin username |
|
| `GITEA_ADMIN` | `bytelyst-admin` | Gitea admin username |
|
||||||
| `GITEA_PASS` | `ByteLyst2026!` | Gitea admin password |
|
| `GITEA_PASS` | `ByteLyst2026!` | Gitea admin password |
|
||||||
| `OLLAMA_MODEL` | `llama3.2:3b` | Default LLM model to pull |
|
| `OLLAMA_MODEL` | `llama3.2:3b` | Default LLM model to pull |
|
||||||
|
| `PRODUCT_RATE_LIMIT_STORE` | `valkey` in compose | Shared product throttling backend for `extraction-service` |
|
||||||
|
| `VALKEY_URL` | `redis://valkey:6379` | Internal Valkey connection string for shared counters |
|
||||||
| `SKIP_CLONE` | `0` | Set `1` to skip cloning (re-runs) |
|
| `SKIP_CLONE` | `0` | Set `1` to skip cloning (re-runs) |
|
||||||
| `SKIP_BUILD` | `0` | Set `1` to skip package build+publish (re-runs) |
|
| `SKIP_BUILD` | `0` | Set `1` to skip package build+publish (re-runs) |
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user