разные АПИ использует клиентские сертификаты, ключи шифрования, которых может быть достаточно много, но обновляются не часто
Сертификаты могут быть примерно в таком виде:
/cli-crt
/cli-crt/api1/cert.pem
/cli-crt/api2/cert.pem
/cli-crt/api3/cert1/cert.pem
/cli-crt/api3/cert2/cert.pem
/cli-crt/api3/cert3/cert.pem
Подскажите, пожалуйста, как правильнее хранить эти сертификаты?
Нашел варианты:
1) использовать werf или helm-secrets. Указать сертификаты как секреты в values зашифрованные и в CI указать ключ для расшифровки
2) использовать vault и запрашивать сертификат у волта на каждый запрос в АПИ, но тут 2 проблемы:
1) лишняя нагрузка на vault
2) Приложение работает в 2-ух окружениях. Во втором нет кубера и директория с сертификатами маунтится с хоста, из-за чего в приложении уже заложено ходить именно к файлам и с волтом тут получится костыль
3) использовать vault и получать сертификаты во время CI, но тут придется каждый секрет получить отдельно и потом еще все они пойдут через аргументы
4) упаковать директорию с сертификатами в архив, положить в виде base64 в vault, использовать initContainer, который заберет из волта архив, распакует и отдаст приложению сразу все сертификаты
Полноценный волт надо использовать, кучу проблем в будущем решите зато. Хранить в base64 не есть секурнно можно украсть на этапе раскодирования серты
Вольт
Обсуждают сегодня