← Назад

H3 Homebrew Tap

Корпоративный 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 доступны две «линии»:

Обе можно поставить рядом — имена команд не пересекаются.

| CLI | Назначение | Стабильная | Свежая с main | |-----|------------|------------|-----------------| | h3dev | Доступ разработчиков к кластерам, DevX (TUI), OIDC/kubeconfig | brew install h3devh3dev | brew install h3dev-latesth3dev-latest | | h3sec | Безопасность и мониторинг (TUI) | brew install h3sech3sec | brew install h3sec-latesth3sec-latest | | h3ops | Ежедневные операции с кластерами и приложениями (Cobra) | brew install h3opsh3ops | brew install h3ops-latesth3ops-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

Для разработчика это целевое поведение:

Автообновление server image в Kubernetes

Helm chart поддерживает опциональный CronJob, который запускает встроенную команду из того же image и проверяет registry:

Права отделены от основного workload: CronJob использует собственный ServiceAccount и Role только на get/patch целевого Deployment.


Управление tap

Отключить 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.