How to change a tenant's fairshare weight live via the Management API or dashboard, and how quickly the change propagates.
Priority boosts are one of obleth's headline features: you can change a tenant's weight at runtime and it takes effect on the next admission decision, without restarting obleth or reloading any config.
Under the weighted fairshare algorithm, the scheduler divides capacity proportionally to tenant weights. A tenant with weight=500 gets roughly 10× the throughput of one with weight=50 under saturation. Weight does not affect:
tokens_per_minutemax_in_flight# Double the weight from 100 to 200
curl -X PATCH http://localhost:9090/api/v1/tenants/$TID/weight \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"weight": 200}'
The response is the updated tenant object. The change:
tenants.weight) and logged to audit_log.ResolvedKey JSON is updated).obleth:invalidate to evict the key from every pod's moka cache.Effective latency: the change is live within milliseconds of the API call returning.
Navigate to Tenants → select a tenant → click the weight field → enter the new value → save.
The dashboard calls PATCH /api/v1/tenants/{id}/weight under the hood.
Your production chatbot is being saturated by a batch analytics job that someone started at peak time:
# Find the batch tenant
curl http://localhost:9090/api/v1/tenants -H "Authorization: Bearer $TOKEN" | jq '.[] | select(.name == "batch-analytics") | .id'
# Find the chatbot tenant
CHATBOT_ID=...
BATCH_ID=...
# Boost chatbot to 10x the batch job
curl -X PATCH http://localhost:9090/api/v1/tenants/$CHATBOT_ID/weight \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"weight": 1000}'
# Throttle the batch job
curl -X PATCH http://localhost:9090/api/v1/tenants/$BATCH_ID/weight \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"weight": 10}'
The scheduler picks this up on the next admission decision. No restart, no config file, no deployment.
curl -X PATCH http://localhost:9090/api/v1/tenants/$CHATBOT_ID/weight \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"weight": 200}'
curl -X PATCH http://localhost:9090/api/v1/tenants/$BATCH_ID/weight \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"weight": 50}'
Every weight change is recorded in audit_log:
curl http://localhost:9090/api/v1/audit \
-H "Authorization: Bearer $TOKEN" | jq '.[] | select(.action == "update_weight")'
Each entry includes the actor (admin token identifier), the tenant ID, the old weight, and the new weight with a timestamp.
Under OBLETH_FAIRSHARE_ALGORITHM=hierarchical, you can also adjust group weights:
# Boost the entire prod group
curl -X PATCH http://localhost:9090/api/v1/fairshare/groups/prod/weight \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"weight": 1000}'
This changes how much of the global capacity pool the prod group receives, affecting all tenants in that group simultaneously.