Harold - сервис бранчей для кластера stage k8s R1
Harold - это система управления DEV окружениями для тестовых кластеров k8s. Она позволяет разворачивать сервисы из ветки в любимой SCM, а зависимости подключать из заранее указанного стабильного (stage) namespace'а посредством добавления в deployment'ы DEV namespace'а собственного контролируемого DNS сервера.
Поставляется в Docker контейнерах и развёртывается посредством helm chart'а, находящегося в директории helm/harold
. values.yaml
у чарта более-менее стандартный и видится достаточно очевидным для описания всех полей. Детали можно найти в комментариях к самому файлу.
GET /branches
Возвращает список (list) созданных окружений
POST /branches
Принимает JSON структуру {'name': 'имя ветки'}
для создания неймспейса с таким именем. Если такой неймспейс существует, просто обновляет ему значение last_change_timestamp
на now()
.
DELETE /branches
Принимает JSON структуру {'name': 'имя ветки'}
, обозначая удаление неймспейса.
Не имеет API. Отвечает на DNS запросы. Для своей работы требует добавления структуры, показанной ниже в deployment перед его созданием.
spec:
dnsPolicy: "ClusterFirst"
dnsConfig:
nameservers:
- 10.43.92.229 #IP адрес сервиса, стоящего перед pod'ами watchman
options:
- name: rotate
За помощью с сервисом можно обращаться на почту [email protected]
- Тесты
- Аутентификация
Проект открыт для доработок. Все желающие приглашаются присоединиться.