как лучше реализовать. Подскажите, пожалуйста.
У меня есть кастомный оператор для бандлов werf. Он худо-бедно свою задачу выполняет, делает это со всем необходимым функционалом, но я столкнулся с тем, что неудобно отслеживать процесс выкатки через консоль.
Хотел переехать на ArgoCD, но там нет поддержки обновлений по имени ветки (т.е. не подхватывает обновление релиза, если у него имя не semver). Помимо этого там используется его кастомный роллер, а не верфовский.
Так вот я задумал с помощью argocd выкатывать оператора, кастомные ресурсы для него, а на основе этих ресурсов уже видеть полную картину развёртывания бандла и его сущностей.
Но не могу взять в толк как это сделать так, чтобы argocd из одного кастомного ресурса развернулась картина всего бандла? Может кто подскажет?
Честно говоря, не понял, что вы тут хотите: "чтобы argocd из одного кастомного ресурса развернулась картина всего бандла". Ваши CR-ки наверное спавнят поды, в которых werf bundle apply выполняется? И вы хотите, чтобы argocd как-то нашел эти поды, и отобразил их логи?
По сути да. Сейчас просто приходится вызывать werf patch и цикл for после развертывания. Было бы клёво иметь аргумент, по типу как add-label, чтобы добавлять resources owner всем объектам при рендере ещё.
CR спавнит Job, которые делает werf bundle apply. А получившиеся объекты в argocd появятся только после деплоя.
В планах есть сделать патчинг (после стадии рендеринга), но это надо ещё добраться
Скорее всего, логика нахождения дочерних ресурсов (в нашем случае CR > Job > Pod) реализована в ядре арго, т. е. придется форкать его, чтобы научить находить argo все связи. Хотя можете побегать по их доке/issues, может можно как-то расширить
Т.е. не надо ничего патчить в арго, просто аргумент нужен в werf bundle apply и werf convege, чтобы мочь задать всем созданным в рендере элементам ownerReferences.
Обсуждают сегодня