summaryrefslogtreecommitdiffstats
path: root/docs/templates/collections_galaxy_meta.rst.j2
blob: 09d11c3d9bcdbbfcd172587d77ec6d93b96b226e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
.. _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