trdl — Open Source-решение, которое обеспечивает безопасный канал доставки обновлений от Git-репозитория до хоста пользователя.
Команда проекта выпускает новые версии ПО и переключает их в каналах обновлений. Git используется как единственный источник правды, Vault — как инструмент верификации операций, наполнения и сопровождения TUF-хранилища.
Пользователь выбирает канал обновлений, использует и непрерывно получает актуальную версию ПО из TUF-хранилища.
Непрерывная доставка хорошо работает с SaaS-продуктами, но трудно найти инструмент, который так же удобно доставлял бы обновления ПО на хосты.
Почему это сложно:
Есть множество пакетных менеджеров, но у всех типичные недостатки:
Релиз новых версий ПО.
Публикация каналов обновлений.
Верификация всех операций с помощью кворума GPG-подписей.
Непрерывная ротация ключей шифрования и метаданных TUF-репозитория.
Обновление версий ПО через выбранные каналы.
Верификация обновлений из доверенного TUF-репозитория.
Различные варианты использования и обновления ПО.
Пользователю не нужно думать о конкретных версиях. Вместо этого он выбирает канал обновления с необходимым уровнем совместимости и стабильности. Через эти каналы разработчики распространяют новые версии ПО так часто, как им требуется.
В trdl реализован механизм верификации «M of N»: каждый коммит в Git, связанный с релизом или публикацией каналов, должен быть подписан минимальным количеством доверенных GPG-ключей.
В основе системы безопасности trdl три элемента: TUF-репозиторий, плагин Vault и Git.
Подробнее о функциях каждого элемента — в разделе «Безопасность».