这个 ansible-vault 格式是什么意思?

What does this ansible-vault format mean?

我正在对一名已离开公司的开发人员进行逆向工程和重构 ansible 代码。在我们的 ansible-vault 文件中,我很想知道以下各项的含义以及它们如何将 function/value 添加到 yaml——我在搜索中找不到任何文档: "base: &base" “<<:*基础”

这是我清理过的保险库 yaml

---
secrets:
  zk:
    password: sdsfl34hgf
  admin:
    password: ldfk43277k
credentials:
  base: &base
    host: "{{ansible_host}}"
    timeout: 30
    transport: cli
  svc_rhelsystemro:
    <<: *base
    username: svc_rhelsystemro
    password: sdsfl34hgf
  svc_rhelsystemrw:
    <<: *base
    username: svc_rhelsystemrw
    password: ldfk43277k
  svc_Network_Automation:
    username: svc_Network_Automation
    password: slk32sd@#$%h

希望你现在能够找到你的答案,但我会post在这里为任何其他寻找相同信息的人提供答案。

您看到的是 YAML 锚:https://docs.ansible.com/ansible/latest/user_guide/playbooks_advanced_syntax.html#yaml-anchors-and-aliases-sharing-variable-values

我个人没有使用过这个功能,但它本质上允许您为复杂的结构定义别名。在您的示例中,base.hostbase.timeoutbase.transport 都可以使用 *base 别名同时引用。