~ / посты / 03-client-keys-without-a-database

03. Ключи для клиентов без базы данных_

Захотел выдавать разным клиентам разные ключи к шлюзу: чтобы видеть, кто сколько потратил, и отзывать доступ по одному, а не всем сразу.

Штатный способ у LiteLLM — поднять под это Postgres. База ради ключей на одном ноутбуке выглядела перебором, поэтому пошёл через собственную функцию проверки.

Споткнулся на неочевидном: в закреплённой версии эта функция заменяет встроенную проверку целиком. Отката на мастер-ключ внутри нет. То есть если написать её наивно — «проверяю свои ключи, остальное отдаю шлюзу», — мастер-ключ перестанет работать, а административные ручки отвалятся. Узнал это не из документации, а из исходников тега.

Решение: своя функция сверяет и клиентские ключи, и мастер-ключ, читая его прямо из окружения.

Цена: я привязан к поведению конкретной версии шлюза, и при обновлении это первое, что надо перепроверять.

$ echo "читать серию"

← Все посты