集合 Galaxy 元数据结构

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

结构

galaxy.yml 文件必须包含以下键,并使用有效的 YAML 格式。

注释

namespace

字符串

/

必需

集合的命名空间。

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

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

name

字符串

/

必需

集合的名称。

具有与 namespace 相同的字符限制。

version

字符串

/

必需

集合的版本。

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

readme

字符串

/

必需

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

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

authors

列表

/

必需

集合内容作者的列表。

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

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