Перейти к содержанию

Интеграция с HashiCorp Vault

SILO поддерживает HashiCorp Vault в качестве приоритетного источника секретов. Если Vault настроен, SILO будет пытаться получить секреты из него перед тем, как обращаться к локальному Keychain или файлу учетных данных.

Настройка

Для активации интеграции с Vault необходимо установить следующие переменные окружения:

  • VAULT_ADDR: URL вашего сервера Vault (например, https://vault.example.com:8200).
  • VAULT_TOKEN: Токен доступа к Vault.
  • VAULT_NAMESPACE (опционально): Пространство имен Vault (если используется Vault Enterprise).

Структура секретов

По умолчанию SILO ищет секреты в KV-движке (поддерживаются как V1, так и V2) по пути silo.

Пример структуры в Vault (KV V2):

{
  "data": {
    "OPENAI_API_KEY": "sk-...",
    "DATABASE_URL": "postgres://..."
  }
}

В коде скилла получение секрета остается прежним:

from silo import require_secret

api_key = require_secret("OPENAI_API_KEY")

SILO автоматически проверит Vault, и если секрет там найден, он будет использован.

Преимущества

  1. Централизация: Все секреты хранятся в одном безопасном месте.
  2. Динамическое управление: Изменения в Vault вступают в силу немедленно для новых запусков навыков.
  3. Безопасность: Секреты не сохраняются локально на диске, если они получены из Vault.