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

·Naasson Apps

Три статуса в каталоге приложений

Проверено, кандидат, отключено. Третий статус — самый полезный: он говорит, чего нельзя поставить этой сборкой, и почему.

В каталоге приложений у каждой позиции есть один из трёх статусов, и это не украшение списка.

Проверено — ставится без дополнительных флагов. Прошло сертификацию, версия чарта закреплена, архив вложен в сборку.

Кандидат — описание импортировано, приложение ещё не сертифицировано. Установка требует явного флага, разрешающего непроверенное. То есть поставить можно, но не случайно.

Отключено — этой сборкой поставить нельзя. Как правило, потому что версия чарта не закреплена или архив чарта не вложен.

Почему третий статус важнее первых двух

Список из «проверено» и «кандидат» — это список того, что мы умеем. Список «отключено» — это список того, чего мы не умеем, и он полезнее.

Инженер, который выбирает платформу, планирует не по успехам, а по границам. Приложение, которого нет в каталоге вообще, — неизвестность: может, забыли, может, не поддерживается. Приложение со статусом «отключено» — определённость с указанной причиной.

Строгое правило про вложенный чарт

Приложение не устанавливается, если в каталоге нет вложенного архива чарта. Без исключений.

Это защищает от скрытой зависимости во время установки. Чарт, который тянется из внешнего репозитория в момент развёртывания, означает, что установка зависит от доступности чужого сервера и от того, что содержимое по тому же адресу не изменилось.

Оба предположения нарушаются. Внешний репозиторий уезжает, тег переписывается, чарт получает новую зависимость. Обнаруживается это при следующей установке — обычно когда надо быстро.

Вложенный архив делает установку воспроизводимой: тот же бинарник даёт то же приложение через год.

Что лежит в бинарнике

Индекс приложений со статусами и метаданными об аутентификации, публикации и зависимостях. Исходные описания приложений. Извлечённые значения Helm. И сами архивы чартов для тех приложений, которые можно ставить без внешнего репозитория.

То есть каталог — не ссылка на каталог, а каталог. Это увеличивает размер файла и делает установку не зависящей от сети до третьих лиц.

Как это выглядит в работе

Список доступного смотрится одной командой. Пробный прогон установки — флагом, который ничего не меняет. Установка — командой с именем приложения и указанием папки проекта.

Флаг для непроверенного приходится набирать руками. Это трение намеренное: разница между «поставил из каталога» и «поставил кандидата» должна оставаться видимой в истории команд и в обсуждении.

Что означает «сертифицировано»

Что приложение поставили, оно поднялось, к нему получилось обратиться, и его конфигурация в каталоге соответствует тому, что реально нужно для работы.

Это скучная проверка, и она не гарантирует, что приложение подойдёт вашей задаче. Она гарантирует другое: если оно не поднялось, дело не в каталоге.