Collection Galaxy 元数据结构

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

结构

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

注释

namespace

字符串

/

必需

集合的命名空间。

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

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

name

字符串

/

必需

集合的名称。

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

version

字符串

/

必需

集合的版本。

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

readme

字符串

/

必需

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

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

authors

列表

/

必需

集合内容作者的列表。

可以只是名称,也可以采用“完整姓名 (url) @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聊天频道