有没有办法在ansiblerequirements.yaml中指定角色路径?

问题描述 投票:0回答:1

我正在使用以下命令安装 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 ansible-role
1个回答
0
投票

使用 ansible-galaxy 安装模块实际上是一种 hack,因为分发 ansible 模块的“正确方法”是使用集合。因此,如果您的模块不是集合的一部分 - 运气不好,您无法在需求文件中指定角色路径,只能在 ansible.cfg 中指定。

您可以维护一个单独的需求文件,并使用问题中的 ansible-galaxy 命令使用正确的参数调用它,并将其记录为自述文件中的需求。

此外,community.general 集合中有一个 bitwarden 查找,也许它可以适合您的用例,并且您不需要单独的模块。

解决任务的另一种方法是使用执行环境创建安装了查找的 EE,但我不确定它是否适合 bitwarden 用例。

© www.soinside.com 2019 - 2024. All rights reserved.