集合 Galaxy 元数据结构

Ansible 集合的一个关键组成部分是 galaxy.yml 文件,它放置在集合的根目录中。此文件包含用于生成集合工件的集合元数据。

结构

在有效的 YAML 中,galaxy.yml 文件必须包含以下键

注释

命名空间

字符串

/

必需

集合的命名空间。

这可以是公司/品牌/组织或产品命名空间,所有内容都位于该命名空间下。

只能包含字母数字小写字符和下划线。命名空间不能以下划线或数字开头,并且不能包含连续的下划线。

名称

字符串

/

必需

集合的名称。

namespace 具有相同的字符限制。

版本

字符串

/

必需

集合的版本。

必须与语义版本控制兼容。

自述文件

字符串

/

必需

Markdown (.md) 自述文件路径。

此路径相对于集合的根目录。

作者

列表

/

必需

集合内容作者的列表。

可以是姓名,也可以是格式为‘姓名 <电子邮件> (网址) @别称: irc/im.网站#频道’。

描述

字符串

集合的简短摘要描述。

许可证

列表

可以是单个许可证,也可以是集合中内容的许可证列表。

Ansible Galaxy 目前仅接受 SPDX 许可证

此键与 license_file 相互排斥。

许可证文件

字符串

集合许可证文件的路径。

此路径相对于集合的根目录。

此键与 license 相互排斥。

标签

列表

您想要与集合关联的用于索引/搜索的标签列表。

标签名称与 namespacename 具有相同的字符要求。

依赖关系

字典

此集合要使用,需要安装的集合。

字典的键是集合标签 namespace.name

值是版本范围 说明符

可以设置多个版本范围说明符,并用 , 分隔。

存储库

字符串

源 SCM 存储库的 URL。

文档

字符串

任何在线文档的 URL。

主页

字符串

集合/项目的首页 URL。

问题

字符串

集合问题跟踪器的 URL。

构建忽略

列表


version_added: 2.10

 

用于过滤构建工件中不应包含的任何文件或目录的文件通配符模式列表。

模式从集合目录的文件或目录的相对路径匹配。

这使用 fnmatch 来匹配文件或目录。

一些目录和文件,如 galaxy.yml*.pyc*.retry.git 始终被过滤。

manifest 相互排斥

清单

哨兵


version_added: 2.14

 

控制在构建集合工件时使用清单指令的字典。

directives 是 MANIFEST.in 风格的 指令 列表

omit_default_directives 是一个布尔值,它控制是否使用默认指令

build_ignore 相互排斥

示例

namespace: "namespace_name"
name: "collection_name"
version: "1.0.12"
readme: "README.md"
authors:
    - "Author1"
    - "Author2 (https://author2.example.com)"
    - "Author3 <[email protected]>"
dependencies:
    "other_namespace.collection1": ">=1.0.0"
    "other_namespace.collection2": ">=2.0.0,<3.0.0"
    "anderson55.my_collection": "*"    # note: "*" selects the highest version available
license:
    - "MIT"
tags:
    - demo
    - collection
repository: "https://www.github.com/my_org/my_collection"

另请参阅

开发集合

开发或修改集合。

开发模块

了解如何编写 Ansible 模块

使用 Ansible 集合

了解如何安装和使用集合。

邮件列表

开发邮件列表

irc.libera.chat

#ansible IRC 聊天频道