我正在使用以下命令安装 ansible 插件
ansible-galaxy install -f -p /usr/share/ansible/plugins/lookup git+
https://github.com/kemcon/ansible-modules-bitwarden
我想将其添加到我的requirements.yml中,但我不知道如何仅为该插件指定roles_path参数。
我检查的第一个地方是galaxy用户指南,但是虽然它指定了如何在单个插件的命令行安装上设置它,但它没有提到如何使用requirements.yml来实现这一点。
我也尝试过像这样在requirements.yml中简单地指定一个路径,路径参数名称有不同的变体:
roles:
- src: https://github.com/kemcon/ansible-modules-bitwarden
roles_path: /usr/share/ansible/plugins/lookup
但无济于事,插件总是安装在与其他角色相同的位置。我知道我可以指定
ANSIBLE_ROLES_PATH
作为环境变量,但这会影响所有角色,而不仅仅是这个角色。
使用 ansible-galaxy 安装模块实际上是一种 hack,因为分发 ansible 模块的“正确方法”是使用集合。因此,如果您的模块不是集合的一部分 - 运气不好,您无法在需求文件中指定角色路径,只能在 ansible.cfg 中指定。
您可以维护一个单独的需求文件,并使用问题中的 ansible-galaxy 命令使用正确的参数调用它,并将其记录为自述文件中的需求。
此外,community.general 集合中有一个 bitwarden 查找,也许它可以适合您的用例,并且您不需要单独的模块。
解决任务的另一种方法是使用执行环境创建安装了查找的 EE,但我不确定它是否适合 bitwarden 用例。