80e7e1a17c
* Due to the takeover of freenode we're moving to a different irc network. * Our channels updated to point at the same channel name on libera.chat * Some links went to webchat.freenode.net. At this time, libera.chat doesn't point you to an official webchat client so I changed these to https://libera.chat. (kiwi irc does work with libera.chat so that could be another option). * In general, I used the name irc.libera.net for link names and https://libera.chat for link targets. This is because the irc service is hosted on irc.libera.chat but the project web server is hosted on libera.chat. (This appears to also be true for freenode but we were using http://irc.freenode.net which doesn't seem to work. Oops). * Removed http://irc.freenode.net from the linkcheck exceptions. linkcheck was actually correct to flag that as invalid (should have been http://frenode.net instead). * Looks like hte important people in #yaml are now in libera.chat * Link to where contributors should get help Add a link target and then link to where contributors should get support for developing groups of modules. * Update docs/docsite/rst/dev_guide/developing_modules_in_groups.rst Co-authored-by: Felix Fontein <felix@fontein.de> Co-authored-by: John R Barker <john@johnrbarker.com> Co-authored-by: Felix Fontein <felix@fontein.de>
98 lines
2.2 KiB
Django/Jinja
98 lines
2.2 KiB
Django/Jinja
.. _collections_galaxy_meta:
|
|
|
|
************************************
|
|
Collection Galaxy metadata structure
|
|
************************************
|
|
|
|
A key component of an Ansible collection is the ``galaxy.yml`` file placed in the root directory of a collection. This
|
|
file contains the metadata of the collection that is used to generate a collection artifact.
|
|
|
|
Structure
|
|
=========
|
|
|
|
The ``galaxy.yml`` file must contain the following keys in valid YAML:
|
|
|
|
|
|
.. rst-class:: documentation-table
|
|
|
|
.. list-table::
|
|
:header-rows: 1
|
|
:widths: auto
|
|
|
|
* - Key
|
|
- Comment
|
|
|
|
{%- for entry in options %}
|
|
|
|
|
|
* - .. rst-class:: value-name
|
|
|
|
@{ entry.key }@ |br|
|
|
|
|
.. rst-class:: value-type
|
|
|
|
@{ entry.type | documented_type }@ |_|
|
|
|
|
{% if entry.get('required', False) -%}
|
|
.. rst-class:: value-separator
|
|
|
|
/ |_|
|
|
|
|
.. rst-class:: value-required
|
|
|
|
required
|
|
{%- endif %}
|
|
|
|
{% if 'version_added' in entry -%}
|
|
|
|
.. rst-class:: value-added-in
|
|
|
|
|br| version_added: @{ entry.version_added }@
|
|
|
|
|_|
|
|
|
|
{%- endif %}
|
|
|
|
- {% for desc in entry.description -%}
|
|
@{ desc | trim | rst_ify }@
|
|
|
|
{% endfor -%}
|
|
{%- endfor %}
|
|
|
|
|
|
Examples
|
|
========
|
|
|
|
.. code-block:: yaml
|
|
|
|
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"
|
|
|
|
.. seealso::
|
|
|
|
:ref:`developing_collections`
|
|
Develop or modify a collection.
|
|
:ref:`developing_modules_general`
|
|
Learn about how to write Ansible modules
|
|
:ref:`collections`
|
|
Learn how to install and use collections.
|
|
`Mailing List <https://groups.google.com/group/ansible-devel>`_
|
|
The development mailing list
|
|
`irc.libera.chat <https://libera.chat/>`_
|
|
#ansible IRC chat channel
|