集合 Galaxy 元数据结构

Ansible 集合的一个关键组件是位于集合根目录的 galaxy.yml 文件。该文件包含用于生成集合工件的集合元数据。

结构

The galaxy.yml file must contain the following keys in valid YAML

注释

namespace

字符串 

必需

集合的命名空间。

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

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

name

字符串 

必需

集合的名称。

namespace 具有相同的字符限制。

version

字符串 

必需

集合的版本。

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

readme

字符串 

必需

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

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

authors

列表 

必需

集合内容作者的列表。

可以只是姓名,也可以采用 “完整姓名 <电子邮件> (网址) @nicks:irc/im.site#channel” 格式。

description

字符串 

集合的简短摘要描述。

license

列表 

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

Ansible Galaxy 目前只接受 SPDX 许可证

此键与 license_file 相互排斥。

license_file

字符串 

集合的许可证文件的路径。

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

此键与 license 相互排斥。

tags

列表 

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

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

dependencies

字典 

此集合需要安装的其他集合,才能使用。

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

值是版本范围 说明符

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

repository

字符串 

源 SCM 存储库的 URL。

documentation

字符串 

任何在线文档的 URL。

homepage

字符串 

集合/项目的首页 URL。

issues

字符串 

集合问题跟踪器的 URL。

build_ignore

列表 


version_added: 2.10

 

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

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

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

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

manifest 相互排斥

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 聊天频道