Агент. Совместимость версий
Нет необходимости запускать идентичные версии StarVault Agent и StarVault Server. Безопасно запускать разные версии, однако вы не сможете воспользоваться всеми новейшими функциями StarVault, если не обновитесь до последних версий Agent и Server. Мы понимаем, что это не всегда возможно, поэтому мы поддерживаем несоответствие версий как можно лучше.
Agent будет записывать примечание в свои журналы, когда он обнаруживает несоответствие между Agent и Server. Это чисто информативно, предназначено для помощи в отладке в случае, если несоответствие приводит к проблемам, например, потому что более новая версия Agent пытается использовать функциональность, которая отсутствует в версии Server, с которой он общается. Если Agent ведет себя приемлемо, сообщение может быть проигнорировано.
В этом документе описаны распространенные случаи. Могут быть случайные исключения, которые, если они намеренные, будут указаны в CHANGELOG в разделе CHANGES. Если они непреднамеренные/недокументированные, их следует рассматривать как ошибки и сообщать о них.
1. Версия агента старше версии сервера
Мы не ожидаем никаких проблем, возникающих из-за продолжения работы старой версии Agent после обновления серверных узлов до более поздней версии. Существующие развертывания с использованием Agent не должны быть затронуты, поскольку мы обычно не вносим обратно-несовместимые изменения в StarVault Server.
Автоматическая авторизация:
-
новые методы аутентификации, которые были введены после создания Agent, будут недоступны
-
существующие методы аутентификации должны продолжать нормально функционировать
Прокси:
-
Поскольку Агент просто отражает входящие запросы, даже если входящий запрос использует конечную точку, которая не существовала на момент компиляции этой версии Агента, это не помешает Агенту проксировать запрос.
Шаблонизация:
-
Функции языка шаблонов, взаимодействующие с сервером StarVault, используют стабильные API StarVault для извлечения и обновления секретов.
-
Даже если в новых выпусках StarVault будут введены новые типы секретных движков, они не должны требовать обновления агента для доступа через шаблоны.
2. Более новая версия агента, чем сервер
Возможно, что Агент может зависеть от функций, которых нет в старых версиях Сервера.
Автоматическая аутентификация:
-
Агент может заявлять о поддержке новых методов аутентификации, которые были введены с момента создания Сервера, но они не будут работать, поскольку Сервер их не поддерживает
-
Агент может использовать новые функции для существующих методов аутентификации, которые недоступны в старом Сервере, который вы используете
-
Обычно мы стараемся сделать такое изменение добровольным или постепенно снижать его при подключении к старому экземпляру Сервера, если только нет очень веской причины (например, исправления серьезной уязвимости безопасности)
-
Прокси:
-
поскольку Агент просто отражает входящие запросы, маловероятно, что несовместимости возникнут при проксировании, но новые функции могут быть недоступны
-
пример: когда в Агент была добавлена поддержка согласованности, контролируемой клиентом, он начал искать заголовки X-Vault-Index в ответах и начал предоставлять заголовки X-Vault-Index в проксированных запросах. Более старые серверы StarVault, которые не используют эти заголовки, будут игнорировать новый заголовок запроса и также не будут их выдавать. Поведение прокси-агента останется неизменным, не сможет воспользоваться преимуществами новой функциональности, но и не будет ограничено в своем предыдущем поведении.
Шаблонизация:
-
мы не ожидаем сценария, в котором изменения в шаблонизации агента приведут к несовместимости со старыми серверами StarVault, хотя, конечно, с любой версией агента можно писать шаблоны, которые выдают запросы, использующие функциональность, еще не представленную на вышестоящем сервере хранилища, например, {{ with secret "secret/my-secret?some-new-option" }}
-
мы не будем намеренно вносить изменения в шаблонизацию, которые нарушат существующие развертывания