Корпоративный Homebrew tap для установки и обновления CLI-инструментов H3.
Tap: h3llo/tools · Git URL: https://brew.h3llo.dev/h3tools.git
В браузере: https://brew.h3llo.dev — список пакетов по ОС; полный текст этого README — страница /about.
1. Подключить tap (один раз на машине; macOS или Linux с Homebrew):
brew tap h3llo/tools https://brew.h3llo.dev/h3tools.git
2. Установить нужный инструмент:
brew install h3dev
3. Проверить:
h3dev version
Сборки под Windows (архивы .zip) доступны как прямые загрузки с https://brew.h3llo.dev/packages/; для Windows предполагается ручное скачивание и распаковка, установка через Homebrew здесь не описывается.
Для каждого CLI доступны две «линии»:
vX.Y.Z в репозитории инструмента (то, что обычно считают релизом).main — последняя успешная сборка с ветки разработки, до выхода релиза по тегу. В Homebrew это отдельные формулы с суффиксом -latest и отдельная команда в PATH (например, h3dev-latest). Rolling-формулы публикуются с монотонной версией, поэтому для них основной сценарий обновления тоже brew upgrade, без reinstall.Обе можно поставить рядом — имена команд не пересекаются.
| CLI | Назначение | Стабильная | Свежая с main |
|-----|------------|------------|-----------------|
| h3dev | Доступ разработчиков к кластерам, DevX (TUI), OIDC/kubeconfig | brew install h3dev → h3dev | brew install h3dev-latest → h3dev-latest |
| h3sec | Безопасность и мониторинг (TUI) | brew install h3sec → h3sec | brew install h3sec-latest → h3sec-latest |
| h3ops | Ежедневные операции с кластерами и приложениями (Cobra) | brew install h3ops → h3ops | brew install h3ops-latest → h3ops-latest |
Краткие описания инструментов на веб-странице tap — в поле description файла tools-catalog.yaml.
brew update && brew upgrade
Обновляет список формул из tap и устанавливает новые версии всех инструментов. Это основной сценарий как для стабильных формул, так и для *-latest.
Важно: Homebrew не обязан выполнять brew update перед каждым brew upgrade. По умолчанию автообновление tap происходит не чаще одного раза в 24 часа (HOMEBREW_AUTO_UPDATE_SECS=86400), поэтому релиз или обновлённая rolling-формула моложе 24 часов могут не подтянуться обычным brew upgrade.
Если нужен доступ к версии, опубликованной меньше 24 часов назад, используйте один из вариантов:
brew update && brew upgrade
или
HOMEBREW_AUTO_UPDATE_SECS=1 brew upgrade h3dev h3dev-latest h3sec h3sec-latest h3ops h3ops-latest
Если нужно обновить только конкретные формулы:
brew upgrade h3dev h3dev-latest h3sec h3sec-latest h3ops h3ops-latest
Для разработчика это целевое поведение:
brew upgrade h3dev подтягивает последний стабильный релиз по semver-тегу vX.Y.Zbrew upgrade h3dev-latest подтягивает последнюю успешную сборку из mainHelm chart поддерживает опциональный CronJob, который запускает встроенную команду из того же image и проверяет registry:
autoUpdate.policy=latest — следит за digest у одного тега (по умолчанию latest) и делает rollout restart через patch аннотации в Deployment;autoUpdate.policy=semver — выбирает максимальный тег по маске autoUpdate.image.semverMask и патчит containers[].image на найденный тег.Права отделены от основного workload: CronJob использует собственный ServiceAccount и Role только на get/patch целевого Deployment.
Отключить tap (формулы исчезнут из brew search; установленные инструменты останутся):
brew untap h3llo/tools
Переподключить — если tap «завис» или нужно сбросить локальный клон:
brew untap h3llo/tools
brew tap h3llo/tools https://brew.h3llo.dev/h3tools.git
503 при brew tap — сервер tap недоступен или нет живого пода в кластере.
Проверьте деплой и маршрутизацию: kubectl get pods -n brew.
URL заканчивается на .git без слэша — это обязательно. Git иногда дописывает / в сообщениях об ошибках — в команды не добавляйте.
docs/)В каталоге docs/ лежит полный набор актуальных документов по проекту (ниже — все файлы):
| Документ | Содержание |
|----------|------------|
| docs/overview.md | Карта репозитория и потоков данных |
| docs/development.md | Разработка: CI, скрипты, каталог, типичные ошибки |
| docs/auto-update.md | Автообновление image через CronJob, режимы latest и semver |
| docs/brew-supply-chain.md | Цепочка CI/CD, триггеры, образ и деплой в кластер |
| docs/corporate-homebrew-repository.md | Идея корпоративного Homebrew tap |
| docs/release-cycle-checklist.md | Чеклист: стабильные релизы и свежие сборки с main |
Дополнительно: tools-catalog.yaml. Формулы Formula/*.rb не хранятся в git и генерируются в CI.