плейбуке вызываются несколько ролей (какие-то с galaxy, какие-то из git)
                  
                  
                  Как эти роли добавить в dependencies коллекции чтобы при установке коллекции эти роли подтягивались тоже? Никто с таким не сталкивался?
                  
                  
                  
                  
                  
                  Коллекция устанавливается через ansible-galaxy install -r req.yml , в котором 
                  
                  
                  
                  
                  
                  collections:
                  
                  
                    - name: git+file:///..../ansible_collections/namespace/collection/.git   # для эксперимента так
                  
                  
                      type: git
                  
                  
                      version: master
                  
                  
                  
                  
                  
                  
                  
                  
                  В galaxy.yml коллекции пытаюсь написать:
                  
                  
                  ```
                  
                  
                  dependencies: {
                  
                  
                    'git+https://github.com/a-devops/ansible-filebeat.git': 'master'
                  
                  
                  }
                  
                  
                  ```
                  
                  
                  
                  
                  
                  При установке выдаёт:
                  
                  
                  
                  
                  
                  Your branch is up to date with 'origin/master'.
                  
                  
                  ERROR! Neither the collection requirement entry key 'name', nor 'source' point to a concrete resolvable collection artifact. Also 'name' is not an FQCN. A valid collection name must be in the format <namespace>.<collection>. Please make sure that the namespace and the collection name  contain characters from [a-zA-Z0-9_] only.
                  
                  
                  
                  
                  
                  Tip: Make sure you are pointing to the right subdirectory — `/Users/username/.ansible/tmp/ansible-local-88964jr90ypmk/tmp0pes__kt/ansible-filebeatsdb5txjo` looks like a directory but it is neither a collection, nor a namespace dir.
                  
                  
                
Это работает не так. Вернее, это так не работает. В, общем, ты понял. В dependencies пишется словарь: <FQCN1>: <version> <FQCN2>: <version> Не вижу в доках, чтобы там был допустим ssh-git-URL роли - коллекция умеет тянуть только коллекцию.
Вот судя по всему проблема именно в "коллекция умеет тянуть только коллекцию"
Не вижу проблемы, вижу непрочитанный раздел доки ;-)
Проблема как раз есть. В том, что нужного функционала нет и придется лепить костыли
Сценарий по доке - простой: находишь нормальную коллекцию, используешь её. Ну или (тоже варианты!) а) грустишь от расстройства и пилишь свою коллекцию б) лепишь какие-то лютые костыли, костеря на чём свет стоит несовершенство мира, в котором разработчики open-source продукта посмели не предусмотреть решения для твоих задач.
Ой всё) пойду вариант Б пилить) со всеми пунктами)
👍 Если не за тридевятым airgap'ом и тридесятым файрволом - приноси, посмотрим, что получилось.
Обсуждают сегодня