ansible collectionsを公開するために必要なgalaxy.ymlの作成方法を調べた。というか和訳した。
例によって内容の保証はしない
galaxy.ymlの作成方法
以下の項目がすべて揃っている必要がある
-
namespace [required]
- 企業、ブランド等の名前がここに入る
- 英数字とアンダースコアのみ使用可
- ただしアンダースコア・数字を頭に使うのはNG
- アンダースコアの2連投もNG
-
name [required]
- コレクションの名前
- 命名ルールはnamespaceと同様
-
version [required]
- Semantic Versioningに従うこと
-
readme [required]
- README.mdへの相対パス
-
authors [required]
- フォーマットは以下
- ‘Full Name
(url) @nicks:irc/im.site#channel’
-
description
- コレクションの概要
-
license
- コレクションに含まれるライセンス
- Ansible galaxyではSPDX licensesのみ許容している
- license_fileと排他
-
license_file
- ライセンスファイルへの相対パス
- licenseと排他
-
tags
- 検索用のタグ付け
- 命名ルールはnamespaceと同様
-
dependencies
- このコレクションを使用するために必要なコレクション
- 複数指定可能
-
repository
- git等コードを管理しているレポジトリのURL
-
documentation
- オンラインのドキュメントがあればここにリンクを置く
-
homepage
- コレクションやプロジェクトのホームページ
-
issues
- コレクションのイシューへのリンク
Sample
namespace: "namespace_name"
name: "collection_name"
version: "1.0.12"
readme: "README.md"
authors:
- "Author1"
- "Author2 (https://author2.example.com)"
- "Author3 <author3@example.com>"
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"