fix(hindsight): tenant_users собирается шаблоном из api_key_<имя> #62
Loading…
Reference in a new issue
No description provided.
Delete branch "refs/pull/62/head"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Зачем срочно
В Vault ключи людей разнесены на отдельные свойства
api_key_<имя>, а свойствоtenant_usersудалено.ExternalSecret/hindsightвсё ещё ссылался на него (remoteRef.property: tenant_users), поэтому на ближайшем обновлении (refreshInterval 1h) он ушёл бы в ошибку синхронизации иhindsight-secretперестал бы обновляться (текущее значение в Secret живёт до ошибки, поэтому API пока работает — окно до ~13:50 UTC).Что в правке
HINDSIGHT_API_TENANT_USERSтеперь собирается шаблоном ESO (engineVersion: v2) из свойствapi_key_*:Две вещи, которые тут принципиальны:
sortAlphaобязателен. Порядок обхода карты в Go случаен — без сортировки содержимое Secret менялось бы при каждом refresh (раз в час), иreloaderперезапускал бы поды каждый час. Сортированные байты стабильны.mergePolicyпо умолчаниюReplace— в Secret попадает ровно вывод шаблона, поэтому остальные ключи (postgres-password,HINDSIGHT_API_LLM_API_KEY) перечислены в шаблоне явно.Добавить человека теперь = добавить свойство
api_key_<имя>в Vault и одну строку вdata.Проверено
flate test all— 77 passed, exit 0; в рендере видныapi_key_grachevkoи сам шаблон.Проверка после мёржа
kubectl -n ai get externalsecret hindsight→SecretSynced.HINDSIGHT_API_TENANT_USERS— три пары видаимя:ключ(значения не печатаем:kubectl -n ai get secret hindsight-secret -o jsonpath='{.data.HINDSIGHT_API_TENANT_USERS}' | base64 -d | tr ',' '\n' | cut -d: -f1→ три имени).