Всем привет! Хочу скрестить ужа с ежом, но не могу понять

как лучше реализовать. Подскажите, пожалуйста.

У меня есть кастомный оператор для бандлов werf. Он худо-бедно свою задачу выполняет, делает это со всем необходимым функционалом, но я столкнулся с тем, что неудобно отслеживать процесс выкатки через консоль.
Хотел переехать на ArgoCD, но там нет поддержки обновлений по имени ветки (т.е. не подхватывает обновление релиза, если у него имя не semver). Помимо этого там используется его кастомный роллер, а не верфовский.

Так вот я задумал с помощью argocd выкатывать оператора, кастомные ресурсы для него, а на основе этих ресурсов уже видеть полную картину развёртывания бандла и его сущностей.

Но не могу взять в толк как это сделать так, чтобы argocd из одного кастомного ресурса развернулась картина всего бандла? Может кто подскажет?

6 ответов

34 просмотра

Честно говоря, не понял, что вы тут хотите: "чтобы argocd из одного кастомного ресурса развернулась картина всего бандла". Ваши CR-ки наверное спавнят поды, в которых werf bundle apply выполняется? И вы хотите, чтобы argocd как-то нашел эти поды, и отобразил их логи?

Ilya Lesikov L.
Честно говоря, не понял, что вы тут хотите: "чтобы...

По сути да. Сейчас просто приходится вызывать werf patch и цикл for после развертывания. Было бы клёво иметь аргумент, по типу как add-label, чтобы добавлять resources owner всем объектам при рендере ещё.

Ilya Lesikov L.
Честно говоря, не понял, что вы тут хотите: "чтобы...

CR спавнит Job, которые делает werf bundle apply. А получившиеся объекты в argocd появятся только после деплоя.

სერგეი ქრისტოვი
По сути да. Сейчас просто приходится вызывать werf...

В планах есть сделать патчинг (после стадии рендеринга), но это надо ещё добраться

სერგეი ქრისტოვი
CR спавнит Job, которые делает werf bundle apply. ...

Скорее всего, логика нахождения дочерних ресурсов (в нашем случае CR > Job > Pod) реализована в ядре арго, т. е. придется форкать его, чтобы научить находить argo все связи. Хотя можете побегать по их доке/issues, может можно как-то расширить

Ilya Lesikov L.
Скорее всего, логика нахождения дочерних ресурсов ...

Т.е. не надо ничего патчить в арго, просто аргумент нужен в werf bundle apply и werf convege, чтобы мочь задать всем созданным в рендере элементам ownerReferences.

Похожие вопросы

Обсуждают сегодня

Всем привет. Понимаю, что, наверное, сто раз поднимали эту тему, но по ключевым словам не смог найти. Как передать в values.yaml зависимого хелм-чарта теги образов, собираемых...
Vitalik Petrov
4
Всем привет. Werf v2.10.5 При удалении релиза вместе с неймспейсом (werf dismiss --namespace namespace_name) Сыпятся ошибки ┌ Waiting for resources elimination: namespaces/rel...
Vitalik Petrov
1
@aigrychev, @ilya_lesikov добрый день! а поддерживает ли werf helm xxxx или werf bundle xxxx работу с сабчартами через http-прокси? (сработает ли использование HTTP_PROXY/HTTP...
Сергей Голод
4
Добрый день! Удалил все файлы с переменными из проекта, получил Error: release deploy: process resources: error validating adoptable resources: adoption validation failed: re...
Evgheni Mad
2
Привет! Вопрос про werf helm Приложение деплоится через werf helm upgrade --atomic Иногда(все условия для воспроизведения до конца непонятны, но есть версия, что это происходи...
𝓐𝓵͢͢͢𝓮𝔁 C
2
Всем привет. Сегодня добавили в приложение дополнительный образ nginx, в который докидывается системная статика прям в образ. При деплое бандлами деплоилось 200+ джоб(клиентов...
Владимир Муковоз
6
Добрый день, после перехода с версии 1.2 на 2.10 werf cleanup начал удалять использующиеся теги, и до и после обновления использовались дефолтные политики keepPolicies Подскаж...
Дмитрий
29
Блин а мне как поумнеть ?
Toxin
191
Друзья, добрый день. Прошу подсказать с базовым вопросом по использованию CI переменных gitlab в werf.yaml. Хочу в beforeInstall использовать env переменную с токеном. Мне нуж...
Anton Zol
10
Вопросик не совсем werf. Но вдруг мы подскажите воркэраунд или ещё что-нибудь. Могу ли я как-нибудь в моменте деплоя внутри heml рендера получить хэшсумму файла шаблона (./tem...
Alex Подрябинкин
11
Карта сайта