Фикс к уже влитому vault/mod.just: PR #6 влит до этого коммита, поэтому в main осталась версия с багом.
Симптом:just vault unseal всегда отправляет первый ключ и после одной доли пишет «всё ещё запечатан».
Причина:kubectl exec -i подключает stdin контейнера к stdin вызывающего процесса, а в рецепте stdin — это файл ключей (while IFS= read -r key …; done < "$keys_file"). Первый же вызов вытягивает остаток файла, цикл получает EOF и делает ровно одну итерацию.
Фикс: все вызовы kubectl exec в рецептах — без -i и с < /dev/null (доли передаются аргументом, stdin не нужен). Плюс комментарий в модуле, чтобы не вернули обратно.
Как проверено: локально на фейковом kubectl, который теперь, как настоящий, съедает stdin при -i (раньше не съедал — поэтому прошлые прогоны были зелёными и баг не поймали). На старом коде баг воспроизводится (одна доля доля-один-1111, exit 1), на новом — три разные доли, остановка на пороге, exit 0; повторный запуск — «уже распечатан»; just vault status работает отдельно; отсутствие файла/пода — внятные ошибки с exit 1.
Фикс к уже влитому `vault/mod.just`: PR #6 влит до этого коммита, поэтому в `main` осталась версия с багом.
**Симптом:** `just vault unseal` всегда отправляет первый ключ и после одной доли пишет «всё ещё запечатан».
**Причина:** `kubectl exec -i` подключает stdin контейнера к stdin вызывающего процесса, а в рецепте stdin — это файл ключей (`while IFS= read -r key …; done < "$keys_file"`). Первый же вызов вытягивает остаток файла, цикл получает EOF и делает ровно одну итерацию.
**Фикс:** все вызовы `kubectl exec` в рецептах — без `-i` и с `< /dev/null` (доли передаются аргументом, stdin не нужен). Плюс комментарий в модуле, чтобы не вернули обратно.
**Как проверено:** локально на фейковом `kubectl`, который теперь, как настоящий, съедает stdin при `-i` (раньше не съедал — поэтому прошлые прогоны были зелёными и баг не поймали). На старом коде баг воспроизводится (одна доля `доля-один-1111`, exit 1), на новом — три разные доли, остановка на пороге, exit 0; повторный запуск — «уже распечатан»; `just vault status` работает отдельно; отсутствие файла/пода — внятные ошибки с exit 1.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Фикс к уже влитому
vault/mod.just: PR #6 влит до этого коммита, поэтому вmainосталась версия с багом.Симптом:
just vault unsealвсегда отправляет первый ключ и после одной доли пишет «всё ещё запечатан».Причина:
kubectl exec -iподключает stdin контейнера к stdin вызывающего процесса, а в рецепте stdin — это файл ключей (while IFS= read -r key …; done < "$keys_file"). Первый же вызов вытягивает остаток файла, цикл получает EOF и делает ровно одну итерацию.Фикс: все вызовы
kubectl execв рецептах — без-iи с< /dev/null(доли передаются аргументом, stdin не нужен). Плюс комментарий в модуле, чтобы не вернули обратно.Как проверено: локально на фейковом
kubectl, который теперь, как настоящий, съедает stdin при-i(раньше не съедал — поэтому прошлые прогоны были зелёными и баг не поймали). На старом коде баг воспроизводится (одна долядоля-один-1111, exit 1), на новом — три разные доли, остановка на пороге, exit 0; повторный запуск — «уже распечатан»;just vault statusработает отдельно; отсутствие файла/пода — внятные ошибки с exit 1.